在javascript中有效地细分贝塞尔曲线

时间:2017-01-24 15:49:21

标签: javascript bezier

给定起点和终点以及贝塞尔曲线的两个控制点,我想计算细分(在JavaScript中)以近似曲线公差内的直线段(避免过大的角度)段)。在我尝试编写自己的算法之前,我主要想看看是否已经有一个高效的开源算法。

以下是我发现接近这样做的事情:

https://github.com/turf-junkyard/turf-bezier - 虽然它不完全相同,但我可以使用一些代码,因为我已经有了样条曲线。

https://github.com/seanchas116/bezier-subdivide - 这似乎完全符合我的要求,虽然它看起来像一个递归算法,但性能成本很高。

https://pomax.github.io/bezierjs/ - getLUT()可能很有用,但我需要一种方法来决定步数。

http://ciechanowski.me/blog/2014/02/18/drawing-bezier-curves/ - 几乎是我想要的,但这不是Javascript。

http://antigrain.com/research/adaptive_bezier/ - 有用的理论。

1 个答案:

答案 0 :(得分:0)

此模块应该执行所需操作:https://github.com/mattdesl/adaptive-bezier-curve