computer graphics 3 d transformations
DESCRIPTION
3D трансформации компютърна графикаTRANSCRIPT
Компютърна графикаКомпютърна графика
Тримерни координатни Тримерни координатни трансформациитрансформации
доц. М. Иванова
Технически университет - София
Тримерни координатни Тримерни координатни трансформациитрансформации
В тримерната графика координатните системи са дясноориентирани (фиг.1) и лявоориентиранa (фиг.2)
лявоориентирана е единствено координатната система на наблюдателя UVN
останалите са дясноориентирани
x
y
zX(V)
Z(N)
Ug
(U)Y
Фигура 1Фигура 2
Тримерни Тримерни трансформациитрансформации
Основните тримерни трансформации са същите както в двумерното пространство, а именно:
- транслация (преместване) - ротация (завъртане) около осите X, Y,
Z или около произволна ос - мащабиране по осите X, Y, Z или по
произволни оси , минаващи през центьра на координатната система
- огледален образ (симетрия) спрямо една от равнините XY, YZ, XZ или спрямо произволни равнини в тримерното пространство
x
y
z
Тримерни Тримерни трансформациитрансформации Координатите на точка образуват
матрица - ред от вида P = [X, Y, Z,
1] Тримерните координатни
трансформации се представят най-удобно чрез квадратни матрици [4 * 4] от вида:
• Елементите r1-r9 – свързани са с операциите ротация и мащабиране• t1-t3 – транслация• p1-p3 - централна проекция• к- служи за пропорционално мащабиране по трите оси, обикновено е 1
Тримерни Тримерни трансформациитрансформации Резултатът от матричното
умножение, осъществяващо координатната трансформация, е матрица - стълб с новите координати на точка P’
Тримерни Тримерни трансформациитрансформации В матрицата P’ освен трите координати X’, Y’ и Z’
участва и един допьлнителен елемент H, наречен мащабен коефициент. Четирите елемента образуват т.нар. хомогенни координати. Предимствата на хомогенните пред декартовите координати са:◦ всички видове координатни трансформации се
извършват еднотипно чрез матрично умножение;◦ перспективната проекция може да се обединява с
останалите координатни трансформации;◦ някои координатни трансформации могат да се
представят чрез една единствена трансформационна матрица;
◦ числовите стойности на координатите на точки могат да се контролират и ограничават в определен интервал;
◦ действията по обръщане и транспониране на матрици се улесняват, оттук се улесняват и обратните координатни трансформации;
◦ създава се възможност за представяне на точки в безкрайността (H = 0)
Тримерни Тримерни трансформациитрансформацииПрилагането на координатни трансформации върху точка,
представена с нейните хомогенни координати се извършва в две стъпки:
1.Извършва се умножение на текущите координати на точката с трансформационната матрица, при което се получава векторът с хомогенните координати:
.2. Извършва се преминаване от хомогенни в декартови координати чрез разделяне на мащабния коефициент H:
Тримерни Тримерни трансформациитрансформацииТранслацияX’ =X + Tx
Y’ = Y + Ty
Z’ = Z + Tz
или в матричен вид
1
0100
0010
0001
.1,,,1,'','.'
TzTyTx
ZYXZYXTPP
x
y
z
Tx
Tz
Тримерни Тримерни трансформациитрансформации
Транслация в равнината xz
Тримерни Тримерни трансформациитрансформации
РотацияПри рoтация около оста X се
получават уравненията
или
β
α
y
zy
Р
Р'
Тримерни Тримерни трансформациитрансформацииРотация около оста x
Тримерни Тримерни трансформациитрансформацииРотация около оста Y
или
1000
0cos0sin
0010
0sin0cos
Ry
Тримерни Тримерни трансформациитрансформацииРотация около оста y
Тримерни Тримерни трансформациитрансформацииРотация около оста Z
или
Тримерни Тримерни трансформациитрансформацииРотация около оста z
Тримерни Тримерни трансформациитрансформацииМащабиранеX’ = X * SxY’ = Y * Sy Z’ = Z * Sz
мащабиране без гледна точка
мащабиране с гледна точка
Sx 0 0 00 Sy 0 00 0 Sz 00 0 0 1
S =
Тримерни Тримерни трансформациитрансформацииМащабиране в равнината xy
Тримерни Тримерни трансформациитрансформацииОгледало (симетрия)
◦спрямо равнината YZ
Тримерни Тримерни трансформациитрансформацииспрямо равнината YX
Тримерни Тримерни трансформациитрансформацииспрямо равнината XZ 1 0 0 0 Gxz = 0 -1 0 0 0 0 1 0 0 0 0 1
Ротация около произволна ос, успоредна на една от оситеМ= T-1.Rx.T
Проекционни трансформации
Централна проекцияЦентрална проекция
y
x
z
Проекционна равнина Z=0
О (център на проекцията)
Централна проекцияЦентрална проекция
x
z
L
y
y
О
P
y'P'
проекционна равнина Z = -L
y'p
yp
P'
y
-z
L
P
zpO
Централна проекцияЦентрална проекция
Хомогенните координати на P' са:
, където коефициентът на хомогенните координати е H=1-Zp/L
Паралелна проекцияПаралелна проекция
z
y
x
Проекционна равнина Z=0
Паралелна проекцияПаралелна проекция
Трансформационната матрица за паралелна проекция с проекционна равнина XY и проекционни прави успоредни на оста Z има следния вид:
=
Ако проекционната равнина XY се намира на растояние q от равнината XY на координатната система (Z=q), то трансформационната матрица ще бъде: