给定起点和终点以及贝塞尔曲线的两个控制点,我想计算细分(在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 .
1 回答
该模块应该做所需的事情:https://github.com/mattdesl/adaptive-bezier-curve