其他分享
首页 > 其他分享> > 闫令琪图形学入门笔记(矩阵变换篇)

闫令琪图形学入门笔记(矩阵变换篇)

作者:互联网

1.1 向量的点乘与叉乘

向量的点乘可以求得一个数,利用点乘可以进一步计算两向量的夹角大小,或者一个向量在另一向量的投影长度。这一运算可用于路径判断中

叉乘的含义决定,计算结果是一个向量。结果向量方向上垂直于参加叉乘的两向量,因此称之为法向量,根据右手螺旋定则(先将两向量移动到同一起点,右手四指从a转到b,则拇指所指方向,即为结果向量的方向)确认计算结果的方向,将多边形各边与某一点向量依次做叉乘,可以判断某点是否位于多边形内部,这在光栅化中极为重要。
在这里插入图片描述

1.2 左乘矩阵

矩阵描述的是运动,是线性变换,向量左乘矩阵即代表该向量进行某种线性变换后产生新的向量。当然只有线性变化不足以表示图形学中的所有图像操作,因此可大致分为以下几种矩阵变换

1.2.1 线性变换

线性代数限制在一种特殊类型的变换上,即线性变换。如果一个变换拥有以下两个性质,我们就称它为线性的变化:

  1. 直线在变换后仍保持直线,不能有所弯曲。

  2. 原点保持固定

我们熟知的线性矩阵变化包括

缩放
[ s 0 0 s ] ∗ [ x y ] = [ s ∗ y s ∗ x ] \begin{bmatrix} s & 0 \\ 0 & s \end{bmatrix} \quad * \begin{bmatrix} x \\ y \end{bmatrix} = \quad \begin{bmatrix} s*y \\ s*x \end{bmatrix} \quad [s0​0s​]∗[xy​]=[s∗ys∗x​]
在这里插入图片描述
在这里插入图片描述

推移(切变)

[ 1 a 0 1 ] ∗ [ x y ] = [ x + a y y ] \begin{bmatrix} 1 & a \\ 0 & 1 \end{bmatrix}* \quad \begin{bmatrix} x \\ y \end{bmatrix} = \quad \begin{bmatrix} x+ay \\ y \end{bmatrix} \quad [10​a1​]∗[xy​]=[x+ayy​]
在这里插入图片描述
在这里插入图片描述

旋转
[ c o s θ − s i n θ s i n θ c o s θ ] ∗ [ x y ] = [ c o s θ ∗ x − s i n θ ∗ y s i n θ ∗ x + c o s θ ∗ y ] \begin{bmatrix} cosθ & -sinθ \\ sinθ & cosθ \end{bmatrix}* \quad \begin{bmatrix} x \\ y \end{bmatrix} = \quad \begin{bmatrix} cosθ *x - sinθ*y \\ sinθ *x+cosθ*y \end{bmatrix} \quad [cosθsinθ​−sinθcosθ​]∗[xy​]=[cosθ∗x−sinθ∗ysinθ∗x+cosθ∗y​]
在这里插入图片描述

1.2.2 平移与仿射变换

平移的矩阵表示与线性变换格格不入,涉及到了矩阵的加法,实际上平移不是线性变换
在这里插入图片描述
在这里插入图片描述
而仿射变换实际就是线性变换+平移,那么十分有必要将平移写成矩阵形式,为此引入齐次坐标
在这里插入图片描述
将向量维数加1,且新加一维的数值为0(根据向量的平移不变性,三维空间类推),就可以把平移用矩阵左乘写出来。同样线性变化也可以在齐次坐标下表示出来
在这里插入图片描述
继续引出仿射变化,例如下图的转换
在这里插入图片描述
直接左乘旋转矩阵无法得到右图,因为旋转是绕原点进行的,所以需要经过先旋转后平移(变换的复合)实现:
在这里插入图片描述
在这里插入图片描述
这里有两点注意:

1.2.3 投影变换(正交投影与透视投影)

三维图形从制作到显示到屏幕上需要经历MVP+视口变换四个步骤

以下内容涉及线性变换与平移在三维中的表示

正交投影
在这里插入图片描述
一般的正交变换并没有得到最终的二维图,而是将原先位于认为规定的长方体内的物体挤压到一个位于原点的立方体(所有轴的范围均位于-1 到1)中,因此正交投影只涉及平移与缩放
在这里插入图片描述
我们定义原长方体的尺寸如下:
在这里插入图片描述
根据推导可以得出最终的变换矩阵(缩放+平移)
在这里插入图片描述
透视投影
在这里插入图片描述
在这里插入图片描述
视锥体的远近平面包含了要显示的所有物体,摄像机相当于人眼,那么我们如何得到远大近小的效果呢?其实如果把远平面进行挤压,越靠近远平面的物体变小的越严重,那么相比来说越靠近近平面的物体就会变得更大,最终大小相等的两个物体会出现远大近小的效果。具体透视投影也分为两步

  1. 仅平面保持不变,缩小原平面

这一步的变换中,xy轴为缩放,很容易得出,而z轴需要依赖两个认为假设

1.3 其它矩阵性质

标签:平移,闫令琪,变换,矩阵,图形学,bmatrix,quad,向量
来源: https://blog.csdn.net/ludashei2/article/details/118066926