Check if a point is inside, outside or on the ellipse in C++

C++Server Side ProgrammingProgramming

Suppose, one ellipse is given (the center coordinate (h, k) and semi-major axis a, and semi-minor axis b), another point is also given. We have to find whether the point is inside the ellipse or not. To solve it, we have to solve the following equation for the given point (x, y).

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

If the result is less than one, then the point is inside the ellipse, otherwise not.

Example

 Live Demo

#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";
   }
}

Output

Inside Ellipse
raja
Published on 22-Oct-2019 06:40:32
Advertisements