Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

점이 C++에서 내부, 외부 또는 타원에 있는지 확인

<시간/>

하나의 타원(중심 좌표(h, k) 및 반장축 a, 반단축 b)이 주어지고 다른 점도 주어진다고 가정합니다. 점이 타원 내부에 있는지 여부를 찾아야 합니다. 이를 풀기 위해서는 주어진 점(x, y)에 대해 다음 방정식을 풀어야 합니다.

$$\frac{\left(x-h\right)^2}{a^2}+\frac{\left(y-k\right)^2}{b^2}\leq1$$

결과가 1보다 작으면 점이 타원 안에 있고 그렇지 않으면 타원 안에 있습니다.

#include <iostream>
#include <cmath>
using namespace std;
bool isInsideEllipse(int h, int k, int x, int y, int a, int b) {
   int res = (pow((x - h), 2) / pow(a, 2)) + (pow((y - k), 2) / pow(b, 2));
   return res;
}
int main() {
   int x = 2, y = 1, h = 0, k = 0, a = 4, b = 5;
   if(isInsideEllipse(h, k, x, y, a, b) > 1){
      cout <<"Outside Ellipse";
   }
   else if(isInsideEllipse(h, k, x, y, a, b) == 1){
      cout <<"On the Ellipse";
   } else{
      cout <<"Inside Ellipse";
   }
}

출력

Inside Ellipse