Построение изображений каркасов 3D-объектов на экране (рендеринг).



Модель построения изображений каркасов 3D – объектов на экране монитора.

 

1. Каждый объект задается в своей ЛСК (список вершин, список ребер). Желательно, чтобы начало координат ЛСК(0,0,0) являлось центром симметрии или центром масс.

2. Преобразование в ЛСК.   Обычно:

- масштабирование для выбора оптимального размера объекта на экране S(Sx,Sy,Sz).

- вращение вокруг осей проходящих через объект: Rx(q), Ry(q), Rz(q).

3. Перенос в МСК.

МСК – СК, в которой строится сцена и которая совмещена с наблюдателем и экранной плоскостью (для простоты).

Объекты из ЛСК переносятся в МСК в расчетные точки (построение сцены)

Переносится начало координат ЛСК в расчетную точку: T(∆X,∆Y∆Z)

4. Преобразование в МСК. Обычно:

- перенос T(dx,dy,dz) по одной или нескольким осям.

- поворот вокруг произвольных осей Rx(q), Ry(q), Rz(q).

 

5. Проекция на экранную плоскость.

МСК – 3D, ГСК монитора – 2D

Проекция – преобразование СК размерности N d в СК размерности (N-1).

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

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

Центральная проекция порождает визуальный эффект перспективного укорачивания, подобный тому, к которому приводят фотографические системы. Т.е. размер центральной проекции объекта изменяется обратно пропорционально расстоянию от центра проекции до объекта. Это означает, что, хотя центральная проекция объектов является реалистичной, она оказывается непригодной для представления точной формы и размеров объектов: из проекции нельзя получить информацию о расстояниях; углы сохраняются только на тех гранях объекта, которые параллельны проекционной плоскости; проекции параллельных линий в общем случае не параллельны.

Параллельная проекция порождает менее реалистичное изображение, поскольку отсутствует перспективное укорачивание. Проекция фиксирует истинные размеры, параллельные прямые остаются параллельными. Как и в случае центральной проекции, углы сохраняются только на тех гранях объекта, которые параллельны проекционной плоскости (САПР).

 

6. Преобразование нормирования.

Устройства для вывода изображения могут быть различными: монитор, принтер и др. У каждого устройства свое разрешение, поэтому вводят аппаратно-независимые нормированные координаты.

НСК – СК независящая от устройств, нормированная в интервал [0..1].

ГСК зависит от конкретного устройства и его режима работы.

2D МСК -> НСК -> ГСК

В МСК 2D задаем окно, в НСК – поле вывода.

Окно – предварительно выделенная часть 2D МСК прямоугольной формы, параллельной осям координат.

Поле вывода – предварительно выделенная часть НСК прямоугольной формы, параллельной осям координат.

Преобразование нормирования – отображает границу и внутреннюю часть окна в границу и внутреннюю часть поля вывода.

Отсечение – удаление элементов изображения, лежащих вне заданной границы (окна или поля вывода).

Точка Poн должна располагаться относительно границ поля вывода так же, как Pом относительно границ окна =>

 

                                     Kx                                                    Ky

Действия:

Перенос: Tм (-Xм min, -Yм min)

Масштабирование: М (Kx, Ky, 0)

Перенос: Tн (Xн min, Yн min)

 

Действия:

Tм (А/2, В/2)   X н = 1/А (Хм+А/2)

М (1/А, 1/В)    Y н = 1/ B ( Y м+ B /2)

Tн (0, 0)

7. Преобразование в ГСК.

H, V – ед. измерения – пиксели, координаты только целочисленные. Y – направлен вниз

Действия:

Перенос:  Tн (0, -1)

Масштабирование:  Мг (H, -V)

X г = round (H*X н )

Y г = round (-V*(Y н -1)) = round (V*(1-Y н ))

для сохранения пропорциональности А:В = 4/3 («одноглазой»)– для большинства режимов, а также пропорций 16:9, 16:10 – «двуглазых»

 

8. Вывод изображения в ГСК на экран монитора.

на 7 этапе получили для каждой вершины координаты пикселя на экране монитора.

Вывод на экран либо прямо в видеобуфер, либо с помощью подпрограмм графического расширения языков ВУ.

Ребра:   1). Растровая развертка отрезка;   2). П/п языка ВУ (LINE, например).

 

9. Организация движения:

9.1. начальная точка в МСК  Ро(Хо, Уо, Zо)

9.2. законы движения:  повороты ЛСК, переносы, повороты в МСК.

Параметры: Dx, Dy, Dz – переносы, Dq - повороты.

Зависят от скорости движения. Для равномерного движения изображение объекта должно изменяться  > 10 р/с => можно подобрать опытным путем.

q = q + Dq

x = x + Dx

y = y + Dy

z = z + Dz

- для расчета поля объектов в ЛСК или новой точки в МСК.

1. Сдвиг в МСК.

2. Сдвиг в ЛСК.

Первый способ лучше, если есть преобразование в ЛСК.

 


Дата добавления: 2020-11-15; просмотров: 76; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!