Saya seorang fisikawan, dan telah mempelajari beberapa pemrograman, dan telah menemukan banyak orang yang menggunakan angka empat untuk rotasi daripada menulis sesuatu dalam bentuk matriks / vektor.
Dalam fisika, ada alasan yang sangat bagus mengapa kita tidak menggunakan angka empat (terlepas dari cerita aneh yang kadang-kadang diceritakan tentang Hamilton / Gibbs / dll). Fisika mensyaratkan bahwa deskripsi kita memiliki perilaku analitik yang baik (ini memiliki arti yang didefinisikan dengan tepat, tetapi dalam beberapa cara yang agak teknis yang jauh melampaui apa yang diajarkan di kelas intro normal, jadi saya tidak akan menjelaskan secara detail). Ternyata angka empat tidak memiliki perilaku yang baik ini, sehingga tidak berguna, dan vektor / matriks melakukannya, jadi kami menggunakannya.
Namun, terbatas pada rotasi dan deskripsi kaku yang tidak menggunakan struktur analitik apa pun, rotasi 3D dapat dijelaskan secara ekuivalen dengan cara apa pun (atau beberapa cara lain).
Secara umum, kita hanya ingin pemetaan titik X = (x, y, z) ke titik baru X '= (x', y ', z') tunduk pada batasan bahwa X 2 = X ' 2 . Dan ada banyak hal yang melakukan ini.
Cara naifnya adalah dengan menggambar segitiga yang ditentukan ini dan menggunakan trigonometri, atau gunakan isomorfisme antara titik (x, y, z) dan vektor (x, y, z) dan fungsi f (X) = X 'dan matriks MX = X ', atau menggunakan angka empat, atau memproyeksikan komponen dari vektor lama bersama yang baru menggunakan beberapa metode lain (x, y, z) T. (a, b, c) (x', y ', z '), dll.
Dari sudut pandang matematika, semua deskripsi ini setara dalam pengaturan ini (sebagai teorema). Mereka semua memiliki jumlah derajat kebebasan yang sama, jumlah batasan yang sama, dll.
Jadi mengapa angka empat tampaknya lebih disukai daripada vektor?
Alasan yang biasa saya lihat adalah tidak ada kunci gimbal, atau masalah numerik.
Argumen tanpa kunci gimbal tampak aneh, karena ini hanya masalah sudut euler. Ini juga hanya masalah koordinat (seperti singularitas pada r = 0 di koordinat kutub (Jacobian kehilangan peringkat)), yang berarti hanya masalah lokal, dan dapat diselesaikan dengan mengganti koordinat, memutar keluar dari degenerasi, atau menggunakan dua sistem koordinat yang tumpang tindih.
Saya kurang yakin tentang masalah numerik, karena saya tidak tahu secara rinci bagaimana kedua hal ini (dan alternatif apa pun) akan diterapkan. Saya telah membaca bahwa menormalkan kembali angka empat lebih mudah daripada melakukan itu untuk matriks rotasi, tetapi ini hanya berlaku untuk matriks umum; rotasi memiliki kendala tambahan yang meremehkan ini (yang dibangun ke dalam definisi quaternions) (Faktanya, ini harus benar karena mereka memiliki jumlah derajat kebebasan yang sama).
Jadi apa alasan penggunaan angka empat dibandingkan vektor atau alternatif lain?