Sabtu, 12 Januari 2019

Tranformasi 3 Dimensi



Transformasi 3D pada dasarnya hampir sama dengan transformasi 2D, hanya pada 3D kita menghitung sumbu Z. Sama seperti pada 2D, ada tiga transformasi dasar yang dapat dilakukan terhadap verteks, yaitu:
  1. Translasi. 
  2. Pensekalaan. 
  3. Rotasi. 

Titik hasil transformasi dapat diperoleh melalui rumus affine transformation

Q = P * M + tr

Dimana:

Q: (Qx, Qy, Qz) menyatakan matrix 1×3 yang berisi titik hasil transformasi.

P: (Px, Py, Pz) menyatakan matrik 1×3 yang berisi titik yang akan ditransformasi.

tr: (trx, try, trz) menyatakan matriks 1×3 yang berisi banyaknya pergeseran sumbuk x,y, z.

M: Matriks transformasi berukuran 3×3 seperti berikut


Translansi

Translasi dilakukan dengan menggunakan matriks sebagai berikut:



Scalling (Penskalaan)

Penskalaan dilakukan dengan mengisi tr = (0,0,0) dan matriks M diatur seperti beikut.


Rotasi

Berbeda dengan rotasi di 2D yang menggunakan titik pusat(0,0) sebagai pusat perputaran,
rotasi 3D menggunakan sumbu koordinat sebagai pusat perputaran. Dengan demikian ada 3
macam rotasi yang dapat dilakukan, yaitu:
  1. Rotasi terhadap sumbu X 
  2. Rotasi terhadap sumbu Y 
  3. Rotasi terhadap sumbu Z 

Rotasi terhadap sumbu X, Y, dan Z diperlihakan seperti pada gambar berikut



Mengingat ada 3 buah sumbu rotasi maka matriks transformasi yang digunakan juga bergantung kepada sumbu putar. Adapun isi masing-masing transformasi sesuai dengan sumbu putar didefinisikan sebagai berikut:




Sekian dan terimakasih.


EmoticonEmoticon