仿射变换

网友投稿 233 2022-09-18

仿射变换

仿射变换是平移、缩放、旋转、对称、错切五种变换的组合,其数学表达形式如下:

⎧⎩⎨⎪⎪x′=a11x+a12y+x0y′=a12x+a22y+y0

采用齐次坐标系表示如下:

[x′y′1]=[xy1]⋅⎡⎣⎢⎢⎢a11a12x0a12a22y0001⎤⎦⎥⎥⎥

从上面的公式可以看出,仿射变换就是线性变换加上平移变换。

下面分别看一下仿射变换的特例:平移,缩放(比例),旋转,对称,和错切。 1. 平移变换 平移变换可以表示为:

⎧⎩⎨⎪⎪x′=x+x0y′=y+y0

齐次坐标系中的平移变换矩阵形式:

[x′y′1]=[xy1]⋅⎡⎣⎢⎢⎢10x001y0001⎤⎦⎥⎥⎥

2. 比例变换

比例变换可以表示为:

⎧⎩⎨⎪⎪x′=sx⋅xy′=sy⋅y

齐次坐标系中的平移变换矩阵形式:

[x′y′1]=[xy1]⋅⎡⎣⎢⎢⎢sx000sy0001⎤⎦⎥⎥⎥

3. 旋转变换(绕原点旋转

θ角度,以逆时针方向旋转为正角度)

旋转变换可以表示为:

⎧⎩⎨⎪⎪x′=xcosθ−ysinθy′=xsinθ+ycosθ

齐次坐标系中的平移变换矩阵形式:

[x′y′1]=[xy1]⋅⎡⎣⎢⎢cosθ−sinθ0sinθcosθ0001⎤⎦⎥⎥

4. 对称变换

y轴为对称线,矩阵表示为:

[x′y′1]=[xy1]⋅⎡⎣⎢⎢−100010001⎤⎦⎥⎥=[−xy1]

x轴为对称线,矩阵表示为:

[x′y′1]=[xy1]⋅⎡⎣⎢⎢1000−10001⎤⎦⎥⎥=[x−y1]

y轴为对称线,矩阵表示为:

[x′y′1]=[xy1]⋅⎡⎣⎢⎢−1000−10001⎤⎦⎥⎥=[−x−y1]

5. 错切变换

沿

x方向错切,可表示为:

⎧⎩⎨⎪⎪x′=x+sxyy′=y

齐次坐标系中的矩阵形式:

[x′y′1]=[xy1]⋅⎡⎣⎢⎢1sx0010001⎤⎦⎥⎥

同理,沿

x方向错切,可表示为:

⎧⎩⎨⎪⎪x′=xy′=syx+y

齐次坐标系中的矩阵形式:

[x′y′1]=[xy1]⋅⎡⎣⎢⎢⎢100sy10001⎤⎦⎥⎥⎥

可以看到这五种变化就是仿射变换的特例。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【i.MX8 Linux】i.MX8 硬件平台介绍(MCIMX8M-EVK)
下一篇:C++ std::vector元素的内存分配问题(补充)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~