三维图形变换

Posted by Haiden on April 14, 2019

一、三维物体基本几何变换

三维物体的几何变换是在二维方法基础上增加了对z坐标的考虑。与二维变换类似,引入齐次坐标表示,即:三维空间中某点的变换可以表示成点的齐次坐标与四阶的三维变换矩阵相乘。

1.1 平移变换

若三维物体沿x,y,z方向上移动一个位置,而物体的大小与形状均不变,则称为平移变换。

点P的平移变换矩阵表示如下:

1.2 比例变换

比例变换分为局部比例变换和整体比例变换

1.2.1 局部比例变换

局部比例变换由$T_{2D}$中主对角线元素决定,其它元素均为零。当对x,y,z方向分别进行比例变换时,其变换的矩阵表示为:

1.2.2 整体比例变换

整体比例变换,可用以下矩阵表示:

1.3 旋转变换

三维立体的旋转变换是指给定的三维立体绕三维空间某个指定的坐标轴旋转θ角度旋转后, 立体的空间位置将发生变化, 但形状不变。

θ角的正负按右手规则确定, 右手大姆指指向旋转轴的正向, 其余四个手指指向旋转角的正向。

1.3.1 绕z轴旋转θ

三维空间立体绕z轴正向旋转时, 立体上各顶点的x, y坐标改变, 而z坐标不变。而x, y坐标可由二维点绕原点旋转公式得到

1.3.2 绕x轴旋转

三维点p绕x轴正向旋转θ角的矩阵计算形式为:

1.3.3 绕y轴旋转

三维点p绕y轴正向旋转θ角的矩阵计算形式为:

1.3.4 绕任意轴旋转

求绕任意直线旋转矩阵的原则:

1
2
任意变换的问题——基本几何变换的问题
绕任意直线旋转的问题——绕坐标轴旋转的问题

1.4 对称变换

对称变换有关于坐标平面、坐标轴等的对称变换。

1.4.1 关于坐标平面的对称

1) 关于xoy平面进行对称变换

2) 关于yoz平面进行对称变换的矩阵计算形式为:

3) 关于zox平面进行对称变换的矩阵计算形式为:

1.4.2 关于坐标轴对称

1) 关于x轴进行对称变换的矩阵计算形式为:

2) 关于y轴进行对称变换的矩阵计算形式为

3) 关于z轴进行对称变换的矩阵计算形式为:

二、投影变换

投影变换就是把三维物体投射到投影面上得到二维平面图形。

投影法有两大类:透视(中心)投影法、平行投影法。

平面几何投影的分类

2.1 中心(透视)投影

透视投影是为了获得接近真实三维物体的视觉效果而在二维的纸或者画布平面上绘图或者渲染的一种方法,能逼真地反映形体的空间形象,也称为透视图。

投影线均通过投影中心,在投影中心相对投影面确定的情况下,空间的一个点在投影面上只存在唯一一个投影。

特点:

物体的投影视图由计算投影线与观察平面之交点而得,透视投影生成真实感视图但不保持相关比例。

透视投影图是用中心投影法形成的,视点在有限远处,其中的[p,q,r]能产生透视变换的效果。

2.1.1 透视基本原理

三维世界的物体可以看作是由点集合{Xi}构成的,这样依次构造起点为E,并经过点Xi的射线Ri。

这些射线与投影面P的交点集合便是三维世界在当前视点的透视图。

2.1.2 一点透视

先假设q≠0 , p=r=0。然后对点(x,y,z)进行变换:

对其结果进行齐次化处理得:

1) 当y= 0 时,得: 说明处理与y=0平面内的点,经过变换后没有变化

2)当y ->∞时,得: 说明当y ->∞时,所有点的变化结果都集中到y轴上的1/q处,即所有平行于y轴的直线将延伸相交于此点(0,1/q,0),该点称为灭点。同理可得其他的一点透视情况。

2.1.3 多点透视

根据一点透视的原理,如果p,q,r三个元素中有两个为非零元素时,将会生成两个灭点,因此得到两点透视。如当 p≠0, r≠0时,结果为:

经过齐次化处理后结果为:

当x→∞时,一个灭点在x轴上的1/p处; 当z→∞时,一个灭点在z轴上的1/r处。

2.1.4 生成透视投影图方法

假定投影中心在z轴上(z = -d处),投影面在面xOy上,与z轴垂直,现在求空间一点p(x,y,z)的透视投影

p’(x’,y’,z’)点的坐标。z轴负方向的点C(0,0,-d)是投影中心。

三角形ABC和A’OC是相似三角形,因此:

1)透视坐标与z值成反比。即z值越大,透视坐标值越小。

2)d的取值不同,可以对形成的透视图有放大和缩小的功能。当值较大时,形成的透视图变大;反之缩小。变换矩阵形式为:

然后再乘以向投影面投影的变换矩阵,就得到了点在画面上的投影。

由该矩阵还可以看出透视投影的特性:透视缩小效应:

三维物体透视投影的大小与物体到投影中心的距离成反比,即透视缩小效应。这种效应所产生的视觉效果十分类似于照相系统和人的视觉系统。

2.2 平行投影

如果把透视投影的中心移至无穷远处,则各投影线成为相互平行的直线,这种投影法称为平行投影法。

特点:平行投影保持物体的有关比例不变,物体的各个面的精确视图由平行投影而得。

2.2.1 正投影

正投影根据投影面与坐标轴的夹角又可分为两类:三视图和正轴侧图

当投影面与某一坐标轴垂直时,得到的投影为三视图,这时投影方向与这个坐标轴的方向一致;否则,得到的投影为正轴侧图。

1) 三视图

三视图包括主视图、侧视图和俯视图三种,投影面分别与x轴、y轴和z轴垂直。

三视图的计算

主视图

将三维物体xOz面(又称V面)作垂直投影,得到主视图,由投影变换前后三维物体上点到主视图上点的关系,此投影变换的变换矩阵应为:

通常称TV为主视图的投影变换矩阵。于是,由三维物体到主视图的投影变换矩阵表示为:

俯视图

将三维物体xOy面(又称H面)作垂直投影得到俯视图,其投影变换矩阵应为:

使俯视图与主视图都画在一个平面内,就要使H面绕x轴顺时针转$90^{0}$,即应有一个旋转变换,其变换矩阵为:

使主视图和俯视图有一定的间距,还要使H面沿z方向平移一段距离$-z_{0}$,其变换矩阵为:

最后俯视图的投影变换矩阵:

侧视图

其投影变换矩阵应为:

为了使侧视图与主视图也在一个平面内,就要使W面绕z轴正转$90^{0}$,其旋转变换换矩阵为:

为使主视图和侧视图有一定的间距,还要使W面沿负x方向平移一段距离$-x_{0}$,该平移变换矩阵为:

最后侧视图的投影变换矩阵

2)正轴侧

当投影面与三个坐标轴之间的夹角都相等时为等轴测 当投影面与两个坐标轴之间的夹角相等时为正二测 当投影面与三个坐标轴之间的夹角都不相等时为正三测

空间物体的正轴测图是以V面为轴测投影面,先将物体绕Z轴转γ角,接着绕X轴转-α角,最后向V面投影。其变换矩阵为:

即:

正等轴测图的变换矩阵

根据画法几何学,作正等轴测投影时,γ=45°,α=-35.26°,将γ、α代入上式,其变换矩阵为:

正二测图的变换矩阵

做正二测图时,γ= 20.7°, α=19.47°,其变换矩阵为: