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

标签 javascript math

我正在尝试找到在特定情况下可以找到的所有可能的二次方程。

在这个场景中,有两个静态笛卡尔点,然后有一个动态整数值。这两个点是所有二次方程必须经过才能合格的点,整数值会改变函数中的某些内容,从而改变形状。我的意思的一个例子可以在这里找到:

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₁

有了这些限制,我们就可以去掉参数 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你会得到所有可能的功能。

关于javascript - 从两点找到所有可能的二次方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31909731/

相关文章:

c# - % (mod) 解释

javascript - 检测对多个背景图像的支持?

javascript - 检查图像的像素数据

oop - 编程语言背后是否有任何数学模型或理论?

javascript - 如何将 Canvas 图像数据转换为嵌套象限

c++ - __int64 在 32 位机器上?

math - 如何计算数学函数的曲线长度?

javascript - 如何使用 Jest/Puppeteer 等待元素从 DOM 中移除

javascript - 是否可以根据Reactjs中实际布局的html来操作组件?

javascript - 触发多个 Action 并等待它们解析 RxJS/Redux Observables