这是一个可以用线性方程组解决的代数问题。http://en.wikipedia.org/wiki/System_of_linear_equations
通常,通过 N 个点的曲线是一个 (N-1) 次多项式。所以如果你想找到一个通过 3 个点的多项式(例如(-1,1), (0, 3), (1, -1)
),你需要一个像这样的二次方程:ax^2+bx+c=y
。
要找到 a、b 和 c 的值,您需要插入 x 和 y 坐标,然后求解方程组。
a(-1)^2+b(-1)+c=1
a(0)^2+b(0)+c=3
a(1)^2+b(1)+c=-1
简化为
a-b+c=1
c=3
a+b+c=-1
很好,我们已经有了c=3。结合第一个方程和第二个方程,我们可以得到
2a+2c=0
因为我们知道 c=3,所以这变成
2a+3=0
所以a=-1.5
。
从这里我们可以将 a 和 c 的这些值放入最后一个等式中得到这个
-1.5+b+3=-1
这给出了一个b=-3.5
. 将 a、b 和 c 的这些值代入二次方程会得出以下结果
-1.5x^2-3.5x+3=y
我没有仔细检查我的数学,但如果我做对了,这将给出一条穿过三个点的二次曲线。
毫无疑问,已经有一个图书馆可以做到这一点,但我很抱歉地说我不知道那会是什么。希望了解问题背后的数学能帮助您找到答案。