上节课的补充
旋转的扩展
在不考虑齐次坐标的情况下,对于二维空间上的旋转,我们都可以用上图第一个公式来表达,而对于旋转角度取负数,我们可以得到第二个公式,即为原角度公式的转置,同时也是该旋转的逆,如第三个公式所示。
三维变换
缩放和平移类似二维变换,可进行对照
绕哪个轴旋转,对角线上对应的数字为1,其中绕y轴与绕x轴和绕z轴有所不同,由于需要满足右手螺旋定则,因此出现了一个循环对称的结果
视图变换
拍照的顺序:模型变换——视图变换——投影
怎么做视图变换?
需要分别定义相机位置Position,看的方向Look-at direction,朝上的方向Up direction
为了简化操作,默认相机位置在(0,0,0),往-z方向看,以y轴为向上的方向
在数学上,如果需要将非标准位置的相机转换成这种形式,需要上图的几个步骤
1、将相机平移到原点
2、将看的方向旋转到-z轴对应的方向
3、将向上的方向旋转到y轴对应的方向
投影变换
正交投影和透视投影
正交投影
正交投影没有近大远小的性质
正交投影的步骤
先平移,再缩放,对于z轴,离我们越远,则数字越小,离我们越近,则数字越大
透视投影
透视投影是使用最广泛的投影,符合近大远小的规律,其中的平行线会相交于某一点
将上图这个平截头体“挤”成一个长方体,再使用正交投影的方法进行投影
对于x,y轴,我们可以轻易得到以下变换矩阵,但是z轴仍未可知,视频对于这部分的推导很清楚,感兴趣的可以自己去看
将z等于n的情况代入,我们可以得到以下式子,接下来只需要求出A和B即可
利用中心点不变的性质,我们得出A和B的值,其中f是最远处中心点的取值