您好,欢迎来到九壹网。
搜索
您的当前位置:首页空间坐标转换

空间坐标转换

来源:九壹网
空间坐标转换

编写图形处理程序时,常常要进行坐标转换。坐标转换实际上是坐标矢量的转换。所谓坐标矢量就是把坐标系的原点设为起点,坐标点设为终点的矢量。坐标系有很多种,而我们常常是在直角坐标系中工作,所以在以下的讨论中,坐标系均指直角坐标系。

设有2个直角坐标系,分别命名为UCS和WCS,如下图。以下讨论这2个坐标系间的坐标转换关系。

此主题相关图片如下:

1. 空间坐标转换的基本方法:

UCS中的坐标x' 和WCS中的坐标x分别设为, x'=(x', y', z')T , x=(x, y, z)T

UCS中的单位坐标轴矢量ex, ey, ez和原点O' 均由WCS的成分如下表示

ex =(ex1 , ex2 , ex3 ) T , ey =(ey1 , ey2 , ey3 ) T , ez =(ez1 , ez2 , ez3 ) T , O' = u = (x

T

0 , y0 , z0 ) 其中,WCS为一标准的直角坐标系,即x,y,z轴的单位坐标轴矢量和原点分别是, (1, 0, 0) T, (0, 1, 0) T, (0, 0, 1) T和 (0, 0, 0) T。 在以下矢量和矩阵的演算中, 均采用指标的形式进行。 1) WCS中的坐标转换成UCS中的坐标

当把WCS中的坐标转换成UCS中的坐标时,可以通过如下公式进行计算, x'i = αij (xj - uj) = αij xj - αij uj

在以上的计算中,假定坐标系WCS先平移u,再旋转后变成UCS。 又设平移成分为 Mi = αij uj 则有, x'i = αij xj - Mi 式中,

此主题相关图片如下:

为仅有旋转的坐标转换矩阵,即坐标旋转转换矩阵。由上式可以知道,当WCS为一标准的直角坐标系时,UCS的单位坐标轴矢量和坐标旋转转换矩阵α有着等价关系。

2) 坐标转换时,为方便计算常常采用4次元坐标。这时,WCS的坐标和UCS的坐标分别表示为,

x = (x, y, z, 1)T, x' = (x', y', z', 1)T 此时,坐标转换矩阵定义为H,H的成分如下: 此主题相关图片如下:

利用H,把WCS的坐标转换成UCS的坐标时,如下运算: x'i = Hij xj

3) UCS中的坐标转换成WCS中的坐标 这是上述变换的逆运算,即 xi = α−1ij (x'j - u'i ) 整理后, xi = αji x'j + ui

在上式的计算中,假定坐标系UCS先平移u',再旋转后变成WCS。 当用4次元坐标时,坐标转换矩阵定义为H 的逆矩阵H-1如下: 此主题相关图片如下:

利用H-1可由下式把UCS的坐标(x', y', z') T转换成WCS(x, y, z) T的坐标, xi = H-1ij x'j

另外, 在ACAD VBA中, 通过GetUCSMatrix() 方法获得的坐标转换矩阵即为H-1

4) HとH-1 (inverse matrix)的关系 为表示简洁, 设G=H-1 H和G有如下关系: (1) i=1,3 ; j=1,3 Hij= Gji (2) i=1,3 ( j=4) ; k=1,3 Hi4= - Gki Gk4

Gi4= - Hki Hk4

(3) i=4 ; j=1,4

Hij= Gij

由以上运算可以看出,坐标转换计算时,求坐标转换矩阵是关键。以下讨论坐标转换矩阵的计算方法。 2. 坐标旋转转换矩阵α的计算方法

在讨论绕不同的坐标轴旋转所对应的坐标旋转转换矩阵时,旋转角度的符号由以下方法确定:当由旋转角按右手法则确定的旋转方向和旋转轴正方向一致时,取正号;相反则取负号。

1) 设仅绕x轴旋转γ 角度的坐标旋转转换矩阵为αx, 仅绕y轴旋转β 角度的坐标旋转转换矩阵为αy, 仅绕z轴旋转θ 角度的坐标旋转转换矩阵为αz, 它们的成分分别如下:

此主题相关图片如下:

2) 仅有旋转的一般情况:即先绕x1轴旋转θ1,再绕旋转后的x2轴旋转θ2,...,再绕前面旋转后的xi轴旋转θi,...,最后再绕前面旋转后的xn轴旋转θn的坐标旋转转换矩阵可由以下公式算出:

αij= αnik αn-1kl···αipq···α1mj

由此可知道,最后旋转的坐标旋转转换矩阵在最前,最先旋转的坐标旋转转换矩阵在最后,和实际旋转的顺序相反。

例如,先绕z轴旋转θ ,再绕旋转后的y轴旋转β,最后再绕经过前面2次旋转后的x轴旋转γ 的坐标旋转转换矩阵α αij= αxik αykl αzlj

由于以上是矩阵的运算,所以坐标旋转转换矩阵α与旋转的顺序有关。 3. 同时有旋转和平移的坐标转换矩阵的计算方法

一般的坐标转换,可能同时有旋转和平移的情况,这时把坐标旋转转换矩阵α改为由上述定义的H,其余的和仅有旋转的一般情况一样运算,最后即可求出4次元的坐标转换矩阵H。

由以上的结果,可以得出一般情况的坐标转换。即先进行坐标转换1,

󰀀󰀀󰀀再在第一次转换的基础上进行坐标转换2,...,再在第i-1次转换的基础上进行坐标转换i,...,最后在第n-1次转换的基础上进行坐标转换n的坐标转换矩阵H可由以下公式算出 Hij= H

n

n-1i1ik󰀀Hkl···Hpq···Hmj

最后进行的坐标转换矩阵在最前,最先进行的坐标转换矩阵在最后,和实际坐标转换的顺序相反。由于以上的矩阵运算知,坐标转换矩阵H与旋转以及平移的顺序都有关。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务