其他分享
首页 > 其他分享> > GAMES101-4小笔记

GAMES101-4小笔记

作者:互联网

GAMES101-4小笔记


其实已经写好了将近半个月。。。

Lecture 04

三维变换

在这里插入图片描述

旋转变换

在这里插入图片描述
绕谁转谁不变,即为1。
需要关注的是绕y轴旋转,和其他两种看上去“相反”的原因是因为,在xyz坐标系中,三者是一种循环对称的形式,x × y = z、y × z = x、z × x = y,并不是x × z = y,所以绕y轴转会“相反”。

任意旋转用绕三轴的旋转来表达:
在这里插入图片描述
默认认为旋转轴起点在原点,如果旋转轴不过原点,就多一个平移的过程而已,平移-旋转-平移。

观测变换(Viewing transformation)

学了那么多变换,目的是将三维空间中的物体变成二维的一张照片,就涉及到了从三维到二维的变换。
在这里插入图片描述
模型-视图-投影(MVP)。

视图变换

在这里插入图片描述
可以理解当相机和所有物体一起移动时,得到的结果是一样的。
所以不妨把相机摆在原点,让物体移动。
在这里插入图片描述
将相机移到原点,并旋转到xyz轴比较难,但是反过来比较简单。
在这里插入图片描述
然后其他物体跟着相机一起动。

投影变换

正交投影和透视投影

正交投影

在这里插入图片描述

透视投影

应用最广泛。
回忆一下知识点:
在这里插入图片描述
透视投影的过程:
在这里插入图片描述
将透视投影的过程拆成两半。
先在远平面(f)处进行挤压,挤压到和近平面(n)一样,就挤成了一个空间中的长方体,然后再做一次正交投影,将f平面投影到n平面。
在过程中我们规定,n平面始终不变,f平面的z轴位置不变,f平面的中心挤压后还是中心。
挤压过程:
在这里插入图片描述
在这里插入图片描述只有远近平面的z不变,其他会变化,所以待定。
在这里插入图片描述
只剩下第三行,求出即可。
已经知道远近平面的z不变,则在近平面上:
在这里插入图片描述
和x,y无关,所以前两位是0。
在远平面上,中点变换后还是中点:
在这里插入图片描述
所以有:
在这里插入图片描述
在这里插入图片描述
question:已知远近平面的z不变,那中间部分在挤压过程中,z是靠近f还是会远离f?

答:更靠f平面。求得z‘ = (n+f)z - fn 需要注意由于齐次坐标最后一个是z 需要除以z 最终结果是 z’ = n + f - fn/z。
不妨取z=(n+f)/2,则z’-z = (n-f)^2/2(n+f),又n+f<0(注意正负),结果小于0,z’<z,所以更靠近f。

标签:正交投影,挤压,变换,透视,投影,笔记,平面,GAMES101
来源: https://blog.csdn.net/qq_41705342/article/details/123218746