Tuesday, January 22, 2013

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 1x3 yang berisi titik hasil transformasi.
P: (Px, Py, Pz) menyatakan matrik 1x3 yang berisi titik yang akan ditransformasi.
tr: (trx, try, trz) menyatakan matriks 1x3 yang berisi banyaknya pergeseran sumbuk x,y, z.
M: Matriks transformasi berukuran 3x3 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. 





2 komentar

Rotasi terhadap sumbu z nya ada salah dikit

saya kurang paham, tolong scriptnya saja umtuk membuat kubus 3 dimensi pakai delphi 7


EmoticonEmoticon