三维仿射变换矩阵

最近在进行一项插值工作时用到了三维空间仿射变换矩阵,没有发现有现成的公式,下面进行了推导,方便大家使用。

仿射变换定义

有两个坐标系S1(X,Y,Z)和S2(x,y,z),S1中某一点P1(X,Y,Z)可以通过如下变换变换到坐标系S2中:

image002  ,

其中,P2为P1在S2中的坐标值,M为仿射变换矩阵。最一般的情况下,M表示如下:

image004

如果坐标系S1和S2的原点重合,则M简化为3×3矩阵:

image006

 

仿射变换矩阵的计算

下面给出坐标系原点重合时的情况:

假设S2的三个坐标基矢量在S1中的定义为:

u={X1,Y1,Z1},v={X2,Y2,Z2},w={X3,Y3,Z3}

则矩阵M为:

image008

推导过程即求解如下方程组:

M.u = {1,0,0}

M.v={0,1,0}

M.w={0,0,1}

 

顺便给出点在线及面上投影计算公式:

1)点P(x,y,z)在直线AB上的投影,已知直线端点A、B坐标

image010

2)点P(x,y,z)在面上的投影,面由点A和其法向量n确定

image012

posted on 2010-01-24 20:53  codezhang  阅读(8285)  评论(0编辑  收藏  举报

导航