我需要将一个由四个点p0、p1、p2和p3定义的三阶Bezier曲线离散化,使得曲线上的点等距分布。曲线上的任意点p(t)(其中0 < t < 1)由以下公式给出:
我考虑使用Casteljau算法递归地将Bezier曲线减半,直到达到所需的精度,但这将需要大量的距离计算。
有什么办法可以通过分析来解决这个问题吗?
point_t = (1 - t) * (1 - t) * (1 - t) * p0 + 3 * (1 - t) * (1 - t) * t * p1 + 3 * (1 - t) * t * t * p2 + t * t * t * p3;
我的第一个想法是将t = 0,t_1,... t_n,...,1离散化
这不起作用,因为通常情况下,我们不会得到离散点之间的均匀距离。
总之,我需要一个算法来离散化参数曲线,以便:
|| p(t_n) - p(t_n_+_1) || = d
我考虑使用Casteljau算法递归地将Bezier曲线减半,直到达到所需的精度,但这将需要大量的距离计算。
有什么办法可以通过分析来解决这个问题吗?
Yves 我的意思是曲线距离
- Nic