3D Maths

浏览量:1,886

坐标系统的变换

本文主要介绍图形学中坐标系统变换的理论基础。 图1. 坐标系统的变换 以二维为例,如图1所示。设坐标系统,原点在,两条坐标轴分别为,点在坐标系统上的坐标为;类似的,点在坐标系统上的坐标为。设坐标轴,原点经过一个矩阵变换,得到坐标系统的坐标轴和原点,即有: (1)   那么,坐标与之间的关系可以表示为(齐次表示,参见文章《齐次表示》): (2)   注意,等式(1)右侧分别为坐标系统的坐标表示和原点,但是等式(2)的右侧却是坐标系统的坐标信息,这里简单阐述下推导过程: 1. 由坐标系统的坐标表示有: (3)   2. 把(1)代入(3),可以得到:     3. 又,易知等式(2)成立。 进一步,我们可以拓展下坐标系统变换的问题,设有个连续的坐标系统变换,它们满足条件:     其中,。 由上述的推导,我们易知: (4)   再进一步,扩展为三维空间下坐标系统的变换,类似的等式也成立,不再赘述。 图2. 在世界坐标系中的照相机示意图 最后,介绍个图形学中坐标系统变换的实例(这里采用右手坐标系),将坐标由世界坐标系统变换至视点坐标系统,如图2所示,参见《OpenGL原理介绍》。在世界坐标系统下,照相机位于坐标,照相机向着方向观察场景,照相机垂直向上的方向为,因此照相机的配置信息能构造一个视点坐标系统,令,则该视点坐标系统的三条坐标轴分别对应,原点位于。设空间中有一个点,它在世界坐标系下的坐标表示为,它在视点坐标系统下的坐标表示为。结合等式(1)(2)易知,存在一个的齐次矩阵,使得: (5)   则有等式: (6)   由等式(5)且,可以推导出矩阵为: (7)   易知,为:

spacer
浏览量:1,699

齐次表示

齐次表示在图形学中占有非常重要的位置。点表示三维空间中的一个位置,向量表示一个方向,没有具体的位置。使用的矩阵,可以对坐标进行仿射变换,比如旋转、缩放以及错切变换等,然而使用这种矩阵并不能进行平移变换。点的平移是有意义的,但是向量的平移是没有意义的。 简单来说,在三维空间上,点和向量的表示都是3维的,把扩展1维,就得到齐次向量表示,即。若为零,表示一个三维向量;若非零,则表示点。 齐次向量扩展1维,那么原先由的矩阵表示的变换也需要扩展1维,变成的齐次矩阵。的齐次矩阵可以实现旋转、缩放和错切变换,形式为:     矩阵不能表示的位移变换,也可以采用的齐次矩阵来表示     易知,若是一个向量,则得到的结果仍等于,因为向量的位移是没有意义的。 图1. 点的透视投影 齐次表示除了能表表三维空间上所有的仿射变换(两条互相平面的直线,变换后,仍然互相平行),还可以表示透视变换,参见文章《OpenGL原理介绍》,如图1所示。一个点投影到照相机的近平面上,是在轴的负方向上,表示投影平面到源点的距离,则有,则,同理,有,即: 透视变换不能把深度信息给丢弃掉,所以图形学里面引入了伪深度的概念,来表示,透视变换后的坐标为: 其中,。 我们很容易用4×4的齐次矩阵来表示透视变换,如下所示:     的齐次矩阵既可以表示仿射变换也可以表示透视变换,大大简化了硬件的设计要求,图形学中起到了非常重要的位置。    

spacer
浏览量:1,477

任意点与平面的反射矩阵

问题描述:设三维空间上,存在一个点,一个平面,求点经过平面的投影点,其中,,,如图1所示。 图1. 点是点经过平面的投影点 设表示点到平面的有向距离,则有: 由于点和点到平面的距离大小相等,且垂直于平面,则有: 把(1)代入(2)式中,得到: 设点和点分别用齐次坐标表示(参见《齐次表示》),则,,那么等式(3)可以表示成齐次矩阵与齐次坐标乘积的形式,即,则为:   (4)  

spacer