Pythonプログラムで放物線の頂点・焦点・準線を求める方法
本記事では、Pythonを使って放物線の頂点・焦点・準線を求める方法について詳しく解説します。
問題の定義
放物線の標準形は、次のような二次関数で表されます。
y = ax2 + bx + c
係数 a、b、c の値を入力として受け取り、次の3つの情報を求めるのが今回の課題です。
- 頂点の座標
- 焦点の座標
- 準線の方程式
放物線の基礎用語
頂点(Vertex)
頂点とは、放物線が最も鋭く方向転換する点のことです。グラフ上では放物線の谷(または山)の中心に位置し、放物線の対称軸は必ずこの点を通ります。
焦点(Focus)
焦点は放物線を特徴づける特別な点です。「放物線上の任意の点から焦点までの距離」と「その点から準線までの距離」は常に等しくなるという重要な性質を持ちます。この性質は、パラボラアンテナや反射式望遠鏡など、さまざまな技術分野で応用されています。
準線(Directrix)
準線とは、曲線や曲面を記述するために用いられる固定された直線のことです。
計算に使う公式
y = ax2 + bx + c で表される放物線の場合、各要素は次の公式で求められます。
頂点
x = −b / (2a)
y = (4ac − b2) / (4a)
焦点
x = −b / (2a)
y = (4ac − b2 + 1) / (4a)
準線
y = c − (b2 + 1) / (4a)
実装例
それでは、実際のPythonコードを見ていきましょう。
def findparabola(a, b, c):
print ("Vertex: (" , (-b / (2 * a)) , ", ", (((4 * a * c) - (b * b)) / (4 * a)) , ")" )
print ("Focus: (" , (-b / (2 * a)) , ", ", (((4 * a * c) - (b * b) + 1) / (4 * a)) , ")" )
print ("Directrix: y=", c - ((b * b) + 1) / (4 * a))
# main()
a = 7
b = 5
c = 3
findparabola(a, b, c)
※元のコードでは準線の計算部分に誤り(除算すべき箇所で乗算を行っていた)がありましたが、ここでは正しい公式に基づいて修正したコードを示しています。
出力結果
Vertex: ( -0.35714285714285715 , 2.107142857142857 ) Focus: ( -0.35714285714285715 , 2.142857142857143 ) Directrix: y= 2.0714285714285716
コードの解説
このプログラムでは、変数 a、b、c と関数 findparabola() はすべてグローバルスコープで宣言されています。関数内では、前述の公式に従って頂点・焦点・準線をそれぞれ計算し、print() 関数で結果を出力しています。
たとえば a = 7、b = 5、c = 3 を代入すると、頂点のx座標は −5 / (2×7) = −0.357…、y座標は (4×7×3 − 52) / (4×7) = 2.107… となり、出力結果と一致します。焦点は頂点より対称軸の方向に 1/(4a) だけ離れた位置にあり、準線は焦点と頂点を挟んで反対側に引かれる直線です。
まとめ
本記事では、Pythonを使って放物線の頂点・焦点・準線を求める方法を学びました。二次関数の係数からこれらの要素を簡単に計算できるため、グラフの描画や数学的な解析にも幅広く応用できます。ぜひご自身のプログラムでも試してみてください。
-
Pythonプログラムで放物線の頂点・焦点・準線を求める方法
本記事では、Pythonを使って放物線の頂点・焦点・準線を求める方法について詳しく解説します。 問題の定義 放物線の標準形は、次のような二次関数で表されます。 y = ax2 + bx + c 係数 a、b、c の値を入力として受け取り、次の3つの情報を求めるのが今回の課題です。 頂点の座標 焦点の座標 準線の方程式 放物線の基礎用語 頂点(Vertex) 頂点とは、放物線が最も鋭く方向転換する点のことです。グラフ上では放物線の谷(または山)の中心に位置し、放物線の対称軸は必ずこの点を通ります。 焦点(Focus) 焦点は放物線を特徴づける特別な点です。「放物線上の任意の点から焦点ま
-
放物線の頂点・焦点・準線を求めるPythonプログラム
本記事では、放物線の標準形から頂点・焦点・準線を求めるPythonプログラムについて解説します。 問題設定 放物線の方程式は一般に次の標準形で表されます。 y = ax² + bx + c 係数 a・b・c の値を受け取り、次の3つの要素を求めるのが今回の課題です。 頂点の座標 焦点の座標 準線の方程式 用語の整理 頂点:放物線が最も急激に方向を変える点のことです。放物線全体の形状を決める重要な基準点となります。 焦点:放物線上の任意の点から焦点までの距離と、準線までの距離が常に等しくなるという性質を持つ特別な点です。 準線:曲線を定義するために用いられる固定された直線のことです。放物線