th3813 02 transformasi 3 d

6
1 TH3813 Realiti Maya Transformasi 3D TH3813 04 VRML 2 Okt/Nov 2000 © Dr. Shahrul Azman Mohd Noah [email protected] 2 Transformasi kompaun menggunakan multiplikasi matriks untuk hasilkan kompaun transformasi menggunakan kompaun transformasi- hasilkan sebarang transformasi dan ungkapkan sebagai satu transformasi matriks TH3813 04 VRML 2 Okt/Nov 2000 © Dr. Shahrul Azman Mohd Noah [email protected] 3 Transformasi kompaun Contoh: putaran dengan q, pada satu titik P. Boleh dilakukan melalui 3 transformasi: translasi daripada titik P ke asalan (T -P ); putaran pada sudut q pada asalan (R q ); dan translasi daripada asalan kembali ke titik P (T p ) Boleh diungkapkan sebagai Rq p = T p .Rq.T -p TH3813 04 VRML 2 Okt/Nov 2000 © Dr. Shahrul Azman Mohd Noah [email protected] 4 Transformasi kompaun 1 0 0 0 1 0 P x P y 1 cosθ sinθ 0 -sin θ cosθ 0 0 0 1 1 0 0 0 1 0 -P x -P y 1 Rq p = Rq p =T p .Rq.T -p 1 0 0 0 1 0 P x P y 1 cosθ sinθ 0 -sin θ cosθ 0 P y sinθ -P x cos θ -P x sinθ -P y cos θ 1 cosθ sinθ 0 -sin θ cosθ 0 P y sinθ +P x (1-cosθ) -P x sinθ -P y (1-cosθ) 1 TH3813 04 VRML 2 Okt/Nov 2000 © Dr. Shahrul Azman Mohd Noah [email protected] 5 Transformasi kompaun cosθ sinθ 0 -sin θ cosθ 0 P y sinθ +P x (1-cosθ) -P x sinθ -P y (1-cosθ) 1 Berikan matriks transformasi yang boleh digunakan untuk putar sebarang sistem ko-ordinat 2D dalam sebarang sudut dan pada mana-mana bucu/titik Rq p = TH3813 04 VRML 2 Okt/Nov 2000 © Dr. Shahrul Azman Mohd Noah [email protected] 6 Uji transformasi matriks yang terhasil Y-Axis X-Axis a b c d Putarkan kotak pada sudut 90 o secara lawan jam pada ko-ordinat (2, 1) iaitu pada bucu a.

Upload: masyarah-zulhaida

Post on 18-Jul-2015

77 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Th3813 02 transformasi 3 d

1

1

TH3813 Realiti MayaTransformasi 3D

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 2

Transformasi kompaunmenggunakan multiplikasi matriks untuk hasilkan kompaun transformasimenggunakan kompaun transformasi - hasilkan sebarang transformasi dan ungkapkan sebagai satu transformasi matriks

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 3

Transformasi kompaunContoh: putaran dengan q, pada satu titik P.Boleh dilakukan melalui 3 transformasi:

translasi daripada titik P ke asalan (T-P); putaran pada sudut q pada asalan (Rq); dan translasi daripada asalan kembali ke titik P (Tp)

Boleh diungkapkan sebagaiRqp= Tp.Rq.T-p

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 4

Transformasi kompaun100

010

Px

Py

1

cosθsinθ

0

-sin θcosθ

0

001

100

010

-Px

-Py

1

Rqp =

Rqp= Tp.Rq.T-p

100

010

Px

Py

1

cosθsinθ

0

-sin θcosθ

0

Pysinθ - Pxcos θ-Pxsinθ - Pycos θ

1

cosθsinθ

0

-sin θcosθ

0

Pysinθ + Px(1-cosθ)-Pxsinθ - Py(1-cosθ)

1

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 5

Transformasi kompauncosθsinθ

0

-sin θcosθ

0

Pysinθ + Px(1-cosθ)-Pxsinθ - Py(1-cosθ)

1

Berikan matriks transformasi yang bolehdigunakan untuk putar sebarang sistem

ko-ordinat 2D dalam sebarang sudut danpada mana-mana bucu/titik

Rqp =

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 6

Uji transformasi matriks yang terhasil

Y-A

xis

X-Axis

a b

c dPutarkan kotak pada sudut 90o secara lawan jam pada ko-ordinat (2, 1) iaitu pada bucu a.

Page 2: Th3813 02 transformasi 3 d

2

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 7

Uji transformasi matriks yang terhasil

010

-100

3-11

xyw

x’y’w’

=

x’ = 3w - y

y’= x - w

w’ = w

Kerana gunakan faktor penskalaan w = 1, maka

x’ = 3 - y

y’= x - 1

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 8

Y-Ax

is

X-Axis

a

b

c

dBucu Ko-ord.

AsalKo-ord.

Baru

a (2, 1) (2, 1)

b (4, 1) (2, 3)

c (2, 2) (1, 1)

d (4, 2) (1, 3)

Ko-ordinat baru yang terhasil

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 9

Transformasi mudah 3DPrinsip sama dengan transformasi 2DTetapi melibatkan 4 nilai vektor iaitu (x, y, z dan faktor pemberat w)Bagi translasi dan penskalaan pengiraan agak mudah, tetapi agak kompleks bagi putaran dalam sistem ko- ordinat 3D

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 10

Translasi 3D

100

010

001

0 0 0

tx

ty

tz

1

x’y’z’w’

=

xyzw

Operasi matriks untuk translasi tx, ty, dan tz.

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 11

Penskalaan

Sx

00

0Sy

0

00Sz

0 0 0

0001

x’y’z’w’

=

xyzw

Operasi matriks untuk penskalaan Sx, Sy, dan Sz.

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 12

Putaransistem ko- ordinat 2D boleh lakukan putaran dengan mudah pada asalan atau pada mana-mana bucu/titikdalam sistem ko- ordinat 3D, tidak memadai hanya menentukan sudut sahaja, tetapi juga paksi putaranputaran pada paksi x, y dan z masing- masing dirujuk sebagai pitch, yaw, dan roll

Page 3: Th3813 02 transformasi 3 d

3

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 13

Pitch

100

0cos pitchsin pitch

0-sinpitchcos pitch

000

0 0 0 1

xyzw

x’y’z’w’

=

Putaran pada paksi x dengan sudut pitch

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 14

Yaw

010

cos yaw0

-sin yaw

sin yaw0

cos yaw

000

00 0 1

xyzw

x’y’z’w’

=

Putaran pada paksi y dengan sudut yaw

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 15

Roll

001

cos rollsin roll

0

-sin rollcos roll

0

000

00 0 1

xyzw

x’y’z’w’

=

Putaran pada paksi z dengan sudut roll

Juka hendak putarkan pada sudut negatif, gunakan matrikssongsang (transpose)

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 16

Arah vektor dan putarandi samping memutarkan objek, perlu tentukan arah vektorcth., dalam memposisikan “pemerhati maya/ virtual observer (VO)” (titik pandangan pada dunia 3D), perlu tentukan lokasi VO dan arah di mana VO melihatterdapat beberapa kaedah untuk menentukan putaran dan arah vektor

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 17

Arah kosainsatu unit vektor mempunyai 3 komponen paksi x, y dan z yang sama dengan kosain bagi sudut yang terbentuk untuk setiap paksi tersebut dan vektor unitsudut ini dipanggil arah kosainsesuai untuk transformasi dpd satu kerangka rujukan (reference frame) kpd frame lain.kaedah ini digunakan untuk transformasi titik dan objek dalam sistem ko-ordinat dunia nyata kepada sistem ko-ordinat VO.

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 18

Arah kosainboleh dilakukan dengan menggunakan matriks berikut

Cxx

Cyx

Czx

Cxy

Cyy

Czy

Cxz

Cyz

Czz

0 0 0

0001

x’y’z’w’

=

xyzw

Cxx, Cxy, dan Cxz adalah arah kosain bagi paksi x VO terhadap paksi x, y dan z sistem ko-ordinat 3D

Page 4: Th3813 02 transformasi 3 d

4

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 19

Y

X

Z

Z

XY

Y

X

Z

Z

XY

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 20

Arah kosainTransformasi mana- mana titik dalam sistem ko-ordinat 3D kepada sistem ko- ordinat VO diberikan seperti berikut:

0-10

001

-100

0 0 0

0001

x’y’z’w’

=

xyzw

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 21

Arah kosainjika VO memerhati pandangan dari satu titik lain, jauh daripada asalan - > gabungkan translasi tersebut dengan operasi sebelum inimenggunakan sistem ini, boleh terjemahkan daripada sistem ko- ordinat 3D kepada sistem ko-ordinat VO dengan VO boleh berada pada mana-mana kedudukan atau beredar pada mana- mana ruang 3D

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 22

Sudut tetap XYZ (XYZ fixed angles)

teknik yang menggunakan putaran yang berbeza, diaplikasikan secara berjujuk pada ketiga- tiga paksi tetap x, y dan zdengan gunakan pitch, yaw dan roll → boleh dapatkan sebarang putaran yang dikehendakijujukan putaran sangat pentingjujukan putaran yang popular ialah roll, pitch dan kemudian yaw.

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 23

Sudut tetap XYZ (XYZ fixed angles)

Y

X

Z

Z

XY

Melihat kepada rajah di sebelah, orientasi VO boleh diperolehi menggunakan roll +90o dan pitch -90o

Y

X

Z

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 24

Y X

Z

Y

XZ

YX

Zroll +90o

pitch -90o

Page 5: Th3813 02 transformasi 3 d

5

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 25

Sudut tetap XYZ (XYZ fixed angles)

jika VO terletak dan berorientasi dalam ko- ordinat 3D persekitaran maya, untuk transformasikan objek dan titik daripada persekitaran maya ke VO, perlu gunakan transformasi songsangjika VO terletak jauh daripada asalan, perlu tambahkan translasi dalam keseluruhan transformasi

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 26

Sudut tetap XYZ (XYZ fixed angles)

oleh itu, untuk terjemahkan objek dan titik kepada VO, gunakan

x’y’z’w’

=

xyzw

[-roll][-pitch][-yaw][-translate]

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 27

100

0cos pitchsin pitch

0-sinpitchcos pitch

000

0 0 0 1

xyzw

x’y’z’w’

=

100

0cos pitch-sin pitch

0sinpitchcos pitch

000

0 0 0 1

xyzw

x’y’z’w’

=

Pitch

-PitchTH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 28

010

cos yaw0

-sin yaw

sin yaw0

cos yaw

000

00 0 1

xyzw

x’y’z’w’

=

010

cos yaw0

sin yaw

-sin yaw0

cos yaw

000

00 0 1

xyzw

x’y’z’w’

=

Yaw

-Yaw

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 29

001

cos rollsin roll

0

-sin rollcos roll

0

000

00 0 1

xyzw

x’y’z’w’

=

001

cos roll-sin roll

0

sin rollcos roll

0

000

00 0 1

xyzw

x’y’z’w’

=

Roll

-RollTH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 30

Sudut Euler XYZperbezaan di antara sudut tetap XYZ dan sudut Euler XYZ

sudut tetap XYZ merujuk kepada rangka statik; cth sistem ko-ordinat persekitaran mayasudut Euler adalah relatif kepada sistem ko-ordinat yang berputar

Kedua- duanya memainkan fungsi & peranan yang sama

Page 6: Th3813 02 transformasi 3 d

6

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 31

Y

XZZ X

Y

Y

XZZ

XY

Y

XZZ

X

Y

Y

XZZ

X

Y

Paksi yang terselaras

selepas roll pada sudut 90o

selepas pitch pada 30o

selepas yaw pada sudut 90o

Putaran sudut tetap

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 32

Y

XZZ X

Y

Y

XZZ

XY

Y

XZZ

X

Y

Y

XZ

ZX

Y

Paksi yang terselaras

selepas roll pada sudut 90o

selepas pitch pada 30o

selepas yaw pada sudut 90o

Putaran sudut Euler

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 33

Perbezaan antara sudut Euler dengan sudut tetap

terdapat perbezaan dari segi keputusan akhir antara kedua- dua kaedahboleh dapat keputusan yang sama jika gunakan konvensi betentangancontoh, jika gunakan kaedah sudut tetap dengan turutan roll 90o, pitch 30o dan yaw 90o, keputusan yang sama boleh diperolehi dengan sudut Euler melalui turutan yaw 90o, pitch 30o dan roll 90o.

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 34

KekonsistenanRajah di sebelah boleh diperolehi dengan kaedah sudut tetap roll 90o, pitch- 90o, dan yaw 0o

gunakan transformasi matriks untuk roll, pitch dan yawdalam kes ini kita transposisikan sistem ko- ord dunia kepada sistem ko- ord baru, - > gunakan matriks songsang

Y

X

Z

Z

XY

TH3813 04 VRML 2Okt/Nov 2000

© Dr. Shahrul Azman Mohd [email protected] 35

KekonsistenanBuktikan bahawax’y’z’w’

=

xyzw

[-roll(90o)][-pitch(-90o)][-yaw(0o)]

0-10

001

-100

0 0 0

0001

xyzw

= seiras dengan kaedah arah kosain