Saa*_*nia 5 math 3d matlab geometry coordinate-transformation
我问这个问题有两个原因:
我想更改一组点的坐标系(旧笛卡尔坐标系到新笛卡尔坐标系)。这种转换将涉及平移和旋转。这就是我打算做的:
对于该图像,我有一组位于 XYZ 坐标系(红色)中的点。我想根据轴 UVW(紫色)更改它。为了做到这一点,我知道涉及两个步骤:平移和旋转。
当我翻译时,我只改变来源。(比如说,我希望 UVW 原点位于 (5,6,7)。然后,对于数据中的所有点,x 坐标将减去 5,y 坐标将减去 6,z 坐标将减去 7。这样做。我获取一组翻译数据。)
现在我必须应用旋转变换(在翻译的数据上)。旋转矩阵如图所示。Ux、Uy 和 Uz 值是 U 轴上距原点单位距离的点的坐标。类似地,值Vx、Vy和Vz是V轴上距原点单位距离的点的坐标。(我想知道我是否在这里。)Wx、Wy、Wz 计算为 ((归一化 u) X (归一化 v))
(此外,如果它有任何用途,我想让您知道我正在使用 MATLAB。)
编辑:
我在 3D 中有一组 42 个点(42 X 3 矩阵A),我希望将第一个点视为UVW平面的原点。所以第一个点的值将是我的平移向量。正确的?
接下来,计算旋转向量:根据我的要求,矩阵A的第6行必须是U轴,而第37行必须是V轴。因此,向量u将是矩阵A的(第一行减去第六行)。而向量v将是矩阵A的(第 1 行减去第 37 行)。
旋转矩阵的第一行将是矢量u/|u|
(标准化)。第二行将是向量v/|v|
(v 标准化)。第三行将是(u X v)
。我在这儿吗?
归档时间: |
|
查看次数: |
13692 次 |
最近记录: |