Vì mục đích lerping tôi cần phải phân hủy một ma trận 4x4 thành một quaternion và một vec3. Lấy quaternion là đơn giản, vì bạn chỉ có thể vượt qua ma trận vào constructor, nhưng tôi không thể tìm thấy một cách để lấy bản dịch. Chắc chắn phải có một cách?glm - Phân hủy mat4 thành bản dịch và xoay vòng?
14
A
Trả lời
11
Dường như GLM 0.9.6 hỗ trợ ma trận phân hủy http://glm.g-truc.net/0.9.6/api/a00204.html
glm::mat4 transformation; // your transformation matrix.
glm::vec3 scale;
glm::quat rotation;
glm::vec3 translation;
glm::vec3 skew;
glm::vec4 perspective;
glm::decompose(transformation, scale, rotation, translation, skew, perspective);
18
glm::vec3(m[3])
là vector vị trí (giả sử m
được glm::mat4
)
5
Tại phiên bản GLM-0.9.8.1 bạn phải bao gồm:
#include <glm/gtx/matrix_decompose.hpp>
Để sử dụng nó:
glm::mat4 transformation; // your transformation matrix.
glm::vec3 scale;
glm::quat rotation;
glm::vec3 translation;
glm::vec3 skew;
glm::vec4 perspective;
glm::decompose(transformation, scale, rotation, translation, skew,perspective);
Hãy nhớ rằng kết quả của quaternion không chính xác. Nó trả về liên hợp của nó!
Để sửa lỗi này thêm video này vào mã của bạn:
rotation=glm::conjugate(rotation);
+1
Thannk một nhóm, API thực sự kỳ lạ – lama12345
Các vấn đề liên quan
- 1. glm kết hợp xoay và dịch
- 2. Sử dụng xoay vòng xoay trong Opengl
- 3. Chuyển đổi glm :: vec4 thành glm :: vec3
- 4. Chuyển đổi glm :: ma trận tìm kiếm thành quaternion và quay lại
- 5. Xoay và dịch
- 6. Hiểu GLM $ dư và resid (GLM)
- 7. OpenGL hiện đại: VBO, GLM và Ma trận Stacks
- 8. ma trận dịch ma trận không dịch vector
- 9. Đặt mat4 trong OpenGL
- 10. GLM :: quan điểm giải thích
- 11. Xoay vòng UIWebView trên iPad
- 12. xoay vòng vòng quanh nguồn gốc
- 13. Xoay vòng toàn cầu
- 14. Xuất nhiều ô glm thành PNG?
- 15. Sự khác nhau giữa plugin xoắn ốc và dịch vụ xoay vòng là gì?
- 16. Xoay vòng quaternion là gì?
- 17. hàng Xoay vòng vào cột
- 18. Xoay Con trỏ Theo Hộp văn bản được Xoay
- 19. Xoay vòng màn hình iOS 6 mà không sử dụng bảng phân cảnh
- 20. Cách tắt tính năng xoay bản đồ trong Phân đoạn Bản đồ Android
- 21. Đóng và hủy dịch vụ WCF
- 22. Nhật ký xoay vòng và dọn dẹp NLog
- 23. RabbitMQ và trao đổi chủ đề xoay vòng
- 24. jQuery: làm cách nào để tạo hiệu ứng xoay vòng xoay vòng?
- 25. Chuyển đổi vector hướng sang xoay vòng
- 26. cảm biến chuyển động, xoay vòng
- 27. OpenGL: Làm thế nào để làm cho ánh sáng độc lập với vòng quay?
- 28. Tab dọc và xoay văn bản
- 29. Xoay văn bản bằng CSS và IE
- 30. Xoay vòng RaphaelJS không hoạt động
Các tài liệu là một chút lỗi thời vào đó một (ngay cả đối với v0.9.7 hiện tại), bạn cần phải bao gồm thay vì để nó hoạt động. –