Java2D - 变形/插值两个形状

时间:2016-02-27 00:58:19

标签: java computational-geometry java-2d

是否有某种方式 - 库或算法 - 可用于在java.awt.Shape的两个实例或其路径迭代器之间进行插值?例如,要在矩形和椭圆之间无缝过渡?或者Path2D的更一般情况。

1 个答案:

答案 0 :(得分:2)

  1. SwingX项目中有一个班级Morphing2D。然而,我的初步测试显示,它仅限于不包含SEG_MOVETO元素的形状,并且它不会在两个形状之间进行任何花哨的对齐,因此转换并不总是理想的。

  2. 有一个包含Morphing2D的软件ReportMill。经过调查,该公司非法复制了原始的SwingX代码并将其粘贴到他们的封闭源专有产品中。 (向GNU提交了LGPL违规行为)

  3. 我发现JavaFX的an example似乎支持移动命令。这可能已包含在JFX 1.x中,但似乎不是JFX 2.x的一部分。在内部,使用com.sun.javafx.geom.*之间的转换,似乎与标准java.awt.geom.* 98%兼容,因此适应性很容易。

  4. 编辑: My backport从JFX到Java2D的工作原理。