หาจุดยอด (vertex), จุดโฟกัส (focus) และเส้นนำ (directrix) ของพาราโบลา จากสมการมาตรฐาน:
y = ax² + bx + c
สูตร:
Vertex: (-b/2a, (4ac - b²)/4a) Focus: (-b/2a, (4ac - b² + 1)/4a) Directrix: y = c - (b² + 1)/4a
ตัวอย่างโค้ด
#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;
}
ผลลัพธ์
Vertex- (-0.73913, -7.56522) Focus- (-0.73913, -7.55435) Directrix- y=-106439