放物線の頂点・焦点・準線を求めるC++プログラム
本記事では、放物線の方程式の係数が与えられたときに、その頂点、焦点、準線を求めるC++プログラムについて解説します。
放物線とは、曲線上のすべての点が「焦点」と呼ばれる1つの点から等距離にある曲線のことです。
放物線の一般方程式は次のとおりです。
y = ax2 + bx + c
この方程式に対して、頂点・焦点・準線はそれぞれ次の式で表されます。
頂点(Vertex):(-b/2a, (4ac − b2)/4a) 焦点(Focus):(-b/2a, (4ac − b2 + 1)/4a) 準線(Directrix):y = c − (b2 + 1) × 4a
各要素の意味
- 頂点(Vertex):放物線の向きが変わる点であり、放物線の対称軸上に位置します。
- 焦点(Focus):放物線上のすべての点から等距離にある基準となる点です。
- 準線(Directrix):焦点とともに放物線を定義するために用いられる直線で、曲線上の各点は焦点までの距離と準線までの距離が等しくなります。
C++による実装例
以下のプログラムでは、係数 a、b、c を引数として受け取る calc_para 関数を定義し、上記の公式に従って頂点・焦点・準線を計算して出力します。
#include <iostream>
using namespace std;
void calc_para(float a, float b, float c) {
cout << "Vertex- (" << (-b / (2 * a)) << ", "
<< (((4 * a * c) - (b * b)) / (4 * a)) << ")" << endl;
cout << "Focus- (" << (-b / (2 * a)) << ", "
<< (((4 * a * c) - (b * b) + 1) / (4 * a)) << ")" << endl;
cout << "Directrix- y=" << c - ((b * b) + 1) * 4 * a << endl;
}
int main() {
float a = 23, b = 34, c = 5;
calc_para(a, b, c);
return 0;
}
実行結果
この例では、係数として a = 23、b = 34、c = 5 を代入しています。実行すると、次の出力が得られます。
Vertex- (-0.73913, -7.56522) Focus- (-0.73913, -7.55435) Directrix- y=-106439
まとめ
このように、放物線の一般式 y = ax2 + bx + c の係数さえわかれば、頂点・焦点・準線を数式に沿って簡単に計算できます。C++では浮動小数点型 float を使うことで、小数点以下を含む正確な座標値を出力できる点もポイントです。
-
Pythonプログラムで放物線の頂点・焦点・準線を求める方法
本記事では、Pythonを使って放物線の頂点・焦点・準線を求める方法について詳しく解説します。 問題の定義 放物線の標準形は、次のような二次関数で表されます。 y = ax2 + bx + c 係数 a、b、c の値を入力として受け取り、次の3つの情報を求めるのが今回の課題です。 頂点の座標 焦点の座標 準線の方程式 放物線の基礎用語 頂点(Vertex) 頂点とは、放物線が最も鋭く方向転換する点のことです。グラフ上では放物線の谷(または山)の中心に位置し、放物線の対称軸は必ずこの点を通ります。 焦点(Focus) 焦点は放物線を特徴づける特別な点です。「放物線上の任意の点から焦点ま
-
放物線の頂点・焦点・準線を求めるPythonプログラム
本記事では、放物線の標準形から頂点・焦点・準線を求めるPythonプログラムについて解説します。 問題設定 放物線の方程式は一般に次の標準形で表されます。 y = ax² + bx + c 係数 a・b・c の値を受け取り、次の3つの要素を求めるのが今回の課題です。 頂点の座標 焦点の座標 準線の方程式 用語の整理 頂点:放物線が最も急激に方向を変える点のことです。放物線全体の形状を決める重要な基準点となります。 焦点:放物線上の任意の点から焦点までの距離と、準線までの距離が常に等しくなるという性質を持つ特別な点です。 準線:曲線を定義するために用いられる固定された直線のことです。放物線