加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 05:44:00 所属栏目:百科 来源:网络整理
导读:一种立方贝塞尔长度分析解决方案 似乎不存在,但并不意味着 编码便宜的解决方案不存在.我的意思是在50-100 ns(或更少)的范围内. 有人知道这样吗?也许分为两类: 1)较少的错误,如1%,但更慢的代码. 2)更多错误如20%但更快? 我扫描谷歌有点,但它没有 找到任
一种立方贝塞尔长度分析解决方案
似乎不存在,但并不意味着
编码便宜的解决方案不存在.我的意思是在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获得了这个想法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读