如何获得贝塞尔曲线平均距离的 t
How to get t for average distance of Bézier curve
我正在计算贝塞尔曲线的插值位置,公式是:
pow(1 - t, 2) * start + 2.0 * (1 - t) * t * control + t * t * end
问题是,如果我对 t
进行线性步进,例如每段 0.1
,则贝塞尔曲线上的段长度不是平均的。
有没有什么办法可以得到t
对应的数组,从而得到曲线上线段的平均或近似平均长度。
您似乎想要按弧长进行近似参数化。
对于二次情况,贝塞尔曲线的弧长有一个闭式表达式,但是比较复杂,还需要table查一下。这些论文讨论了一般技术:
Approximate Arc Length Parametrization, 在
SIBGRAPI 1996.
Adaptive sampling of parametric curves,在 Graphics Gems V,1995 年。
Computing the arc length of parametric curves,IEEE 计算机图形学与应用,1990 年。
Point-based methods for estimating the length of a parametric curve,计算与应用数学杂志,2006 年。
我正在计算贝塞尔曲线的插值位置,公式是:
pow(1 - t, 2) * start + 2.0 * (1 - t) * t * control + t * t * end
问题是,如果我对 t
进行线性步进,例如每段 0.1
,则贝塞尔曲线上的段长度不是平均的。
有没有什么办法可以得到t
对应的数组,从而得到曲线上线段的平均或近似平均长度。
您似乎想要按弧长进行近似参数化。
对于二次情况,贝塞尔曲线的弧长有一个闭式表达式,但是比较复杂,还需要table查一下。这些论文讨论了一般技术:
Approximate Arc Length Parametrization, 在 SIBGRAPI 1996.
Adaptive sampling of parametric curves,在 Graphics Gems V,1995 年。
Computing the arc length of parametric curves,IEEE 计算机图形学与应用,1990 年。
Point-based methods for estimating the length of a parametric curve,计算与应用数学杂志,2006 年。