ちょっとプログラム上で必要になったので、
座標3点が与えられたとき2次関数を求める式のメモ。
結果、式だけわかればいいので初等幾何的な方法で無理やり求めます。
2次関数
y = ax^2 + bx + c
が、座標(x1, y1), (x2, y2), (x3, y3)を通るとき、
a, b, cの値を頑張って計算すると・・・
a = ((y1 - y2) * (x1 - x3) - (y1 - y3) * (x1 - x2)) / ((x1 - x2) * (x1 - x3) * (x2 - x3));
b = (y1 - y2) / (x1 - x2) - a * (x1 + x2);
c = y1 - a * x1 * x1 - b * x1;
となりました。
簡単な検証したところ、一応これであってるみたい。
もうちょっと綺麗に書けるかもしれないですが、とりあえずこれで間に合わせます。
座標3点が与えられたとき2次関数を求める式のメモ。
結果、式だけわかればいいので初等幾何的な方法で無理やり求めます。
2次関数
y = ax^2 + bx + c
が、座標(x1, y1), (x2, y2), (x3, y3)を通るとき、
a, b, cの値を頑張って計算すると・・・
a = ((y1 - y2) * (x1 - x3) - (y1 - y3) * (x1 - x2)) / ((x1 - x2) * (x1 - x3) * (x2 - x3));
b = (y1 - y2) / (x1 - x2) - a * (x1 + x2);
c = y1 - a * x1 * x1 - b * x1;
となりました。
簡単な検証したところ、一応これであってるみたい。
もうちょっと綺麗に書けるかもしれないですが、とりあえずこれで間に合わせます。