首页 文章

将Bezier曲线解构为具有相等间距斜坡的线段

提问于
浏览
0

我目前正在开发一个程序,该程序采用比赛轨道的比例SVG文件,并使用该数据将轨道近似为点阵列 . 理想情况下,任何两个连续点之间的斜率的绝对值将是相同的,因为这将允许我将角度,弧长和半径近似为已知精度,以用于计算曲线周围的最大速度 .

SVG使用具有2个控制点的贝塞尔近似 . 我有一个函数,它采用起点,2个控制点和一个终点以及参数变量t . 我在这里找到了这个代码:Drawing Bezier curves using De Casteljau Algorithm in C++ , OpenGL

我想要的结果是直道将由很少的线段组成(斜率变化非常小),而急转弯将由许多线段组成(斜率变化很大) . 这将在计算中保持恒定的准确性 .

对t使用常数步长不会在两点之间提供恒定的斜率,这对于计算来说是一个巨大的问题 . 是否有任何方法可以找到正确的t值,知道所得到的线段的所需斜率?

1 回答

  • 0

    经过大量搜索和完善术语,我找到了一个网站,深入解释了我的问题的答案 . 事实证明,我的问题与绘制Bezier曲线的渲染引擎相同,而Anti-Grain渲染引擎有一个很好的教程,可以细分Bezier曲线来逼近各种曲折 .

    http://www.antigrain.com/research/adaptive_bezier/index.html

相关问题