1 poin oleh GN⁺ 2024-06-16 | 1 komentar | Bagikan ke WhatsApp

Berbagai cara merepresentasikan rotasi 3D

Matriks rotasi

  • Matriks rotasi adalah matriks ortogonal 3x3, di mana setiap kolom menunjukkan posisi sumbu x, y, z setelah rotasi.
  • Kelebihan: Berguna untuk transformasi titik dan mudah digabungkan dengan transformasi linear lain.
  • Kekurangan: Kurang cocok untuk menangani rotasi itu sendiri, dan menjumlahkan dua matriks rotasi tidak menghasilkan matriks rotasi.

Sudut Euler

  • Sudut Euler merepresentasikan tiga rotasi berdasarkan sumbu x, y, z.
  • Kelebihan: Mudah dipahami dan sering digunakan untuk mendefinisikan rotasi secara langsung.
  • Kekurangan: Dapat menimbulkan masalah gimbal lock, ketika pada sudut tertentu sumbu rotasi menjadi sejajar sehingga rotasi tidak bisa dilakukan.

Quaternion

  • Quaternion adalah bilangan kompleks empat dimensi yang digunakan untuk merepresentasikan rotasi.
  • Kelebihan: Melalui spherical linear interpolation (slerp), dapat memilih lintasan terpendek dengan kecepatan konstan.
  • Kekurangan: Tidak membentuk ruang vektor, sulit dipahami, dan biaya komputasinya tinggi.

Rotasi sumbu/sudut

  • Rotasi sumbu/sudut direpresentasikan dengan sumbu rotasi dan sudut rotasi.
  • Kelebihan: Membentuk ruang vektor sehingga bisa dijumlahkan, diskalakan, dan diinterpolasikan.
  • Kekurangan: Mungkin tidak memilih lintasan terpendek.

Peta eksponensial dan logaritmik

  • Peta eksponensial: Mengubah objek rotasi lain menjadi matriks rotasi.
  • Peta logaritmik: Mengubah matriks rotasi menjadi objek rotasi lain.
  • Rotasi 2D: Dalam 2D, hanya ada satu sumbu rotasi, dan matriks rotasi dapat dihitung dengan mudah melalui peta eksponensial dan logaritmik.
  • Rotasi 3D: Dalam 3D, sumbu rotasi dihitung menggunakan perkalian silang vektor, lalu matriks rotasi diubah melalui peta eksponensial dan logaritmik.

Opini GN⁺

  • Kepraktisan: Memahami berbagai cara merepresentasikan rotasi sangat membantu saat menangani rotasi dalam grafika 3D atau robotika.
  • Kompleksitas: Konsep lanjutan seperti quaternion bisa sulit bagi engineer pemula, jadi penting untuk mempelajarinya bertahap mulai dari konsep dasar.
  • Contoh penerapan: Dalam pengembangan game, animasi, robotika, dan sebagainya, pemilihan representasi rotasi sangat memengaruhi performa dan akurasi.
  • Perkembangan teknologi: Engine grafika atau engine fisika modern mengimplementasikan representasi rotasi ini secara efisien, sehingga layak dimanfaatkan.
  • Materi pembelajaran: Merujuk pada materi pembelajaran berkualitas tinggi seperti kuliah CMU 15-462 dapat membantu memperoleh pemahaman yang lebih mendalam.

1 komentar

 
GN⁺ 2024-06-16
Komentar Hacker News
  • Korespondensi antara grup Lie dan aljabar Lie sangat berguna, dan lewat ini konsep abstrak seperti rotasi 3D bisa diubah ke dalam sistem koordinat. Ini sangat membantu insinyur dalam memecahkan masalah.
  • Setelah melewati minggu kerja yang panjang, menggunakan slider untuk memutar sapi terasa menenangkan.
  • Saya merasa kuaternion tidak seintuitif matriks. Matriks bekerja pada vektor, dan rotasi juga bekerja pada vektor, jadi matriks terasa lebih alami.
  • Salah satu hal paling keren yang saya pelajari di universitas adalah cara memasukkan matriks rotasi ke dalam state Kalman filter. Dengan begitu, kita bisa mengestimasi rotasi tanpa harus khawatir soal gimbal lock.
  • Tulisan blognya sangat bagus. Setelah melihat profil penulisnya, saya jadi merasa diri saya kurang.
  • Bukan cuma bagian memutar sapi, cara menghitung matriks rotasi standar juga berguna. Saat memutar jutaan vektor, kita bisa memakai pipeline perkalian matriks yang sudah dioptimalkan.
  • Saya sedang mencari cara untuk merata-ratakan beberapa rotasi, dan metode ini tampak lebih mudah.
  • Saya menyadari bahwa membuat abstraksi dalam matematika mirip dengan membuat abstraksi dalam rekayasa perangkat lunak. Ini membuat perhitungan jadi lebih mudah.
  • Sayang sekali banyak perangkat lunak 3D tidak memakai antarmuka Arcball. Arcball memungkinkan semua rotasi dilakukan dengan satu drag, dan tidak mengalami gimbal lock.
  • Kuaternion satuan adalah grup Lie, dan semua kuaternion merepresentasikan kecepatan rotasi. Untuk memahami kuaternion, ada baiknya membaca aljabar geometri.