ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

3点から2次関数を求める(無理やり)

2010年11月10日 23時10分34秒 | ソフト開発日記
ちょっとプログラム上で必要になったので、
座標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;

となりました。
簡単な検証したところ、一応これであってるみたい。
もうちょっと綺麗に書けるかもしれないですが、とりあえずこれで間に合わせます。