其他分享
首页 > 其他分享> > 齐次坐标的理解

齐次坐标的理解

作者:互联网

 

     一直对齐次坐标这个概念的理解不够彻底,只见大部分的书中说道“齐次坐标在仿射变换中非常的方便”,然后就没有了后文,今天在一个叫做“三百年 重生”的博客上看到一篇关于透视投影变换的探讨的文章,其中有对齐次坐标有非常精辟的说明,特别是针对这样一句话进行了有力的证明:“齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。”—— F.S. Hill, JR。

     由于作者对齐次坐标真的解释的不错,我就原封不动的摘抄过来:

     对于一个向量v以及基oabc,可以找到一组坐标v = v1 a + v2 b + v3 c          (p,则可以找到一组坐标(p – o = p1 a + p2 b + p3 c            (p),我们把点的位置看作是对这个基的原点p – o(有的书中把这样的向量叫做位置向量——起始于坐标原点的特殊向量),我们在表达这个向量的同时用等价的方式表达出了点p = o + p1 a + p2 b + p3 c (3)

 

(1, 4, 7),谁知道它是个向量还是个点!

    我们现在把(3)写成矩阵的形式:v = (v1 v2 v3 0) X (a b c o)

p = (p1 p2 p3 1) X (a b c o),这里v和点3D向量的第0,而4个代数分量是4个代数分量表示(1, 4, 7)如果写成((1,4,7,1),它就是个点。下面是如何在普通坐标(Homogeneous Coordinate)之间进行转换:

(1)从普通坐标转换成齐次坐标时

   如果(x,y,z,1);

   如果(x,y,z,0)

(2)从齐次坐标转换成普通坐标时   

   如果是(x,y,z);

   如果是(x,y,z)

 

T、旋转S这P=(Px, Py, Pz),有对应的一族齐次坐标w不等于零。比如,(1, 4, 7, 1)、(-0.1, -0.4, -0.7, -0.1)等等。因此,如果把一个点从普通坐标变成齐次坐标,给w,然后增加第w;如果把一个齐次坐标转换成普通坐标,把前三个坐标同时除以第4个分量。

 

由于齐次坐标使用了3D概念,使得平移变换可以使用矩阵进行,从而如(v1,v2,v3),使得1)

p,则可以找到一组坐标(p – o = p1 a + p2 b + p3 c            (p),我们把点的位置看作是对这个基的原点p – o(有的书中把这样的向量叫做位置向量——起始于坐标原点的特殊向量),我们在表达这个向量的同时用等价的方式表达出了点p = o + p1 a + p2 b + p3 c (3)

 

(1, 4, 7),谁知道它是个向量还是个点!

    我们现在把(3)写成矩阵的形式:v = (v1 v2 v3 0) X (a b c o)

p = (p1 p2 p3 1) X (a b c o),这里v和点3D向量的第0,而4个代数分量是4个代数分量表示(1, 4, 7)如果写成((1,4,7,1),它就是个点。下面是如何在普通坐标(Homogeneous Coordinate)之间进行转换:

(1)从普通坐标转换成齐次坐标时

   如果(x,y,z,1);

   如果(x,y,z,0)

(2)从齐次坐标转换成普通坐标时   

   如果是(x,y,z);

   如果是(x,y,z)

 

T、旋转S这P=(Px, Py, Pz),有对应的一族齐次坐标w不等于零。比如,(1, 4, 7, 1)、(-0.1, -0.4, -0.7, -0.1)等等。因此,如果把一个点从普通坐标变成齐次坐标,给w,然后增加第w;如果把一个齐次坐标转换成普通坐标,把前三个坐标同时除以第4个分量。

 

由于齐次坐标使用了3D概念,使得平移变换可以使用矩阵进行,从而如

标签:p2,p3,p1,理解,齐次,坐标,向量
来源: https://blog.51cto.com/sddai/3025097