Ini adalah lanjutan dari penjelasan matriks rotasi 1D dan 2D yang telah dibahas di sini.
Untuk rotasi 3D, pada dasarnya rotasi tetap dilakukan pada plane – yang pastinya plane adalah objek 2D – dan pada 3D space ini, rotasi dipecah menjadi sub-sub rotasi, yakni rotasi pada sumbu x, sumbu y dan sumbu z. Seperti terlihat pada gambar berikut:
Untuk menentukan arah rotasi CCW, gunakan kaidah tangan kanan.
Satu kali rotasi pada 3D adalah terdiri dari seberapa besar objek tersebut dirotasi pada sumbu x, kemudian dilanjutkan rotasi sesuai sumbu y dan terakhir sesuai dengan sumbu z. Urutannya tergantung perubahan yang diinginkan dan besarnya sudut untuk masing-masing rotasi juga bisa berbeda-beda. Tergantung kebutuhan.
Rotasi 3D bisa dibayangkan seperti gambar pesawat berikut.
Dengan masing-masing sumbu disebut dengan sumbu untuk roll, pitch dan yaw. Bila kita set sumbu koordinat seperti gambar koordinat 3D yang saya buat di atas dan objek pesawat sejajar&searah dengan sumbu x, maka sumbu x adalah untuk ‘roll’, sumbu z adalah ‘pitch’ dan sumbu y adalah ‘yaw’.
dengan kata lain, untuk sebuah rotasi 3D artinya seberapa besar objek di ‘roll’, di ‘pitch’ dan di ‘yaw’ 😉
Selanjutnya, mari kita bahas matriks rotasinya. Karena kita di 3D space, maka matriksnya berukuran 3×3 dan dimulai dari
Seperti dijelaskan sebelumnya, rotasi 3D adalah gabungan dari 3 sub rotasi. Gambar di bawah, menjelaskan rotasi sebuah vektor ke posisi dengan sudut yang saya buat sama untuk setiap sumbu yakni
Gambar pertama, rotasi pada sumbu z..saya buat sumbu z berwarna oranye yang artinya bahwa sumbu z di non-aktifkan alias diam. Rotasi dilakukan di plane xy, dengan arah CCW pada sumbu z. Hal yang sama berlaku untuk rotasi pada sumbu x dan y.
Untuk memperjelas bahwa sudut untuk masing-masing rotasi di setiap sumbu bisa berbeda, maka penjelasan selanjutnya saya ubah dengan sudut untuk rotasi pada sumbu z, sudut untuk rotasi pada sumbu x dan sudut untuk rotasi pada sumbu y.
Untuk membuat gambar jadi lebih sederhana, sumbu yang non-aktif saya abaikan.
Bisa dilihat di tabel di atas, bila rotasi dilakukan pada sumbu z maka elemen pada kolom ke 3 matriks rotasi akan di biarkan apa adanya. Demikian juga halnya dengan matriks rotasi pada sumbu x dan y. Penjelasan mengenai nilai sinus dan cosinus dalam tabel sama dengan penjelasan saya di sini, karena rotasi terjadi pada plane 2D.
Kemudian, hasil akhirnya adalah sebuah matrix yang merupakan perkalian dari ketiga matriks tersebut. Karena perkalian matriks tidak bersifat komutatif, maka..perkaliannya harus disesuaikan dengan urutan rotasi.
Misalkan, rotasi 3D yang diinginkan adalah -> -> , maka hasil matriksnya adalah: atau disebut juga rotasi Roll-Pitch-Yaw.
Sedangkan bila rotasi yang diinginkan adalah Yaw-Pitch-Roll, maka perkalian matrixnya adalah .
Rotasi >3D atau nD, dasarnya tetap rotasi 2D dan prosesnya sama dengan kita memproses rotasi 3D yang dimulai dari sejumlah sub rotasi dan kemudian dikalikan sesuai urutannya, hingga akhirnya dihasilkan sebuah matrix .
Latihan Soal
dan point-point dalam soal di atas apabila dihubungkan menjadi sebuah kubus dalam sistem koordinat 3D, sekaligus ilustrasi hasil transformasinya pada ketiga sumbu akan tampak seperti berikut:
Selamat belajar ^^
You must be logged in to post a comment.