Изображение трехмерных объектов
Процесс вывода трехмерной графической информации более сложный, чем соответствующий двумерный процесс. В двумерном случае просто задается окно в двумерном мировом координатном пространстве и поля вывода на двумерной видовой поверхности. В общем случае объекты, описанные в мировых координатах, отсекаются по границе видимого объема, а после этого преобразуются в поле вывода для дисплея. Сложность, характерная для трехмерного случая, возникает потому, что видовая поверхность не имеет третьего измерения.
Несоответствие между пространственными объектами и плоскими изображениями устраняется путем введения проекций, которые отображают трехмерные объекты на двумерной проекционной картинной плоскости (КП).
Рис. 6.19. Процесс вывода трехмерной графической информации
Процесс получения изображения из трехмерной модели называется визуализацией или рендерингом. Кроме этапов, представленных на рис. 6.19, процесс рендеринга включает удаление невидимых граней и поверхностей, вычисление теней, полупрозрачных объектов, растеризацию объектов и закраску с учетом источников освещения, текстур и материалов.
Видимый объем
В процессе вывода трехмерной графической информации (рис. 6.19) мы задаем видимый объем (ВО) в мировом пространстве, проекцию на КП и поле вывода на видовой поверхности. В общем случае объекты, определенные в трехмерном мировом пространстве, отсекаются по границам трехмерного видимого объема и после этого проецируются. То, что попадает в пределы окна, которое само является проекцией видимого объема на картинную плоскость, затем преобразуется (отображается) в поле вывода и отображается на графическом устройстве.
Рис. 6.20. Картинная плоскость и определяющие ее параметры
Картинная плоскость определяется (рис. 6.20) некоторой точкой на плоскости, которую будем называть опорной точкой (ОТ) и нормалью к картинной плоскости (НКП). КП может произвольным образом располагаться относительно проецируемых объектов, заданных в мировых координатах. Она может пересекать их, проходить впереди или позади объектов.
Для того чтобы задать окно, нам необходима система координат на КП, которую назовем системой координат UV. Началом ее служит ОТ. Направление оси V на КП определяет вектор вертикали (ВВ): проекция ВВ на КП совпадает с осью V.
ОТ и два направления вектора НКП и ВВ определяются в правосторонней мировой системе координат. Имея на КП систему UV, можем задать минимальное и максимальное значения U и V, определяющие окно (рис. 6.21).
Рис. 6.21. Окно вывода на картинной плоскости
Отметим, что окно не обязательно должно быть симметрично относительно ОТ.
Видимый объем частично определяется окном и ограничивает ту часть мирового пространства, которая будет спроецирована.
В случае центральной проекции ВО определяется также центром проекции (рис. 6.22). Этот параметр задается в мировых координатах относительно ОТ. ВО представляет собой неограниченную в одну сторону пирамиду, вершина которой находится в центре проекции, а боковые стороны проходят через окно.
Рис. 6.22. Видимый объем для центральной проекции
Точки, лежащие позади центра проекции, не включаются в ВО и, следовательно, не будут проецироваться.
Рис. 6.23. Видимый объем параллельной проекции
В случае параллельных проекций ВО определяется также направлением проецирования (рис. 6.23). Он представляет собой неограниченный параллелепипед, стороны которого параллельны направлению проецирования.
В общем случае направление проецирования может не совпадать с НКП.
В случае ортографических параллельных проекций (но не косоугольных) боковые стороны ВО перпендикулярны КП.
В некоторых случаях может потребоваться сделать ВО конечным (рис. 3.24–3.26). Для этого задаются ПСП (передняя секущая плоскость) и ЗСП (задняя секущая плоскость).
Рис. 6.24. Усеченный ВО для центральной проекции
Рис. 6.25. Усеченный ВО для ортографической параллельной проекции
Рис. 6.26. Усеченный ВО для косоугольной параллельной проекции
Нормаль НКП направлена относительно направления проецирования и также является нормалью к ПСП и ЗСП.