一、向量和矩阵的基本运算
1、简单变换
1. 平移变换
将向量
加到
上,得到平移后的新向量
。其中
和
分别为x方向和y方向的平移量。
2. 缩放变换
通过缩放矩阵
乘以
,可以得到缩放后的向量
。其中
和
分别为x方向和y方向的缩放比例。
3. 旋转变换
通过旋转矩阵
乘以
,可以得到绕原点逆时针旋转
角度后的向量
。
4. 一般线性变换
通过一个2x2变换矩阵
乘以
,可以得到一个新的变换后向量
,这个变换矩阵可以表示缩放、旋转、错切等线性变换的组合。
2、齐次坐标
0. 齐次坐标表示
在使用齐次坐标表示时,我们将n维欧几里得空间中的点
表示为
维的齐次坐标形式
,在原始坐标的基础上添加一个1作为最后一个分量。
表示,即在笛卡尔坐标
的基础上添加一个1作为最后一个分量;
表示,即在笛卡尔坐标
的基础上添加一个1作为最后一个分量。
1. 2D点的齐次坐标变换
该变换矩阵包含了三个部分:
构成的2x2子矩阵)
- 缩放分量(a, b, d, e的大小)
- 当这些元素的值大于1时,会放大相应方向的坐标;小于1时,会缩小。
2. 投影空间
引入一个三维投影空间,由
、
和
三个坐标构成,用
表示。
其中
表示无穷远的点,即所有投影线的汇聚点所在位置。
- 左图展示了透视投影(Perspective projection)的情况,所有投影线从场景中的点汇聚于一个无穷远点,这种投影方式可以提供深度信息和真实的景深感。
- 右图展示了正交投影(Orthographic projection)的情况,投影线都是平行的,没有汇聚点,无法获得真实的景深感,但可以保持投影后物体的形状不变形。
- 正交投影常用于工程制图等需要保持形状的场合,表达式为:
这种投影空间和投影变换在计算机图形学中被广泛使用,用于将三维物体投影到二维平面上进行显示。
3. 2D直线的齐次坐标表示
a. 直线的参数方程表示
其中
是直线的系数,任意一点
代入方程,结果为0,则该点位于该直线上。
b. 直线的法向量和原点距离表示
其中
表示直线的法向量,即垂直于直线方向的单位向量,
表示直线到原点的有符号距离。
这种表示直观地描述了直线的性质:
给出了直线的方向
给出了直线到原点的距离,取正负号表示直线在原点的两侧
法向量和原点距离表示对于直线的各种几何运算都很有用,例如求直线交点、判断点和直线的位置关系等。通过矩阵变换,可以很自然地对直线进行旋转、平移等操作。
4. 叉积算子
- 两条直线的表示:
给定两条直线
和
的齐次坐标表示。
- 交点的计算:
两条直线
和
的交点
可以通过它们的外积(叉积)求得:
其中,外积的计算方式为:
这种利用直线的齐次坐标表示求交点的方法,可以自然地推广到三维空间,求两条三维直线或平面的交点。同理,在三维情况下,交点坐标为两个直线或平面的齐次坐标外积。
5. 平行线可以相交
在这种表示下,两条直线的齐次坐标分别为
和
。
时,对应的是无穷远点,两条直线在这个点处相交