В некоторых других приложениях ориентацию камеры удобно описывать в полярных, а не прямоугольных координатах. В частности, это приходится делать в приложениях, где одни объекты вращаются вокруг других. Рассмотрим, например, каким образом задается положение светила на небосводе. Направление взгляда наблюдателя на светило задается углами возвышения (elevation) и азимута (azimuth) (рис. 5.19). Угол возвышения отсчи-тывается от горизонтальной плоскости. Азимут - это угол, который отсчитывается от координатной оси, лежащей в горизонтальной плоскости, до проекции линии визирования на эту плоскость. При таком способе задания ориентации камеры, ось проекции которой совмещается с линией визирования, остается еще одна степень свободы - возможность поворачивать камеру вокруг оси проекции, задавая угол кручения (twist angle).
Рис. 5.19. Возвышение и азимут
5.3. Проецирование Те, кто увлекаются фотографией, знают, что после установки камеры нужно выбрать подходящий объектив или настроить фокусное расстояние трансфокатора. Как было показано в главе 1, зона захвата камеры зависит от размеров пленки и характеристик объектива. В компьютерной графике имеет место аналогичная ситуация - какие объекты будут включены в изображение, зависит от выбора типа проецирования и параметров визуализации.
В фотографии широкоугольный объектив дает наиболее ощутимую перспективу - объекты, расположенные близко к камере, имеют на отпечатке гораздо большие размеры, чем объекты, несколько отстоящие от камеры. И наоборот, длиннофокусные объективы (их часто называют телеобъективами) скрадывают перспективу, уравнивая размеры объектов. Говорят, что такое изображение "плоское", приближающееся по характеру к тому, что создается при параллельном проецировании. В большинстве графических API параллельное и перспективное проецирования рассматриваются как два разных типа, причем каждому из них соответствует свой набор функций обработки. Такой же подход реализован и в OpenGL, хотя и для того, и для другого используется тот же конвейер обработки, как мы увидим в разделах 5.8 и 5.9.