用 C++ 检查某个点在抛物线内、外还是抛物线上
假设给定一个抛物线(顶点坐标 (h, k) 以及焦点和顶点的距离 a),给定另一个点。我们必须找出该点是否在抛物线内。要解决这个问题,我们必须对给定点 (x, y) 求解以下方程
\left(y-k\right)^2=4a\left(x-h\right)
如果结果小于 0,则该点在抛物线内;如果是 0,则该点在抛物线上;如果大于 0,则该点在抛物线外。
示例
#include <iostream>
#include <cmath>
using namespace std;
int isInsideParabola(int h, int k, int x, int y, int a) {
int res = pow((y - k), 2) - 4 * a * (x - h);
return res;
}
int main() {
int x = 2, y = 1, h = 0, k = 0, a = 4;
if(isInsideParabola(h, k, x, y, a) > 0){
cout <<"Outside Parabola";
}
else if(isInsideParabola(h, k, x, y, a) == 0){
cout <<"On the Parabola";
} else{
cout <<"Inside Parabola";
}
}输出
Inside Parabola
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP