th3813 02 transformasi 3 d
TRANSCRIPT
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.
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
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
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
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
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