线性变换-缩放
缩放
2D的缩放,等比例的缩放,和不等比例的缩放。我们的缩放由于不改变旋转,我们使用对角矩阵来实现。
Image Scale.png
3D的缩放矩阵,缩放实现对向量的等比例缩放:
在我们的程序实现中,我们可以将一个向量作为参数,向量的x,y,z就分别对应着不同轴的缩放系数(一般不会有会沿着任意轴的缩放的需求)
编程实现:
- 头文件:
- 源文件:
投影
投影分为两种:正交投影和透视投影(对应着Unity中Camera的两种Type),投影的本质其实就是把二维变为一维或者把三维变为二维的过程。
- 正交投影:投影线都为平行的直线(看到的图像大小不变)
- 透视投影:投影线根据视点远端的变小,近端的变大。
2D投影:乘上这个矩阵后直接会转化为一维。
Paste_Image.png3D投影:乘上这个矩阵后会转化为二维。(如果要进行3D的投影,我们则需要选择它将投影到哪一个平面上类似x轴和y轴组成的平面这是z轴就为0(也就是需要得到这个平面的法向量n)
1.png3D投影,投影到任意一个平面的公式,基于这个公式进行编程。
Paste_Image.png-
投影的编程实现(投影到任意一平面首先需要获取法向量n):(可以看出投影为一组正交矩阵)
- 头文件:
- 源文件
网友评论