Проблемы с оптикой

  • Автор темы Aim Destroyer
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

Aim Destroyer

#1
Я сейчас пишу програму на Delphi по работе с оптикой. А суть ее вот в чём --- дано 2 рисункa bmp. Первый --- обычний, второй --- в оттенках серого. Програма должна показать как будет выглядеть первий рисунок под пластинкой из прозрачного материала, например стекла. Весь прикол состоит в том что стекло не плоское.... Стекло размером в первый рисунок и толщина каждой его точки задается значением точки второго рисунка (вроде 1..255). Как же определить деформацию первого рисунка в каждой точке? Подскажите плииз :)
 
Z

Zuzlan

#2
Я сейчас пишу програму на Delphi по работе с оптикой. А суть ее вот в чём --- дано 2 рисункa bmp. Первый --- обычний, второй --- в оттенках серого. Програма должна показать как будет выглядеть первий рисунок под пластинкой из прозрачного материала, например стекла. Весь прикол состоит в том что стекло не плоское.... Стекло размером в первый рисунок и толщина каждой его точки задается значением точки второго рисунка (вроде 1..255). Как же определить деформацию первого рисунка в каждой точке? Подскажите плииз :)
Ого) Не из простых задачка)
//Надеюсь, что форма линзы будет стандартной и в ней не будет использовано 2 и больше точек фокуса...
Первое что мне пришло в голову - это эффект "Рыбий глаз". В каком то довольно старом графической редакторе я его уже наблюдал, просто там была приведена формула этого эффекта.
Изображение выходит где то таким:

Что же касается искревления формы линзы, то там нужно будет просто поиграться с параметрами в той формуле...
Ничего лучше пока не придумал =)
 
Статус
Закрыто для дальнейших ответов.