gpt4 book ai didi

计算立方贝塞尔曲线长度的廉价方法

转载 作者:太空狗 更新时间:2023-10-29 16:32:23 28 4
gpt4 key购买 nike

三次贝塞尔曲线长度的解析解似乎不存在,但不代表编写便宜的解决方案是不存在的。我所说的便宜是指大约在 50-100 纳秒(或更短)的范围内。

有人知道吗?可能分为两类:

1) 错误率低于 1%,但代码速度较慢。2)更多的错误像 20% 但更快?

我通过谷歌扫描了一下,但没有找到任何看起来不错的解决方案。只有 N 条线段上的分界线并对 N sqrt 求和 - 对于更精确来说太慢了,并且对于 2 或 3 个片段可能太不准确。

还有更好的吗?

最佳答案

另一种选择是将弧长估算为弦和控制网之间的平均值。在实践中:

Bezier bezier = Bezier (p0, p1, p2, p3);

chord = (p3-p0).Length;
cont_net = (p0 - p1).Length + (p2 - p1).Length + (p3 - p2).Length;

app_arc_length = (cont_net + chord) / 2;

然后,您可以递归地将样条线段分成两段,并计算收敛的弧长。我测试了自己,它实际上收敛得非常快。我从这个forum得到了这个想法.

关于计算立方贝塞尔曲线长度的廉价方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29438398/

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