空间坐标变换的矩阵表示法
2014-03-27 10:05
302 查看
图8.1.1-1 | 所谓空间坐标变换(coordinate transform),就是指空间任意点P在两个空间右手直角坐标系oxmymzm和oxnynzn中的坐标关系。 图8.1.1-1所示两个空间直角坐标系oxmymzm和oxnynzn(以下简称m坐标系和n坐标系)的原点重合于o点,称为共原点的两个坐标系。假设开始两坐标系的三个坐标轴分别重合,然后其中一个坐标系绕其中一个轴或两个轴转动。现分以下三种情况进行讨论。 |
n坐标系绕z轴逆时针转过q角。 | ||
图8.1.1-2 | P点由n坐标系变换到m坐标系的坐标变换关系为 | (8.1.1-1) [align=right]为便于理解式(8.1.1-1),现将图中xy平面内的坐标关系展开[/align] 在左图中。 由图中几何关系可知 |
用矩阵的形式表达为 | (8.1.1-2) | |
式(8.1.1-2)可简写为 | (8.1.1-3) | |
式中rm和rn为同一点P分别在两坐标系中的坐标列阵,即 Cmn为3×3方阵,即 | ||
8.1.1-4) | ||
方阵符号Cmn的右下注脚mn表示该方阵是由n坐标系变换到m坐标系的变换矩阵。方阵Cmn中的每一个元素都是如表8.1.1所列相应两轴夹角的余弦,称方向余弦,故该方阵称为方向余弦矩阵(orientation cosine matrix )。相应两轴夹角的余弦:如方阵第1行、第2列的(-sinq)可写成cos(90º+q),其中(90º+q)即为xm轴与yn轴的夹角,参见图8.1.1-1所示。 |
表8.1.1 |
xn | yn | zn | |
xm | cos(xm, xn) | cos(xm, yn) | cos(xm, zn) |
ym | cos(ym, xn) | cos(ym, yn) | cos(ym, zn) |
zm | cos(zm, xn) | cos(zm, yn) | cos(zm, zn) |
根据运动相对性原理,图8.1.1-1所示两坐标系的相对位置关系,也可看作n坐标系相对不动,由m坐标系绕zm轴转过(-q)(即顺时针方向)角的结果。这样仿照式(8.1.1-3)可写出 (8.1.1-5) 再用(-q)代换式(8.1.1-4)中的q可得 (8.1.1-6) 方阵符号Cnm的右下注脚nm表示该方阵是由m坐标系变换到n坐标系的变换矩阵。 比较式(8.1.1-4)和式(8.1.1-6)可见,Cmn和Cnm既互为逆阵,又互为转置矩阵。这样就便于由其中一个方阵求得另一方阵(前者的逆阵)。 |
如图8.1.2-1所示,坐标系onxnynzn对omxmymzm相对位置的坐标变换,除了相对转动外,还有坐标系原点的相对移动,故属于不共原点的空间一般坐标变换。 |
图8.1.2-1 | 设n坐标系原点on在m坐标系中的坐标为 ,而on的移动可用向量 表示。因此,空间任意点P在两坐标系中的坐标关系式变为 (8.1.2-1) 式中 则为on在m坐标系中的坐标列阵,即 (8.1.2-2) |
图8.1.2-2 | 同理可写出P点由m坐标系转换至n坐标系的坐标变换关系式。 在空间连杆机构中常用的坐标变换如图8.1.2-2所示。两坐标系的相对位置是:xn轴同时垂直于zn和zm两轴,ln为zm和zn两轴间的最短距离 ,垂足 至原点om的距离为sm。 两坐标系是如何进行变换的呢? |
图8.1.2-3 | 可设想坐标系onxnynzn与omxmymzm原来是重合的,如图8.1.2-3所示。 1)首先使坐标系onxnynzn沿zm轴正向平移一段距离 至 位置。 2)接着n坐标系在 点进行共原点的坐标轴转动至 位置,并同最终所需的方位xn,yn,zn一致。 3)最后沿xn轴正向平移ln距离,到达图8.1.2-2所示的onxnynzn位置。 |
上述坐标变换过程可简记如下 |
图8.1.2-4 | 由图8.1.2-4知,从om点出发,建立空间任意点P的向量关系式为 即可写出由n坐标系变换到m坐标系的P点坐标变换式为 (8.1.2-3) |
同理,根据运动相对性原理,也可设想n坐标系相对不动,得出m坐标系变换到n坐标系的P点坐标变换式。 m坐标系变换到n坐标系的P点坐标变换式: 设想坐标系omxmymzm与onxnynzn原来是重合的。首先使坐标系onxnynzn沿xn轴负方向平移ln距离,接着在 点进行共原点的坐标轴逆转动,使各轴方向与xm,ym,zm的方向一致。最后再沿zm轴的负方向平移sm距离,到达图示的omxmymzm位置。 由此可写出m坐标系变换到n坐标系的P点坐标变换式 |
相关文章推荐
- osg::NodeVisitor中计算一个节点对应的世界变换矩阵、法向量、顶点坐标
- 第4章 学习Shader所需的数学基础(下)(坐标空间及其变换)
- 安卓开发——图片矩阵变换时将坐标原点改为图形中心点
- 空间数据的坐标变换
- 空间坐标变换与投影
- VTK学习(七)坐标系统和空间变换
- 图像处理的坐标变换必备的矩阵知识
- ROS之tf空间坐标变换浅析 (二)
- Nyoj 298 点的变换[利用矩阵求解坐标点的转换,平移,绕原点旋转,沿x,y轴翻转]
- 渲染流水线-透视投影矩阵 透视除法 空间裁剪 视口变换 数学原理理解
- 【OpenGL】03 - OpenGL 坐标变换中的各种矩阵
- 矩阵的坐标变换(转)
- 8.6.3 矩阵与空间变换
- OpenGL中的坐标变换和矩阵
- GDI+托管代码坐标变换矩阵复位问题
- 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。
- 线性代数(2)矩阵可以理解成空间坐标
- 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转
- 矩阵的坐标变换(转)
- OpenGL 的空间变换(上):矩阵在空间几何中的应用