最近心血来潮,恰好刷到了一个有关旋转ASCII立方体的视频,于是乎我打算重新学习一下计算机图形学,所以打算借这个项目练手一下,主要用到了一些线性代数的知识,包括坐标轴的旋转、点的旋转。这是一张演示图片:

在二维平面中,描述一个点可以使用
因此,可以得到变换矩阵为:
这里
在三维空间里面,我们可以简化讨论整个旋转过程,因为这样可以使用在二维平面里面得到的公式推论。请设想,假设我们只在
那么我们假设对点
同理也可以得到绕
这是绕着
这是z-buffer的一个解释链接。实际上这个算法还是相当简单易懂的,主要思路就是,对透视投影来说,假设这里有一个虚拟的眼睛(或者相机),那么对于这个眼睛来说,越靠近这个眼睛的物体便会在投影平面上占据越大的范围,显然,这个物体会遮挡住后面的物体,因此只需要保留越靠近眼睛的这个物体的z轴坐标即可。


