ВУЗ:
Составители:
Рубрика:
Если поместить проекционную плоскость в начало координат, а точку наблюдения на расстояние –
d
, как показано на
рис. 5.3 (вариант 2), то формулы для
p
x
и
p
y
примут вид:
)/(1 dz
x
x
p
+
=
;
)/(1 dz
y
y
p
+
=
. (5.2)
Формулы (5.2) более удобны при необходимости простым образом приближать или удалять наблюдателя от проекци-
онной плоскости. Формулы (5.1) требуют меньше времени для вычислений за счёт отсутствия операции сложения.
Рис. 5.4. Косоугольная параллельная проекция единичного куба
Для косоугольных проекций (рис. 5.4) проекторы пресекают проекционную плоскость под непрямым углом. Для воен-
ной косоугольной проекции этот угол составляет 45 градусов, а для кабинетной – 63,4 градуса. Математические соотноше-
ния формул косоугольной проекции произвольного
3D
объекта базируются на формулах косоугольной проекции единичного
куба (ребро длиной 1).
Из рисунка 5.4 видно, что проекцией точки
P
(0, 0, 1), находящейся на задней стороне единичного куба, является точка
(
)
)sin(),cos( αα
′
LLP
, принадлежащая, плоскости
XY
.
Математические соотношения для косоугольной параллельной проекции произвольного
3D
объекта имеют вид
));cos(( α+= Lzxx
p
)).sin(( α+= Lzyy
p
Для
военной
проекции
L
= 1,
а
для
кабинетной
проекции
L
= 0,5.
Угол
α
обычно
выбирают
30
°
или
45
°
.
Не
следует
пу
-
тать
этот
угол
с
углом
между
проекторами
и
проекционной
плоскостью
.
6. РАСТРОВОЕ ТЕКСТУРИРОВАНИЕ
Для
отображения
трёхмерных
объектов
часто
используются
полигональные
поверхности
,
каждая
грань
отображается
с
нало
-
женной
текстурой
[23].
Задача
текстурирования
формулируется
таким
образом
:
есть
грань
–
согласно
предположениям
,
тре
-
угольная
.
И
имеется
изображение
текстуры
в
виде
двумерного
массива
значений
цветов
точек
.
Для
каждой
точки
полигона
(
x
,
y
)
требуется
найти
её
цвет
из
соответствующей
точки
текстуры
.
А
для
этого
необходимо
найти
координаты
текстуры
(
x
т
,
y
т
)
для
этой
точки
.
Преобразование
координат
точек
из
значений
(
x
,
y
)
в
(
x
т
,
y
т
)
может
быть
,
например
,
аффинное
:
,
;
т
т
FEyDxy
CByAxx
++=
++=
где
коэффициенты
А
,
В
–
константы
при
пересчёте
координат
всех
пикселей
для
отдельной
текстурированной
грани
.
Такое
преобразование
координат
можно
использовать
,
если
привязать
текстуру
к
грани
по
трём
опорным
точкам
(
см
.
рис
. 6.1).
Связь
текстуры
с
гранью
по
трём
точкам
соответствует
уравнениям
:
,
;
т
т
FEyDxy
CByAxx
ii
i
ii
i
++=
+
+
=
где
i
= 1, 2, 3.
По
известным
координатам
(
x
т
i
,
y
т
i
)
и
(
x
i
,
y
i
)
можно
найти
коэффициенты
A
,
B
, …,
F
,
если
решить
систему
линейных
уравнений
.
Эта
система
распадается
на
две
независимые
системы
третьего
порядка
.
Для
упрощения
записи
заменим
x
т
i
на
Xi
,
а
y
т
i
на
Yi
:
,
,
,
333
222
111
CByAxX
CByAxX
CByAxX
++=
++=
+
+
=
.
,
,
333
222
111
FEyDxY
FEyDxY
FEyDxY
++=
++=
+
+
=
Для
решения
систем
линейных
уравнений
известно
множество
способов
.
Используем
способ
,
основанный
на
вычисле
-
нии
определителей
.
Запишем
решение
системы
в
следующем
виде
:
.111
213132321
213132321
det;/))()()((det/det
det;/))()()((det/det
ByAxXC
XXxXXxXXxBB
yyXyyXyyXAA
−−=
−+−+−==
−
+
−
+
−
=
=
Таким
же
способом
решаем
систему
уравнений
для
коэффициентов
D
,
E
,
F
:
Y
X
α
P
′
L
Z
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »