3D数学 ---- 矩阵和线性变换 (3)

既然我们知道了怎样对任意向量进行缩放,当然也就可以计算缩放后的基向量。这里只详细列出2D中的一个基向量的求法,其余的基向量依次类推。我们只给出其结果(注意下面采用列向量形式只是为了使等式的形式好看一些。)

3D数学 ---- 矩阵和线性变换

通过基向量构造矩阵,得到以单位向量n为缩放方向,k为因子的缩放矩阵,如公式8.8所示:

3D数学 ---- 矩阵和线性变换

3D中,基向量为:

3D数学 ---- 矩阵和线性变换

以单位向量n为缩放方向,k为因子的3D缩放矩阵如公式8.9所示:

3D数学 ---- 矩阵和线性变换

一般来说,投影意味着降维操作,有一种投影方法是在某个方向上用0作为缩放因子。这种情况下,所有点都被拉平至垂直的轴(2D)或平面(3D)上。这种类型的投影称作正交投影(或者平行投影),因为从原来的点到投影点的直线相互平行。

向坐标轴或平面投影

最简单的投影方式是向坐标轴(2D)或平面(3D)投影,如图8.15所示:

3D数学 ---- 矩阵和线性变换

向坐标轴或平面投影在实际变换中不常发生,大多数情况是向低维的变换赋值,且要抛弃维数时。例如,将3D点赋值给2D点,抛弃z分量,只复制x和y。

通过使垂直方向上的缩放因子为零,就能向坐标轴或平面投影。考虑到完整性,下面列出这些变换矩阵,见公式8.10 - 8.14。

3D数学 ---- 矩阵和线性变换

向任意直线或平面投影

也能向任意直线或平面投影,像往常一样,由于不考虑平移,这些直线或平面必须通过原点。投影由垂直于直线或平面的单位向量n定义。

通过使该方向的缩放因子为0能够导出向任意方向投影的矩阵,2D中的情况如公式8.15所示:

3D数学 ---- 矩阵和线性变换

记住这里n垂直于投影直线,而不是平行。3D中,向垂直于n的平面投影的矩阵如公式8.16所示:

3D数学 ---- 矩阵和线性变换

镜像

镜像(也叫做反射)是一种变换,其作用是将物体沿直线(2D中)或平面(3D中)“翻折”,图8.16展示了镜像的效果。

3D数学 ---- 矩阵和线性变换

使缩放因子为-1能够很容易地实现镜像变换,设n为2D单位向量,公式8.17所示的矩阵将沿通过原点且垂直于n的反射轴来进行镜像变换。

3D数学 ---- 矩阵和线性变换

3D中,用反射平面代替直线。公式8.18中的矩阵将沿通过原点且垂直于n的平面来进行镜像变换:

3D数学 ---- 矩阵和线性变换

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgfwxf.html