闫令琪计算机图形学入门----Lecture04 Transformation Cont

这节课相对前几节难度会有一定提高,本节课主要会将二维变换推演到三维变换,侧重讲解视图变换(Viewing transformation),以及投影变换(projection transformation)。其中投影变化分为正交变换与透视变换两种。

三维空间中的绕轴旋转

这是最一般的绕轴旋转的情况,应该注意在绕y轴旋转时,两个正弦值的正负号与绕x轴或是z轴都略有区别。要绕着空间中任意一个轴旋转,可以将轴先移动到通过原点的位置,然后再使用罗德利斯德旋转公式来进行旋转,旋转完成后将轴位移到它应该在的位置即可。

罗德里德斯旋转公式

视图变换(Viewing transformation)

首先如何理解视图变换,它与模型变换、投影变化的关系大致可以做如下类比:

定义一个相机有三个需要确定的元素,如下图:

我们假设相机始终在原点的位置,并且看向-z的方向,向上方向为y轴,当出现一个在其它位置,看向任意方向的相机时,我们可以用Mview矩阵来将相机移到原点,并看向-z方向。

对于Mview矩阵,我们很难直接求出,我们可以先求出它的逆矩阵,又根据旋转矩阵是正交矩阵,即旋转矩阵的逆矩阵是其转置矩阵,从而得到Mview矩阵本身。

投影变换

投影变换分为正交投影和透视投影两种,这两种投影的区分主要是看是否存在进大远小的现象。人眼对事物的观察较像透视投影,存在‘一叶障目’的情况。下图可以清楚的看到两者的区别。

正交投影

透视投影

欧式几何指出在同一平面中平行的两条线不会相交,但是下图中的火车轨道却看起来像是在远方相交,这是因为这两条平行的轨道被投影在了不同的平面上。

在说透视投影之前,我们需要先了解一下齐次坐标的性质,给x,y,z同时乘上一个不为0的数,得到的新坐标仍然表示与原来相同的同一坐标。这一点是十分有用的。

那么应该如何进行透视投影呢?分为两步,首先将截面体挤压为一个立方体,然后再进行正交变化。具体流程如下图:

其中要注意,在整个缩放过程中,仅仅是远平面和近平面的z值不变,所以在针对整个锥体变化过程中的z值被写成了unknow。后使用了远平面和近平面的z值(f和n)进行代入,才解出了整个矩阵。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值