gpt4 book ai didi

java - 将三次曲线转换为点

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:40:17 24 4
gpt4 key购买 nike

我有多个构成形状的三次曲线 我想将此形状转换为多边形而不丢失曲线的曲率。我有一个起点,终点和每条曲线的两个控件。是否有任何算法或方法可以将这组曲线转换为多点多边形?提前致谢

private List<CubicCurve> curves = new ArrayList<>();

每个红点代表一条曲线的终点和下一条曲线的起点两个红点之间的两个绿点代表曲线的控制点

enter image description here

最佳答案

对于上述查找 Shape 轮廓的中间点的问题,我有一个更简单且可能也更有效的解决方案。它还使用 PathTransition,但使用的方式更直接。我只用 Circle 测试过它,但我认为它适用于任何 Shape。

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");
}

关于java - 将三次曲线转换为点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48965997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com