扭曲多边形(像Photoshop的扭曲)(透视转换)

时间:2010-07-17 05:20:12

标签: c++ c algorithm graphics vector

在Photoshop中有一个工具允许选择“扭曲”。这样可以轻松创建阴影。如何将这种失真应用于多边形(一堆点)?

由于

3 个答案:

答案 0 :(得分:2)

如果你的目标是完成这样的事情(黑色原件,变形后变红) alt text

然后你可以:

  • 修复一个用于应用失真的基础(例如,通常垂直于你想要扭曲的方向 - 这里失真的方向是向右,底部是矩形的底边)
  • 将图上的每个点移动一个与其与基座的距离成比例的距离,例如 - 点A(假设它在70%高度)将移位0.7 *的距离(左上角的位移)点)

使用这样的失真周期序列,您可以获得所需的转换。

答案 1 :(得分:1)

这一切都链接到矩阵,除非我弄错了 - 你要在网上查找它,我不会在它上面几个星期,但我想我也可以给你一个指针。 / p>

答案 2 :(得分:1)

这种特殊的扭曲(如图)称为“剪切”效应,只是一个问题 将水平偏移应用于多边形的每条扫描线。

许多图形效果可以用这样的简单基元完成(甚至还有一个剪切 旋转)。

与Google一起查看“Graphic GEMS”。