偏斜矩阵算法

13
我正在寻找类似于 Photoshop 中的扭曲算法,就像在编辑 → 变换 → 扭曲中一样。 是否有一个简单的矩阵可以实现这个功能?
目前我看到的只有基本的扭曲矩阵(剪切),但它缺少控制点,并不像 Photoshop 那样每个矩形角落至少有 4 个控制点,我们可以自由移动每个控制点。
我需要将其实现到平面转换中。

请参考关于四边形映射的这个问题 - plinth
1个回答

26

参考 http://www.w3.org/TR/SVG11/coords.html,其中介绍了SVG。文中提到:

  • 沿x轴的倾斜变换等价于矩阵

alt text

或 [1 0 tan(a) 1 0 0],其效果是将X坐标按角度a倾斜。

  • 沿y轴的倾斜变换等价于矩阵

alt text

或 [1 tan(a) 0 1 0 0],其效果是将Y坐标按角度a倾斜。

希望这能帮到您! :)


这些矩阵是数学家所谓的斜的,但根据http://www.offshorewebsolution.com/resources/creating_skew_effects_in_adobe_photoshop.html,我不认为这是Photoshop所称的斜。 - David Norman
是的,那些矩阵是仿射变换,我们在这里寻找的是投影变换。 - Alexandre C.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接