Tôi đã có một cặp vectơ. Làm thế nào tôi có thể tạo một quaternion mà quay từ một đến khác?Bắt quaternion để xoay giữa hai vectơ
Trả lời
Một đơn vị quaternion q = cos (F) + u * sin (F) đại diện cho sự quay của vector v bởi góc 2 * F về trục u.
Nếu vectơ của bạn là v và w, sau đó chúng ta nên bình thường hóa chúng, sau đó tính toán góc giữa chúng như 2 * F = ARccOS (Dot (v, w)). Vector hướng trục xoay u = Bình thường hóa (VectorProduct (v, w)). Bây giờ chúng ta có thể xây dựng quaternion quay cần thiết.
Cũng có thể là một ý tưởng tốt để chuẩn hóa trục quay ** u ** sau khi nó được tính để duy trì một quaternion đơn vị, vì sản phẩm chéo của hai vectơ đơn vị chỉ được chuẩn hóa cho vectơ đầu vào trực giao. –
@Christian Rau Bạn nói đúng, tôi đã bỏ lỡ sự chuẩn hóa này. Thêm. – MBo
Lưu ý rằng trường hợp v = −w cần xử lý đặc biệt. –
- 1. Xoay vòng quaternion là gì?
- 2. OpenGL quaternion xoay ma trận
- 3. Nhận xoay vòng euler từ Quaternion?
- 4. Hoạt hình xoay hình khối Quaternion
- 5. Xoay một vectơ (mảng)
- 6. Khi tôi có hai quaternion định hướng, làm thế nào để tôi tìm quaternion xoay cần thiết để đi từ một đến khác?
- 7. 'Sự khác biệt' giữa hai quaternions
- 8. Cách sử dụng xoay quaternion trong cảnh json Three.js
- 9. Hoạt ảnh xoay của Android giữa hai hoạt động?
- 10. Khoảng cách Euclide giữa hai vectơ (ma trận một hàng)
- 11. Hướng vector từ Quaternion?
- 12. "di chuyển" hai vectơ cùng
- 13. Xoay vectơ bình thường trên mặt phẳng trục
- 14. Góc Euler tới Quaternion sau đó Quaternion thành góc euler
- 15. Tính nghịch đảo quaternion
- 16. Trộn hai vectơ màu RGB để có được kết quả
- 17. Tính góc hướng từ hai vectơ?
- 18. Thay đổi thái độ - góc và trục - toán học quaternion
- 19. Tính khoảng cách giữa hai vectơ có độ dài khác nhau
- 20. Vector hóa Notion of Colon (:) - giá trị giữa hai vectơ trong MATLAB
- 21. Thực hành tốt nhất để bắt đầu ứng dụng xoay
- 22. nội suy giữa các ma trận xoay
- 23. Xoay vòng dữ liệu bằng hai cột
- 24. Khoảng cách tối thiểu giữa hai hình chữ nhật được xoay với các góc khác nhau
- 25. Xác định xoay máy ảnh giữa hai hình ảnh toàn cảnh 360x180 equirectangular
- 26. Xoay một mảng hai chiều 90 độ
- 27. Làm cách nào để tính toán độ tương tự cosin của hai vectơ?
- 28. Cách nhanh nhất để chuyển đổi từ vectơ của các cặp thành hai vectơ độc lập trong C++
- 29. Xoay 3D với Axis & Angle
- 30. Làm thế nào để xoay đối tượng xung quanh một điểm bằng cách sử dụng quaternions?
có thể trùng lặp của [Tìm quaternion đại diện cho vòng quay từ một véc tơ này sang một véc tơ khác] (http://stackoverflow.com/questions/1171849/finding-quaternion-representing-the-rotation-from-one-vector-to-another) – Boann