Формирование видимого объема
Определения системы координат и привязанной к ней проекционной плоскости недостаточно для выполнения проекции, надо еще определить, что попадет в проекцию. В фотоаппарате размер кадра ограничивается рамкой, а глубина отображаемого на пленку изображения зависит от оптических свойств объектива.
Таким образом, перед проецированием необходимо определить некоторую часть мирового пространства, которая будет проецироваться на плоскость - видимый объем. Для его задания определим на проекционной плоскости окно, внутри которого будет располагаться проекция. Очевидно, что в ходе проецирования будут рассматриваться только те лучи-проекторы, которые пересекают картинную плоскость внутри окна. Лучи, проходящие через границы окна, будут ограничивать видимый объем. В случае центральной проекции видимый объем представляет собой неограниченную в одну сторону пирамиду с вершиной в центре проекции (см. рисунок 3.13). При параллельном проецировании видимый объем будет иметь форму неограниченного параллелепипеда, стороны которого параллельны направлению проецирования (см. рисунок 3.14). В некоторых ситуациях требуется сделать видимый объем конечным. Так, например, при проецировании расположенных близко к проекционной плоскости объектов в проекцию попадут только их отдельные фрагменты, дающие плохое представление об объекте. При центральном проецировании проекции сложных объектов, удаленных от плоскости проецирования, будут выглядеть расплывчатым пятном или даже точкой. При этом вычислительные затраты будут велики, а полезная информация от такой проекции чрезвычайно мала. Для ограничения видимого объема вводятся дополнительные передняя и задняя секущие плоскости. Они параллельны проекционной плоскости, а их нормали параллельны VPN. Положение данных плоскостей определяется расстояниями до них от опорной точки, заданными в видовой системе координат. Обратим внимание на то, как определить, какая плоскость является передней секущей, а какая задней секущей. Вектор взгляда, направленный от точки наблюдения в глубину сцены, параллельно VPN, сначала пересекает переднюю секущую плоскость, а затем заднюю. Форма полученного видимого объема зависит от вида проецирования. При параллельных проекциях объем будет иметь форму параллелограмма, при центральных проекциях – усеченной пирамиды. Для определения видимых объектов и их фрагментов необходимо произвести отсечение объектов сцены относительно видимого объема. Задача достаточно трудоемкая, так как для этого необходимо находить точки пересечения отрезков и поверхностей, произвольно ориентированных в пространстве. Задачу можно существенно упростить, приведя ее к частному случаю. Есть видимые объемы, относительно которых отсечение производится значительно легче. Такие объемы носят название канонических объемов. Примером канонического объема для параллельных проекций может служить объем, заданный шестью плоскостями: x = 0, x = 1, y = 0, y = 1, z = 0, z = 1. Однако на практике чаще используется другой объем, определяемый следующими плоскостями: x = -1, x = 1, y = -1, y = 1, z = -1, z = 1. Такой объем более удобен для вычислений в силу своей симметричности относительно начала координат. Недостатком является длина ребра куба, равная двум. Для преобразования произвольно ориентированного видимого объема к каноническому необходимо выполнить достаточно очевидную композицию преобразований: 1) преобразование переноса, совмещающее VRP с началом координат; 2) преобразование поворота, совмещающее VPN с отрицательной полуосью Z; 3) преобразование поворота, в результате которого вектор v совмещается с осью y; 4) преобразование перехода к левосторонней координатной системе (обращение знака у величин, определяющих координату Z); 5) преобразование масштабирования, приводящее видимый объем к каноническому кубу. Далее необходимо произвести отсечение относительно канонического объема. Методы и алгоритмы отсечения будут рассмотрены нами в конце курса. При центральном проецировании канонический объем имеет форму усеченной пирамиды, грани которой описываются уравнениями x = ± z, y = ± z, z=1, z=zmin. Процедура перехода к такому объему подобна рассмотренной нами процедуре.
Заключение
Таким образом, мы рассмотрели структуру конвейера визуализации, основные координатные системы и связанные с ними трансформации. Разобрали простейшее преобразование координатных систем на плоскости и основные этапы визуализации пространственных объектов.
|