Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ หาจุดยอด จุดโฟกัส และเส้นนำของพาราโบลา


หาจุดยอด (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