Оглавление Дополнительное чтение Учебник «Компьютерная графика» Лекция 03. Аффинное проецирование Лекция 05. Стереографическая и специальные перспективные проекции

Часть I / Лекция 04. Перспективное проецирование

На прошлой лекции мы говорили о наиболее важных проекциях, ипользующихся в аффинной геометрии. Перейдем теперь к рассмотрению перспективной геометрии и нескольких новых видов проецирования.

На фотографиях, картинах, экране изображения кажутся нам естественными и правильными. Эти изображения называют перспективными. Свойства их таковы, что более удаленные предметы изображаются в меньших масштабах, параллельные прямые в общем случае непараллельны. В итоге геометрия изображения оказывается достаточно сложной, и по готовому изображению сложно определить размер тех или иных частей объекта.

Обычная перспективная проекция — это центральная проекция на плоскость прямыми лучами, проходящими через точку — центр проецирования. Один из проецирующих лучей перпендикулярен к плоскости проецирования и называется главным. Точка пересечения этого луча и плоскости проекции — главная точка картины.

Существует три системы координат. Обычно программист работает и держит данные о геометрических объектах в мировых координатах. Для повышения реалистичности при подготовке к выводу изображения на экран данные об объектах из мировых координат переводят в видовые координаты. И только в момент вывода изображения непосредственно на экран дисплея переходят к экранным координатам, которые представляют собой номера пикселов экрана.

Первые две системы могут использоваться в многомерных системах координат, но последняя только в двухмерной. Операции являются необратимыми, то есть из двухмерной картинки-проекции невозможно восстановить трехмерное изображение.

Матрица общего перспективного преобразования

В этой матрице элементы a, d, е отвечают за масштабирование, m, n, L — за смещение, p, q, r — за проецирование, s — за комплексное масштабирование, х — за вращение.

Одноточечное проецирование на плоскость z = 0

Суть этого проецирования такова: чем глубже находится предмет, тем больше становится значение z-координаты и знаменателя rz + 1, и, следовательно, тем мельче выглядит предмет на плоскости проекции. Выполним несложные выкладки и поясним их графически:
уравнение x'/F = x/(F + zпр) равносильно: x' = xF/(F + zпр) = x/(1 + zпр/F) = x/(1 + rzпр), где r = 1/F, F — фокус.

рис. 4.1

Для того, чтобы точки, лежащие на линии, параллельной оси z, не терялись друг за другом, используется одноточечное проецирование на линию (см. матрицу преобразования и рис. 4.2); исчезла z-координата, но, поскольку дальние предметы стали более мелкими, чем такие же близкие, у зрителя появляется ощущение глубины. Запомните: это первый способ передачи глубины на плоскости!

рис. 4.2

А теперь для примера отобразим куб, стороны которого равны единице (см. рис. 4.3), на плоскость z = 0; пусть на оси z фокус F = -10 и, следовательно, r = -1/10 = -0.1:

рис. 4.3

В плоскости экрана после преобразования мы будем иметь следующее изображение:

рис. 4.4

Обратите внимание: если бы центр тяжести куба находился в точке (0, 0, 0), куб выглядел бы более «традиционно»:

рис. 4.5

Двухточечное проецирование

Если проекция двухточечная (например, по p <> 0 и q <> 0), то имеются две точки схода на соответствующие оси. Обратите внимание: так как по z в данном случае реализуется параллельное проецирование, то удвоения контура куба на экране (x, y) нет. Меняя p и q, мы регулируем точку схода:

рис. 4.6

Трехточечное проецирование по p, q, r

В данном случае p <> 0, q <> 0, r <> 0, и проекция будет иметь следующий вид:

рис. 4.7

Дополнительное чтение Перспективное проецирование
Скачать Скачать Stratum-проект «Трехточечное проецирование» [3pproection.spj, 10 Кб]
Лекция 03. Аффинное проецирова... Лекция 05. Стереографическая и...