我有多个立方体曲线形成形状我想将这个形状转换为多边形而不会失去它们的曲线曲率。我有一个起点,终点和每条曲线的两个控件。是否有任何算法或方法将这组曲线转换为多个点的多边形? 提前致谢
private List<CubicCurve> curves = new ArrayList<>();
每个红点代表一条曲线的结束和下一条曲线的开始 两个红点之间的两个绿点代表曲线的控制点
答案 0 :(得分:2)
对于找到Shape轮廓的中间点的上述问题,我有一个更简单,也可能更有效的解决方案。它还使用PathTransition,但更直接。我只用圆圈测试过它,但我认为这适用于任何形状。
public static void main(String[] args) {
Shape shape = new Circle(100);
PathTransition pt = new PathTransition(Duration.ONE, shape, new Circle());
long t0 = System.currentTimeMillis();
pt.playFromStart(); // force initialization
pt.stop();
for (double frac = 0.0; frac <= 1.0; frac += 0.05) {
pt.interpolate(frac);
System.out.println(pt.getNode().getTranslateX() + " " + pt.getNode().getTranslateY());
}
long t1 = System.currentTimeMillis();
System.out.println("Evaluation took: " + (t1 - t0) + "ms");
}
答案 1 :(得分:1)