7
A
回答
5
描述的问题可以如下解决。让
M = m_11 m_12 m_13
m_21 m_22 m_23
m_31 m_32 m_33
表示所需的旋转矩阵。我们要求
1 0 0 * M + t = x_x x_y x_z
0 1 0 y_x y_y y_z
0 0 1 z_x z_y z_y
其中t
表示翻译;我们看到这个矩阵相等可以通过从左边乘以单位矩阵来解决,单位矩阵是它自身的倒数;因此我们获得以下等式。
M + t = x_x x_y x_z
y_x y_y y_z
z_x z_y z_y
这可以通过从两侧减去t
以获得所需的矩阵M
如下进行重新排列。
M = x_x x_y x_z - t = x_x-t_x x_y-t_y x_z-t_z
y_x y_y y_z y_x-t_x y_y-t_y y_z-t_z
z_x z_y z_y z_x-t_x z_y-t_y z_z-t_z
请注意,这是相对容易的,因为初始矩阵由标准基的基本向量组成。一般来说,这是更困难的,并涉及basis transformation,这基本上可以通过Gaussian elimination完成,但在数值上可能很难。
0
我认为基础的变化可以帮助你Wiki Link。它很容易实现。
0
我写了一篇关于它的文章,演示了如何使用源代码。简短的回答是,你建立一个3x3矩阵与不同轴的点积
http://www.meshola.com/Articles/converting-between-coordinate-systems
相关问题
- 1. 两个摄像机系统之间的旋转矩阵
- 2. 查找三个坐标系之间的旋转和平移
- 3. 两者之间3D穿越 - 矩阵坐标系统MATLAB
- 4. 如何旋转坐标系?
- 5. 与时间序列旋转矩阵的时间系列坐标的点积
- 6. 计算两个3d旋转矩阵之间的面向弧
- 7. 坐标系旋转矩阵(欧拉角,交点)
- 8. 在python中,我们如何找到两个矩阵之间的相关系数?
- 9. 在旋转矩阵之间插值
- 10. 两点坐标之间的角度相应地旋转图像
- 11. 如何找到一个autoresizemasked对象的坐标旋转
- 12. 如何找到两组坐标之间的距离在PHP
- 13. 如何查找两个给定坐标之间的格点
- 14. 如何旋转矩阵?
- 15. PHP查找两点之间的坐标
- 16. 旋转后的矩形坐标
- 17. 确定旋转矩形的坐标
- 18. 旋转矩阵
- 19. 从两个坐标计算旋转
- 20. 如何获得两个动态坐标轴的矩阵
- 21. 从一个约束矩形转换坐标到它包含的旋转矩形的坐标
- 22. 比较两个矩阵之间的行
- 23. 分而治之的矩阵旋转
- 24. 两个旋转矩形之间的java碰撞检测
- 25. 如何找到旋转的矢量的x,y坐标
- 26. GL数学:GLM旋转功能旋转整个坐标系
- 27. 如何找到两个图像之间的差异矩形
- 28. 坐标转换矩阵(CTM)的C++库?
- 29. 如何在SVG坐标系中找到3 x/y点的旋转度
- 30. 在两个坐标空间之间转换一个对象
注意,对于旋转矩阵应该减去M的所有列平移向量,所以'R = X_X - X X_Y - x x_z - x ...'等等 – MBo
我对使用的符号不熟悉; 't'是否表示涉及翻译?这是有道理的,但最初的问题只需要旋转。 – Codor
我认为是的,作者的[R | t]意味着旋转+翻译(注意非零原点)。矩阵M对于纯旋转情况是正确的,对于R + t,有必要使用相对坐标 – MBo