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


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

Updated on: 22-Oct-2019

568 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements