Th3813 02 sistem ko ordinat & transformasi
-
Upload
masyarah-zulhaida -
Category
Documents
-
view
33 -
download
0
Transcript of Th3813 02 sistem ko ordinat & transformasi
1
TH3813Sistem Ko-ordinat dan Transformasi
Sistem ko-ordinat
untuk bina persekitaran 3D - perlu posisikan titik, faset dan objek dalam satu rangkako-ordinat cartesian adalah yang paling lazim digunakanko-ordinat cartesian 3D gunakan 3 paksi: x, y dan z
Konvensi ko-ordinat
pelbagai enjin 3D dan sistem RM gunakan konvensi ko-ordinat yang berbezaterdapat 3 perbezaan utama:
putaran/orientasi sistem ko-ordinattanda pada paksitanda sudut putaran ke semua paksi
Putaran paksi
arah mana setiap paksi wakilipada kebiasaannya:
paksi x sentiasa terletak secara mendatar dar kiri ke kananperbezaan antara sistem-sistem terletak pada putaran paksi y dan z
konvensi yang digunakan di sini ialah y sebagai paksi menegak dan z paksi yang menuju keluar ke arah kita (skrin)
Sistem ko-ordinat tangan kiri/kanan
untuk tentukan tanda sesuatu paksi - perlu tahu bahagian paksi yang mana positif dan negatifsistem ko-ordinat yang digunakan - sistem tangan-kiri
Putaran tangan kanan/kiri
pertimbangkan tanda putaran di sebarang paksikonvensi tangan digunakan
pitch yaw roll
2
Multiplikasi matriks
kerap kali digunakan dalam grafik 3D untuk lakukan transformasi dan operasi ke atas set ko-ordinat
A
n
m B n
b
AB
b
m× =
A×B ≠ B×A
Multiplikasi matriks
a bc d
xy
× = ax + bycx + dy
1 2 34 5 6
Selesaikan yang berikut:
2 46 8
10 12× =
44 5698 128
Transformasi mudah
transformasi mudah seperti:translasi/anjakan (translation)putaran (rotation)penskalaan (scaling)
gunakan kaedah matriks
Translasi
anjakkan satu objek ke posisi/kedudukan barudilakukan dengan translasi vektor pada semua ko-ordinat objek
Y-Axis
X-Axis
Y-Axis
X-Axis
Y-Axis
X-Axis
Y-Axis
X-Axis
sudut kiri kotak di atas terletak pada (1.5, 0.5).
saiz kotak ialah 2 unit lebar dan 1 unit tinggi
kotak di translasikan melalui vektor (-0.5, 2.0)
ko-ordinat asal (x,y)ko-ordinat baru (x’, y’)translasi (tx, ty)
oleh itux’= x + tx ; y’= y + ty
Penskalaan
penskalaan ubah kedudukan semua bucu objek dengan faktor yang samaubah saiz dan posisi objek
Y-Axis
X-Axis
- pertimbangkan rajah yang sama
- lakukan penskalaan (0.5, 3.)
- semua ko-ordinat kotak diskalakan dengan faktor 0.5 pada paksi x dan 3.0 pada paksi y
3
Y-Axis
X-Axis
Y-Axis
X-Axis
Secara matematik:
ko-ordinat asal (x, y)
ko-ordinat baru (x’, y’)
faktor skala (Sx, Sy)
x’ = x.Sx
y’ = y.Sy
atau
x’y’
= Sx 0Sy 0
xy
Contoh ini menggunakan asalan (0, 0) sebagai pusat penskalaan
Putaran (rotation)
putaran tukarkan posisi dan orientasi sesuatu bentuk dengan memutarkan setiap bucu pada pusat putaran
Y-Axis
X-Axis
Y-Axis
X-Axis
Posisi baru untuk setiap bucu selepas satu putaran bagi sudut q pada asalan boleh didapati:
x’ = xcosθ - ysinθy’ = xsinθ + ycosθ
Boleh wakilkan melalui
x’y’
cosθ -sinθsinθ cosθ
xy=
Ko-ordinat homogen
penskalaan dan putaran boleh diwakilkan dengan matriks; tetapi tidak bagi translasiadalah baik semuanya menggunakan operasi yang sama - matriksoleh itu ko-ordinat homegen adalah bergunako-ordinat homogen tambahkan nilai ko-ordinat skala (biasanya diwakili oleh w) pada vektor 2D dan 3D