我正在尝试找到在特定情况下可以找到的所有可能的二次方程。
在这个场景中,有两个静态笛卡尔点,然后有一个动态整数值。这两个点是所有二次方程必须经过才能合格的点,整数值会改变函数中的某些内容,从而改变形状。我的意思的一个例子可以在这里找到:
https://jsfiddle.net/4o5pch1q/4/
现在,我有这些系数方程:
xtwo = (75 - slider) / 50;
xone = (slider - 25) / 50;
xzero = (slider - 25) / 25;
但我需要一个更具适应性的方程
基本上,我想找到表达上述场景中可以找到的所有方程的通用方程。
这是我到目前为止所拥有的:
a * x12 + b * x1 + c = 0
a * x22 + b * x2 + c = 0
a * x12 + b * x1 = a * x22 + b * x2
b = a * (x12 - x22)/(x 2 - x1)
a * x12 + a * (x12 - x22)/(x2 - x1) * x1 + c = 0 p>
但这似乎没有任何结果。
最佳答案
抛物线函数(具有垂直轴)的一般形式是
f(x) = ax² + bx + c
您强加点 (x₁,y₁)
和 (x2,y2)
必须属于该函数的图形。
也就是说,
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₁
有了这些限制,我们就可以去掉参数 b
和 c
:
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
你会得到所有可能的功能。
关于javascript - 从两点找到所有可能的二次方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31909731/