从两个点找到所有可能的二次方程

时间:2015-08-09 23:14:27

标签: javascript math

我试图找到在某种情况下可以找到的所有可能的二次方程式。

在这种情况下,有两个静态笛卡尔点,然后有一个动态整数值。这两个点是所有二次方程必须经过的点才能进行限定,并且整数值会改变函数中改变形状的某些东西。我的意思的一个例子可以在这里找到:

https://jsfiddle.net/4o5pch1q/4/

现在,我有系数的这些方程:

xtwo = (75 - slider) / 50;
xone = (slider - 25) / 50;
xzero = (slider - 25) / 25;

但我需要一个更具适应性的等式

基本上,我想找到表达从上述场景中可以找到的所有方程的一般方程式。

这是我到目前为止所拥有的:

a * x 1 2 + b * x 1 + c = 0

a * x 2 2 + b * x 2 + c = 0

a * x 1 2 + b * x 1 = a * x 2 2 + b * x 2

b = a *(x 1 2 - x 2 2 )/(x 2 - x 1

a * x 1 2 + a *(x 1 2 - x 2 < / sub> 2 )/(x 2 - x 1 )* x 1 + c = 0

但这似乎并没有带来任何好处。

2 个答案:

答案 0 :(得分:4)

抛物线函数的一般形式(垂直轴)是

f(x) = ax² + bx + c

您强制要点(x₁,y₁)(x₂,y₂)必须属于该函数的图形。

即,

y₁ = ax₁² + bx₁ + c
y₂ = ax₂² + bx₂ + c

从中我们获得

c = y₁ - ax₁² - bx₁
y₂ = ax₂² + bx₂ + (y₁ - ax₁² - bx₁) = a(x₂²-x₁²) + b(x₂-x₁) + y₁

有了这些限制,我们可以摆脱参数bc

    y₂ - y₁ - a(x₂² - x₁²)   y₂-y₁
b = ────────────────────── = ───── - a(x₁+x₂)
           x₂ - x₁           x₂-x₁

                y₂-y₁                       y₂-y₁
c = y₁ - ax₁² - ─────x₁ + a(x₁+x₂)x₁ = y₁ - ─────x₁ + ax₁x₂
                x₂-x₁                       x₂-x₁

所以我们有

             ┌ y₂-y₁            ┐                y₂-y₁
f(x) = ax² + │ ───── - a(x₁+x₂) │x + y₁ - ax₁² - ─────x₁ + a(x₁+x₂)x₁
             └ x₂-x₁            ┘                x₂-x₁ 

简化一点,

       ┌          y₂-y₁ ┐                
f(x) = │a(x-x₂) + ───── │(x-x₁) + y₁
       └          x₂-x₁ ┘                

改变a你获得所有可能的功能。

答案 1 :(得分:1)

你走在正确的轨道上。根据 a ,您的最后一个等式会为您提供 c 。从秒到尾的等式为 a 提供 b 。将这两个代入你的一般方程式,就 a 而言,给出了所有三个系数。然后 a 是您想要塑造曲线的动态整数值。