Saya mencoba mengubah sembarang vektor dalam bingkai Cartesian menjadi bingkai Cartesian yang berbeda . Baik dan memiliki asal yang sama. Saya telah berkonsultasi dengan Dynamics Flight Dynamics and Control oleh Wayne Durham, dan memahami solusi buku itu sebagai berikut:
Gunakan roll yaw-pitch-roll standar { } (biasanya disebut { masing-masing }) / pesanan. Ada tiga matriks transformasi, satu untuk setiap sumbu. Pertama, putar tentang sumbu z . Panggil matriks transformasi karena ia beralih dari ke frame perantara . diberikan sebagai
Untuk beralih dari ke , Anda kemudian memutar sumbu y' menggunakan T _ {\ mathscr {F ''}, \ mathscr {F '}} = \ begin {bmatrix} cos (\ theta_ {y}) & 0 & -sin (\ theta_ {y}) \\ 0 & 1 & 0 \\ sin (\ theta_ {y}) & 0 & cos (\ theta_ {y}) \\ \ end {bmatrix}
Akhirnya, untuk beralih dari ke , Anda kemudian memutar tentang sumbu x menggunakan
Matriks transformasi komposit dapat dibuat dengan mengalikan transformasi ini bersama-sama. Masing-masing langkah transformasi pada vektor generik diberikan dalam buku ini (dan saya buat ulang di bawah ini) untuk menunjukkan penentuan pesanan.
Jadi (ketat dalam urutan ini).
Masalah saya muncul ketika saya mengkodekan transformasi ini menjadi MATLAB dan menguji beberapa contoh yang dapat saya verifikasi secara kualitatif (dengan beberapa sumbu koordinat yang saya buat dari kayu).
Matriks transformasi yang berfungsi adalah . Jadi, agar transformasi bekerja seperti yang saya harapkan, saya perlu melipatgandakan matriks dalam urutan terbalik dan mengambil transposinya. Apa yang salah?