Академический Документы
Профессиональный Документы
Культура Документы
Учреждение образования
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Контрольная работа
На тему «Использование матричных преобразований трехмерного пространства
в компьютерной графике»
Минск 2021
Содержание
4
1.1 Трехмерное вращение (rotation)
Нормализованные координаты:
x* = x·cosθ – y·sinθ,
y* = x·sinθ + y·cosθ,
z* = z,
6
1.2 Растяжение-сжатие (dilatation)
Нормализованные координаты:
x* = ax,
y* = ey,
z* = jz.
Если коэффициент растяжения-сжатия меньше 1, происходит сжатие, а
если больше 1, то растяжение.
Нормализованные координаты:
x* = –x,
y* = y,
z* = z.
7
Матрица отражения относительно плоскости ZX:
Нормализованные координаты:
x* = x,
y* = –y,
z* = z.
Матрица отражения относительно плоскости XY:
Нормализованные координаты:
x* = x,
y* = y,
z* = –z.
Нормализованные координаты:
x* = x+l,
y* = y+m,
z* = z+n.
8
2. Пример аффинных преобразований в пространстве
9
Шаг 2. Поворот объекта вокруг оси Z на угол θ. Синус и косинус этого угла
определяется из проекции вектора направления L на плоскость XY (Рис. 2.2):
sinθ = l/d, cosθ = m/d.
Здесь d = sqrt(l2+m2). Матрица поворота:
10
Косинус и синус угла определяются через вектор направления L и его
проекции на ось Z и плоскость XY:
sin = n, cos = d.
Матрица поворота вокруг оси Y на угол будет иметь вид:
11
Для выполнения преобразования полученные матрицы можно
перемножить и получить обобщенную матрицу преобразования. Однако в
большинстве случаев выполнение последовательности отдельных
преобразований оказывается более экономичным в смысле количества
элементарных арифметических операций, так как коэффициенты общей матрицы
преобразования оказываются сложными.
12
3. Проективные преобразования
14
Глаз воспринимает длину отрезка через его угловой размер. Для отрезка
A угловой размер равен углу α, для отрезка B угловой размер равен β.
Определить угловые размеры отрезка A длиной x A через расстояние dA до него
можно через тангенс:
Из нее следует:
Аналогично получим:
15
Из него следует важный вывод — отношение проекций зависит от
расстояний до объектов и не зависит от положения картинной плоскости.
Позднее, при рассмотрении простого перспективного преобразования, мы
вернемся к этому выводу и рассмотрим его более детально.
Перспективное изображение обладает большей реальностью. Проекция —
это плоское изображение. Все отрезки равной длины при параллельном
проектировании, будут иметь равную длину на картинной плоскости. Для глаза
эти равные по длине отрезки будут восприниматься как имеющие равную длину,
так как картинка находится на одном и том же расстоянии от глаза. Именно
поэтому изображение должно быть немного искажено, чтобы на плоском
изображении отобразить разность в удалении объектов от точки зрения. На Рис.
3.3 изображены два куба. Слева изображение куба получено при помощи
параллельной проекции, а справа — при помощи перспективной.
Куб слева кажется неестественным потому, что его задняя грань имеет
такой же размер, как и передняя. У куба справа ребра, направленные к задней
грани, не параллельны друг другу, и именно это несоответствие создает
впечатление правильности. Этим приемом издавна пользуются художники и
архитекторы при создании трехмерных, пространственных изображений.
Переходя к проецированию, используем аналогию в формировании
16
изображения при помощи лучей, исходящих из точки зрения. На Рис. 3.4
показана модель получения перспективной проекции P* точки P.
Проектирующий луч исходит из точки, расположенной на расстоянии k от
центра. Преобразованная координата x* получаются в плоскости проекции так
же, как и в параллельной проекции — при пересечении плоскости
проектирующим лучом. Рассматривая подобные треугольники в плоскости XZ,
получим соотношение:
из которого следует:
17