Название: Цифровое моделирование на C#
Автор: Дмитрий Павлов
Издательство: Издательские решения
isbn: 9785006286184
isbn:
Аналогичные рассуждения можно провести и в плоскости YOZ. Таким образом, если центр проекции находится в точке (0, 0, -Zc), то новые координаты точки с учетом перспективного преобразования можно вычислить по формуле ниже.
x’, y’ – координаты точки с учетом перспективы; x, y, z – исходные координаты точки.
При одноточечной проекции учитывается только Z-координата. При удалении точки по оси Z от центра проекции его координаты по X и Y будут стремиться к нулю.
Перспективные преобразования, в отличии от, например, вращения и масштабирования, являются мнимыми, они не влияют на форму и положение предметов, а являются лишь кажущимися. Это означает, например, что если к 3D-модели перед отображением были применены перспективные преобразования, то после отображения они должны быть отменены.
Посмотрите, как выглядит цифровая модель куба в приложении Advanced3DModels (см. дополнительные материалы) с применением одноточечной проекции:
рис. 2.6
Полигональные модели
Полигональное моделирование – это разновидность трехмерного моделирования. Модель при этом задается набором точек. Если три точки заданы в качестве вершин и соединены ребрами, то они формируют треугольник (полигон), который имеет цвет или текстуру. Совокупность таких треугольников позволяет смоделировать практически любой объект. Недостаток полигонального моделирования состоит в том, что сами треугольники должны иметь очень маленький размер, иначе объект будет иметь огранённый вид. Это означает, что если для модели на сцене предполагается увеличение, ее необходимо моделировать с большим количеством полигонов, даже несмотря на то, что большинство из них будут лишними при удалении от объекта. Тем не менее, для простого моделирования такой подход считается вполне приемлемым.
Реалистичное освещение полигональных моделей
В этой части нашего повествования мы разберем способы, позволяющие моделировать освещение трехмерного объекта. Сначала давайте разберем особенности восприятия мира посредством органов зрения. Человек, по сути, видит мир плоским. Сетчатка глаза плоская, а, следовательно, и само изображение, спроецированное на сетчатку, тоже является плоским. Тем не менее, мы воспринимаем мир вокруг себя как объемный, имеющий глубину. Это достигается за счет того, что мозг подвергает плоскую картинку «цифровой» обработке, благодаря которой человек способен видеть объем и форму. На процесс формирования объемного изображения также большое значение оказывает тот факт, что человек имеет два глаза. Из разности изображений, мозг извлекает дополнительную информацию об объеме. Но самую большую информацию о форме объекта человек получает из игры света и тени, а также за счет бликов на его поверхности. Таким образом, реалистичное освещение модели является очень важной частью трехмерного моделирования.
Для полигональных моделей освещение сводится к освещению совокупности треугольников СКАЧАТЬ