Có lẽ tôi chỉ thiếu một cái gì đó trong tài liệu, nhưng có vẻ như nó không thể với GLM để chuyển đổi của một vector. Tôi cũng không thấy các loại mat3x1 hoặc mat1x3. Ngoài ra glm :: transpose không hoạt động cho vectơ. Tôi có thiếu cái gì đó hay đây chỉ là một tính năng thiếu GLM?GLM: Làm thế nào để chuyển đổi một vector?
Trả lời
GLM dựa trên GLSL, nơi đơn giản là không cần phải chuyển đổi vectơ. Nếu bạn thực hiện phép nhân vectơ/ma trận, nó sẽ nhân vectơ theo cách hoạt động với kích thước của ma trận (trừ khi nó sẽ phải thay đổi thứ tự của phép nhân). Vì vậy, nếu bạn có mat4
và làm mat4*vec4
, vec4
của bạn được coi là một vectơ cột. Nếu bạn làm vec4*mat4
, nó được coi là một vectơ hàng. Nếu bạn làm mat2x4*vec4
, bạn gặp lỗi, trong khi vec4*mat2x4
hoạt động (dưới dạng vectơ hàng).
Vì vậy, nói chung, không có lý do gì để cần "chuyển vị" một vectơ. Hệ thống chỉ đơn giản làm bất cứ điều gì hoạt động.
Là một tài liệu tham khảo cho những người tìm kiếm làm thế nào để transpose một vector (chủ yếu để tính sản phẩm bên ngoài - u vT) trong GLSL/GLM; của nó:
glm::core::function::matrix::outerProduct(u, v)
liên kết GLM Nicol bây giờ 404s là các liên kết API của họ đã thay đổi định dạng từ:
- 1. Chuyển đổi glm :: vec4 thành glm :: vec3
- 2. Làm thế nào để chuyển đổi char * sang std :: vector?
- 3. Làm thế nào để chuyển đổi một vector <int> thành một chuỗi?
- 4. Làm thế nào để chuyển đổi tên hàng của bảng vào một vector
- 5. Chuyển đổi một dataframe để một vector (theo hàng)
- 6. Làm thế nào để chuyển đổi góc Euler thành vector định hướng?
- 7. Làm thế nào để chuyển đổi số nguyên thành vector nhị phân?
- 8. Làm thế nào để chuyển đổi hàng vectơ thành vector cột trong Eigen?
- 9. làm thế nào để chuyển đổi danh sách các "chuỗi đỉnh" tới vector
- 10. Làm thế nào để chuyển đổi giữa ByteString và Vector đáng yêu?
- 11. Làm thế nào để chuyển đổi một đôi để hex?
- 12. Làm thế nào để vector hóa phương trình?
- 13. Làm thế nào để thay đổi một yếu tố cụ thể của một vector STL C++
- 14. làm thế nào để tạo ra một vector của các con trỏ tới một vector
- 15. Làm thế nào để chuyển đổi một chuỗi thành CharSequence?
- 16. Làm thế nào để chuyển đổi một SparseArray thành ArrayList?
- 17. Làm thế nào để chuyển đổi một byte thành bit?
- 18. Làm thế nào để đảo ngược một vector C++?
- 19. Matlab, làm thế nào để chuyển đổi một chuỗi các số nguyên thành một vectơ?
- 20. Làm thế nào để tránh tìm kiếm vector trong data.table
- 21. Chuyển đổi một vector <char> thành chuỗi có chuyển đổi
- 22. Chuyển đổi Iterator Scala thành Vector
- 23. Chuyển đổi vector hướng sang xoay vòng
- 24. Chuyển đổi tên nhân vật Vector để data.frame
- 25. chuyển đổi std: vector thành NSArray
- 26. Hiểu GLM $ dư và resid (GLM)
- 27. Làm thế nào để sắp xếp một std :: vector bởi các giá trị của một std :: vector khác nhau?
- 28. Chuyển đổi một std :: vector để một mảng NumPy mà không cần sao chép dữ liệu
- 29. làm thế nào để chuyển đổi json để chuỗi
- 30. Làm thế nào để chuyển đổi Byte [] để BitmapImage
tôi thấy đấy, tôi nghĩ đó là điều tôi không hiểu. Cảm ơn bạn. – aeskreis
Nếu bạn muốn tính toán một cái gì đó như v * transpose (v) trong đó v là vec4. Những gì tôi muốn là một mat4 như là một kết quả. I E. nhân một 4x1 và 1x4 để có được một 4x4. Tôi không thấy làm thế nào để làm điều đó trong GLM. Có thể bạn không thể? – Chuck
@Chuck: Vâng, đó có thể là vì nó không phải là một hoạt động rất hữu ích. Bên cạnh đó, bạn có thể tự mình làm toán cho mình một cách dễ dàng; nó chỉ nhân đôi theo từng nhân tố của vectơ. –