点的二次方程

Quadratic Equation From Points

我需要实现一个找到射弹轨迹的函数,我有三个点 - origindestination 和点最大高度

我需要找到包含这些点的正确二次函数。

我很难弄清楚该怎么做。我应该从哪里开始?

假设您在 y 轴上有 origindestination,即 x1x2。如果没有,您可以稍后移动它们。

a*x*x + b*x + c = 0//equation
x1*x2=(c/a);
c = (x1*x2)*a;
x1+x2=(-b/a);
b = (x1+x2)/(-a);
a*((x1+x2)/2)^2 + b*((x1+x2)/2) + c = h//max height
let X=(x1+x2)/2;
a*X*X + ((2*X)/(-a))*X + (x1*x2)*a - h = 0;

现在您可以遍历 a=0 直到上面的等式成立,因为您拥有所有值 Xx1x2h .

double eqn = (-h),a=0;//a=0.Assuming you have declared x1,x2 and X already
while(eqn!=0)
{
    a++;
    eqn = a*X*X + ((2*X)/(-a))*X + (x1*x2)*a - h;
}
b = (x1+x2)/(-a);
c = (x1*x2)*a;

这样你就得到了所有的系数。