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

廉价的方法计算立方贝塞尔长度,第1张

概述一种立方贝塞尔长度分析解决方案 似乎不存在,但并不意味着 编码便宜的解决方案不存在.我的意思是在50-100 ns(或更少)的范围内. 有人知道这样吗?也许分为两类: 1)较少的错误,如1%,但更慢的代码. 2)更多错误如20%但更快? 我扫描谷歌有点,但它没有 找到任何看起来像一个很好的解决方案.只有N个细分的细分 并且总和N sqrt – 太慢以获得更高的精度, 并且对于2或3段可能太不准确. 一种立方贝塞尔长度分析解决方案
似乎不存在,但并不意味着
编码便宜的解决方案不存在.我的意思是在50-100 ns(或更少)的范围内.

有人知道这样吗?也许分为两类:

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获得了这个想法.

总结

以上是内存溢出为你收集整理的廉价的方法计算立方贝塞尔长度全部内容,希望文章能够帮你解决廉价的方法计算立方贝塞尔长度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1249549.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存