computer graphics 3 d transformations

27
Компютърна графика Компютърна графика Тримерни координатни Тримерни координатни трансформации трансформации доц. М. Иванова Технически университет - София

Upload: malinka-ivanova

Post on 25-Jan-2015

2.312 views

Category:

Art & Photos


0 download

DESCRIPTION

3D трансформации компютърна графика

TRANSCRIPT

Page 1: Computer Graphics 3 D Transformations

Компютърна графикаКомпютърна графика

Тримерни координатни Тримерни координатни трансформациитрансформации

доц. М. Иванова

Технически университет - София

Page 2: Computer Graphics 3 D Transformations

Тримерни координатни Тримерни координатни трансформациитрансформации

В тримерната графика координатните системи са дясноориентирани (фиг.1) и лявоориентиранa (фиг.2)

лявоориентирана е единствено координатната система на наблюдателя UVN

останалите са дясноориентирани

x

y

zX(V)

Z(N)

Ug

(U)Y

Фигура 1Фигура 2

Page 3: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформации

Основните тримерни трансформации са същите както в двумерното пространство, а именно:

- транслация (преместване) - ротация (завъртане) около осите X, Y,

Z или около произволна ос - мащабиране по осите X, Y, Z или по

произволни оси , минаващи през центьра на координатната система

- огледален образ (симетрия) спрямо една от равнините XY, YZ, XZ или спрямо произволни равнини в тримерното пространство

x

y

z

Page 4: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформации Координатите на точка образуват

матрица - ред от вида P = [X, Y, Z,

1] Тримерните координатни

трансформации се представят най-удобно чрез квадратни матрици [4 * 4] от вида:

 

• Елементите r1-r9 – свързани са с операциите ротация и мащабиране• t1-t3 – транслация• p1-p3 - централна проекция• к- служи за пропорционално мащабиране по трите оси, обикновено е 1

Page 5: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформации Резултатът от матричното

умножение, осъществяващо координатната трансформация, е матрица - стълб с новите координати на точка P’

Page 6: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформации В матрицата P’ освен трите координати X’, Y’ и Z’

участва и един допьлнителен елемент H, наречен мащабен коефициент. Четирите елемента образуват т.нар. хомогенни координати. Предимствата на хомогенните пред декартовите координати са:◦ всички видове координатни трансформации се

извършват еднотипно чрез матрично умножение;◦ перспективната проекция може да се обединява с

останалите координатни трансформации;◦ някои координатни трансформации могат да се

представят чрез една единствена трансформационна матрица;

◦ числовите стойности на координатите на точки могат да се контролират и ограничават в определен интервал;

◦ действията по обръщане и транспониране на матрици се улесняват, оттук се улесняват и обратните координатни трансформации;

◦ създава се възможност за представяне на точки в безкрайността (H = 0)

Page 7: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформацииПрилагането на координатни трансформации върху точка,

представена с нейните хомогенни координати се извършва в две стъпки:

1.Извършва се умножение на текущите координати на точката с трансформационната матрица, при което се получава векторът с хомогенните координати:

.2. Извършва се преминаване от хомогенни в декартови координати чрез разделяне на мащабния коефициент H:

Page 8: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформацииТранслацияX’ =X + Tx

Y’ = Y + Ty

Z’ = Z + Tz

или в матричен вид

1

0100

0010

0001

.1,,,1,'','.'

TzTyTx

ZYXZYXTPP

x

y

z

Tx

Tz

Page 9: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформации

Транслация в равнината xz

Page 10: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформации

РотацияПри рoтация около оста X се

получават уравненията 

  

или 

β

α

y

zy

Р

Р'

Page 11: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформацииРотация около оста x

Page 12: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформацииРотация около оста Y

 

или

1000

0cos0sin

0010

0sin0cos

Ry

Page 13: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформацииРотация около оста y

Page 14: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформацииРотация около оста Z 

или

Page 15: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформацииРотация около оста z

Page 16: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформацииМащабиранеX’ = X * SxY’ = Y * Sy Z’ = Z * Sz

  

мащабиране без гледна точка

мащабиране с гледна точка

Sx 0 0 00 Sy 0 00 0 Sz 00 0 0 1

S =

Page 17: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформацииМащабиране в равнината xy

Page 18: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформацииОгледало (симетрия)

◦спрямо равнината YZ

 

Page 19: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформацииспрямо равнината YX

Page 20: Computer Graphics 3 D Transformations

Тримерни Тримерни трансформациитрансформацииспрямо равнината XZ 1 0 0 0 Gxz = 0 -1 0 0 0 0 1 0 0 0 0 1 

Page 21: Computer Graphics 3 D Transformations

Ротация около произволна ос, успоредна на една от оситеМ= T-1.Rx.T

Page 22: Computer Graphics 3 D Transformations

Проекционни трансформации

Page 23: Computer Graphics 3 D Transformations

Централна проекцияЦентрална проекция

y

x

z

Проекционна равнина Z=0

О (център на проекцията)

Page 24: Computer Graphics 3 D Transformations

Централна проекцияЦентрална проекция

x

z

L

y

y

О

P

y'P'

проекционна равнина Z = -L

y'p

yp

P'

y

-z

L

P

zpO

Page 25: Computer Graphics 3 D Transformations

Централна проекцияЦентрална проекция

Хомогенните координати на P' са:

, където коефициентът на хомогенните координати е H=1-Zp/L

Page 26: Computer Graphics 3 D Transformations

Паралелна проекцияПаралелна проекция

z

y

x

Проекционна равнина Z=0

Page 27: Computer Graphics 3 D Transformations

Паралелна проекцияПаралелна проекция

Трансформационната матрица за паралелна проекция с проекционна равнина XY и проекционни прави успоредни на оста Z има следния вид:

=

Ако проекционната равнина XY се намира на растояние q от равнината XY на координатната система (Z=q), то трансформационната матрица ще бъде: