Перенос баз данных с одного SQL Server на другой Изменения в системе защиты SQL Server Новые средства разработки Новые элементы программирования на языке Visual Basic Редактирование и анализ данных с помощью запросов

Лекции по компьютерной графике начало

  10.2. Рассмотрим пример:


Координаты точек:

Наблюдатель смотрит вертикально вниз.

Для центра проекции левого глаза и центра проекции правого глаза мы имеем

следующие координаты:

 

 

 

В системе координат ОХY:

 

Используя эти формулы получаем:

   ; , где

р – полупаралакс:

 , где F – фокусное расстояние

Найдём значение :

 

 ;  


Для каждой точки можно наити изображение для левого и правого снимка.

Пусть у нас есть:


 Поле высот Z(X,Y) Фотография V(X,Y) 

Для того чтобы получить желаемое необходимо:

Обоити все точки поля V и для каждой из них, обратившись в поле Z, получим

высоту Z(X,Y), уже имея яркость V(X,Y). Зная высоту, подставим её в формулу полупаралакса. Затем в левое поле записываем яркость V в точку (X-p,Y), а в

правое поле записываем яркость V в точку (X-p,Y).

Недостаток этого механизма:

При заполнении Vл и Vп некоторые точки могут быть не заполнены.

В качестве исходных данных мы задаём минимальный и максимальный полупа-

ралакс:

 

Для рассматриваемой задачи:

 

 от размера изображения по горизонтали (т.е. от )

Решив следующую систему, можно найти B и F:

И далее подставить их в формулу полупаралакса:

 , где


 

, где Zp – высота наблюдателя

Отсюда следует следующее:

А при :

Далее вместо поля вывода будем использовать буфер глубины.

В буфере глубины содержится информация об удалённости точки от наблюда-

теля, а в поле вывода тоже фактически содержится информация об отдалённос-


ти точки (о высоте).

 

Используя формулу :

  , которая была получена ранее получаем, что:

 , а так как  , то  ; 

Следовательно формула полупаралакса будет выглядеть следующим образом:

 


С помощью буфера глубины можно синтезировать изображение:

Дизайн, инженерная и Web графика