给出这些静态点,即贝塞尔曲线

时间:2017-11-20 15:20:54

标签: geometry computational-geometry

我有这个问题是确定通过这些点的贝塞尔曲线:(1,1),(2,-1),(3,1)。我们怎样才能找到曲线?我不知道怎么用这个等式。我们怎样才能找到曲线度?

2 个答案:

答案 0 :(得分:0)

通过这些点存在无限的贝塞尔曲线。你需要更加具体。

例如,可以定义该曲线是二次曲线,第一个点是开始一个(t = 0),第三个点是结束一个(t = 1),第二个点是精确中间(t = 0.5)。 然后构建方程(用t值和点坐标代替)并求解系数

p[0].x * (1-t)^2 + p[1].x * 2 * t * (1-t) + p[2].x * t^2 = X(t)
example for the first point:
p[0].x * (1-0)^2 + p[1].x * 2 * 0 * (1-0) + p[2].x * (0)^2 = 1
p[0].x = 2

答案 1 :(得分:0)

度数N的贝塞尔曲线是2D

中N + 1个控制点的加权和
Sum(i=0,N) Wi(t).Ci

如果你有已知t值的N + 1个点Pj,你得到2(N + 1)个未知数的2(N + 1)个方程的线性系统

Sum(I=0,N) Wi(tj).Ci = Pj

可以在[0,1]中统一选择tj。另一种选择是使用控制点之间的累积线性距离(也减少到[0,1])。

如果你不想自己提供tj,这是一个非常不同的问题。然后,您可以减小曲线的程度和交易控制点的t值。通常,方程和未知数的数量不匹配,系统将会过度或不确定。

另一个困难是如果你强加点数的顺序。然后未知数t被约束为增加,导致一个困难的方程组和不等式。