二维齐次坐标
旧二维坐标的变换
平移
点P移动到P’,则
x’=x+Tx
y’=y+Ty
比例缩放
P点放大到P’,则
x’=xSx
y’=ySy
旋转
P点绕原点旋转到P’,取逆时针为正方向
则
x’=rcos(α+θ)=r(cos(α)cos(θ)-sin(α)sin(θ))
y’=rcos(α+θ)=r(cos(α)cos(θ)-sin(α)sin(θ))
而
x=rcos(α)
y=rsin(α)
所以
x’=xcos(θ)-ysin(θ)
y’=xsin(θ)+ycos(θ)
错切
错位变换,用于产生弹性物体的变形处理
点P移动到P’
x’=x+cy
y’=bx+y
c:x方向的错切因子
b:y方向的错切因子
以上是五种基本的二维几何变换.
可以看到计算形式和公式都不统一,多重变换后的计算会很复杂,
为此我们引入齐次坐标来解决此问题.
齐次坐标的概念
齐次坐标表视就是用n+1维向量表视一个n维向量
二维平面中
点P(x,y)的齐次坐标表视为P(hx,hy,h),h为任意不为0的比例系数
规范化齐次坐标表示
规范化齐次坐标表视就是h=1的齐次坐标表示
如此,我们就可以把上面的五种变换用矩阵运算来表示:
需注意此时的s值,矩阵相乘之后会转变为h的系数,需要坐标中每点再除以此系数即可.
三维模型的齐次坐标表示
与二维控件的齐次变换相同,三位控件坐标的变换也可以使用某点的齐次坐标与四阶的变换矩阵相乘.
平移
比例缩放
旋转
绕某一轴旋转,可以视为绕此轴的二维平面的旋转
对称
错切
逆变换
逆变换是上述变换过程相反的变换
像应的平移矢量为原本平移的相反数