齐次坐标(用来判断点和向量)
通过在坐标值后面添加0或者1判断是否是点或者向量,1代表是一个点比如[1,2,3,1],0代表是向量例如[1,2,3,0]
向量和点相加得到的还是一个点,代表了这个点经过这个向量位移后产生新的点
向量就是是由最终点减去起始点得到的,方向由起始点指向最终点
Unity中采用四阶矩阵就是在三阶矩阵上面加上了齐次坐标的运算,所以我们通常也可以使用三维坐标表示位置
仿射变换
要求: 1 变换后必须不能改变性质,直线还是直线
2 变换后的比例不能出现变化
常见的仿射变换包括平移,旋转和缩放等
仿射变换可以使用矩阵和向量相乘的方式表示,表示将一个向量通过给定的变换矩阵进行平移,旋转和缩放后得到的新向量
2D平移变换
2D平移矩阵
这里的d代表的是平移变换的向量,p代表的是点
2D缩放变换
2d缩放矩阵
使用方式和平移矩阵计算方式相同
2D旋转变换
2D旋转矩阵
使用方式同样,但是角度通常需要计算
2D变换的逆矩阵