Góc Euler chỉ yêu cầu ba tham số, thay vì lưu trữ ma trận (hoặc ba, nhưng âm thanh quá mức). Tuy nhiên, khi bạn áp dụng vòng quay Euler, bạn có thể sẽ kết thúc với một cái gì đó tương đương với ba phép nhân để tạo phép biến đổi. Nếu bạn chỉ sử dụng ma trận, bạn có thể không phải chịu chi phí đắt như vậy (tùy thuộc vào cách ma trận được xây dựng). Bên cạnh Gimbal Lock, cũng có một vấn đề với hiệu ứng hủy bỏ khi biểu diễn ma trận nội suy của phép quay mà bạn cần phải cẩn thận.
Bạn có thể muốn xem xét quaternions. Họ yêu cầu bốn thông số lưu trữ, vì vậy chúng không phải là rất nặng. Chúng tránh khóa Gimbal và có thể được nội suy để tạo ra các phép quay trơn tru. Một điều có thể được hiểu là nhược điểm của quaternion là chúng có thể không trực quan đối với một số người. Các phép biến đổi ma trận và góc Euler có một dạng cuộn-yaw-pitch hoặc spin-precession-nutation khá trực quan. Quaternions giống như một vòng quay duy nhất về một số trục kết thúc kết thúc bằng cách này hoặc theo cách đó.
Có thể có trường hợp ai đó thích một phương pháp hơn các phương pháp khác, vì vậy đây chỉ là một số điều cần cân nhắc khi đưa ra quyết định.
Nguồn
2010-02-04 09:11:28
không liên quan đến chương trình –
Jestro: Đọc ở đây: http://en.wikipedia.org/wiki/Gimbal_lock có vẻ như phán quyết là sử dụng quaternions .Nhưng tôi không có kinh nghiệm trực tiếp (chơi chữ). –
@Mitch: Điều này chắc chắn là lập trình có liên quan, bất kỳ ai làm việc với đồ họa 3D giao dịch với những thứ này hàng ngày –