我有一个类,它包含一个用于缩放和平移的4x4矩阵。我将如何实现这个类的旋转方法?我应该将轮换作为一个单独的矩阵来实现吗?旋转和OpenGL矩阵
1
A
回答
3
您可以将当前矩阵与旋转矩阵相乘。看看http://en.wikipedia.org/wiki/Rotation_matrix
1
有一个网站,我每次使用时,我需要查找3D转换的细节,称为http://www.euclideanspace.com。矩阵旋转中的特定页面可以找到here。
编辑:围绕给定坐标轴旋转,请查看axis & angle表示法。此页面还链接到如何将一个表示法翻译为另一个表示法的说明。
如果您需要围绕多个轴旋转,只需乘以相应的矩阵。
1
回答问题的后半部分时,单个4x4矩阵完全有能力进行缩放,平移和旋转。所以,除非你对可以处理的4x4矩阵有特别的限制,否则一个4x4就可以满足你的要求。
至于关于任意矢量的旋转(如您在评论中所要求的),请查看yabcok链接到的维基百科文章中的“旋转关于任意矢量”部分。你会想通过用零填充4x4矩阵,除了4,4(缩放)位置,它应该是一个。然后使用矩阵乘法与缩放/平移4x4生成一个新的4x4矩阵。
0
你想确保你找到一个参考,它讨论用于计算机图形的正确类型的矩阵(即使用4x4变换矩阵进行旋转/平移/倾斜的3D齐次坐标)。
参见计算机图形 “圣经”,如Foley and Van Dam(pg. 213),或这些中的一个:从CProgramming.com
0
相关问题
- 1. OpenGL旋转矩阵和ArcBall
- 2. Opengl视图变换矩阵旋转
- 3. 的Android的OpenGL旋转矩阵变形
- 4. OpenGL的矩阵不旋转正确
- 5. 矩阵旋转/平移/在OpenGL
- 6. OpenGL的矩阵旋转四元
- 7. 旋转矩阵
- 8. 为OpenGL ES2模型旋转切换设备轴旋转矩阵
- 9. C#旋转矩阵
- 10. 旋转矩阵CCW
- 11. AS3矩阵旋转
- 12. WebGl旋转矩阵
- 13. C++/OpenGL - 旋转矩形
- 14. 如何使用矩阵在opengl中移动和旋转对象
- 15. 使用matplotlib旋转矩阵使用旋转矩阵
- 16. 优化旋转矩阵 - 关于矩阵
- 17. 转换的OpenGL 4x4矩阵来旋转角度
- 18. 从旋转矩阵Y旋转
- 19. SVG矩阵:不同的翻转,旋转和翻转PLUS旋转
- 20. OpenGL ES Android矩阵转换
- 21. glRotate和我的矩阵::旋转
- 22. Three.js矩阵旋转和前进
- 23. 旋转矩阵45度和使用ggplot
- 24. 旋转矩阵中的列和行
- 25. Matlab矩阵旋转,尺寸
- 26. 旋转矩阵问题
- 27. 计算旋转矩阵
- 28. 2x2旋转矩阵(45度)
- 29. Simulink中的旋转矩阵
- 30. 旋转矩阵不正交
啊,所以我只会产生一个旋转矩阵,并与目前的矩阵乘法而不是存储2?我怎么会产生一个旋转矩阵,虽然给了一个向量xyz旋转三维? – 2009-02-12 12:25:08
@Nowell,你是什么意思?根据您的结构,创建一个旋转矩阵并将其乘以源矩阵。或者,您可以将乘法直接应用于矩阵。 – strager 2009-02-12 13:24:38