C ++程序查找抛物线的顶点,焦点和方向

在本文中,我们将讨论一个程序,当给定抛物线方程的系数时,它可以找到抛物线的顶点,焦点和方向。

抛物线是一条曲线,其曲线上的所有点与称为焦点的单个点等距。

我们知道抛物线的一般方程是

y = ax2 + bx + c

对于该方程式,以下定义为:

Vertex -(-b/2a, 4ac - b2/4a)
Focus - (-b/2a, 4ac - b2+1/4a)
Directrix - y = c - (b2 +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