Th3813 02 sistem ko ordinat & transformasi

3
TH3813 Sistem Ko-ordinat dan Transformasi Sistem ko-ordinat untuk bina persekitaran 3D - perlu posisikan titik, faset dan objek dalam satu rangka ko-ordinat cartesian adalah yang paling lazim digunakan ko-ordinat cartesian 3D gunakan 3 paksi: x, y dan z Konvensi ko-ordinat pelbagai enjin 3D dan sistem RM gunakan konvensi ko-ordinat yang berbeza terdapat 3 perbezaan utama: putaran/orientasi sistem ko-ordinat tanda pada paksi tanda sudut putaran ke semua paksi Putaran paksi arah mana setiap paksi wakili pada kebiasaannya: paksi x sentiasa terletak secara mendatar dar kiri ke kanan perbezaan 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 negatif sistem ko-ordinat yang digunakan - sistem tangan-kiri Putaran tangan kanan/kiri pertimbangkan tanda putaran di sebarang paksi konvensi tangan digunakan pitch yaw roll

Transcript of Th3813 02 sistem ko ordinat & transformasi

Page 1: 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

Page 2: Th3813 02 sistem ko ordinat & transformasi

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

Page 3: Th3813 02 sistem ko ordinat & transformasi

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