Dada una elipse centrada en (h, k) , con semieje mayor a , semieje menor b , ambos alineados con el plano cartesiano. La tarea es determinar si el punto (x, y) está dentro del área delimitada por la elipse.
Ejemplos:
Input: h = 0, k = 0, x = 2, y = 1, a = 4, b = 5 Output: Inside Input: h = 1, k = 2, x = 200, y = 100, a = 6, b = 5 Output: Outside
Enfoque : tenemos que resolver la ecuación de la elipse para el punto dado (x, y) ,
(xh)^2/a^2 + (yk)^2/b^2 <= 1
Si en la inecuación, los resultados son menores que 1 , entonces el punto se encuentra dentro , de lo contrario, si es exactamente 1 , entonces el punto se encuentra en la elipse , y si la inecuación no se cumple, entonces el punto se encuentra fuera de la elipse .
A continuación se muestra la implementación del enfoque anterior :
C++
// C++ Program to check if the point // lies within the ellipse or not #include <bits/stdc++.h> using namespace std; // Function to check the point int checkpoint(int h, int k, int x, int y, int a, int b) { // checking the equation of // ellipse with the given point int p = (pow((x - h), 2) / pow(a, 2)) + (pow((y - k), 2) / pow(b, 2)); return p; } // Driver code int main() { int h = 0, k = 0, x = 2, y = 1, a = 4, b = 5; if (checkpoint(h, k, x, y, a, b) > 1) cout << "Outside" << endl; else if (checkpoint(h, k, x, y, a, b) == 1) cout << "On the ellipse" << endl; else cout << "Inside" << endl; return 0; }
Java
// Java Program to check if the point // lies within the ellipse or not import java.util.*; class solution { // Function to check the point static int checkpoint(int h, int k, int x, int y, int a, int b) { // checking the equation of // ellipse with the given point int p = ((int)Math.pow((x - h), 2) / (int)Math.pow(a, 2)) + ((int)Math.pow((y - k), 2) / (int)Math.pow(b, 2)); return p; } //Driver code public static void main(String arr[]) { int h = 0, k = 0, x = 2, y = 1, a = 4, b = 5; if (checkpoint(h, k, x, y, a, b) > 1) System.out.println("Outside"); else if (checkpoint(h, k, x, y, a, b) == 1) System.out.println("On the ellipse"); else System.out.println("Inside"); } } //This code is contributed by Surendra_Gangwar
Python 3
# Python 3 Program to check if # the point lies within the # ellipse or not import math # Function to check the point def checkpoint( h, k, x, y, a, b): # checking the equation of # ellipse with the given point p = ((math.pow((x - h), 2) // math.pow(a, 2)) + (math.pow((y - k), 2) // math.pow(b, 2))) return p # Driver code if __name__ == "__main__": h = 0 k = 0 x = 2 y = 1 a = 4 b = 5 if (checkpoint(h, k, x, y, a, b) > 1): print ("Outside") elif (checkpoint(h, k, x, y, a, b) == 1): print("On the ellipse") else: print("Inside") # This code is contributed # by ChitraNayal
C#
// C# Program to check if the point // lies within the ellipse or not using System; class GFG { // Function to check the point static int checkpoint(int h, int k, int x, int y, int a, int b) { // checking the equation of // ellipse with the given point int p = ((int)Math.Pow((x - h), 2) / (int)Math.Pow(a, 2)) + ((int)Math.Pow((y - k), 2) / (int)Math.Pow(b, 2)); return p; } // Driver code public static void Main() { int h = 0, k = 0, x = 2, y = 1, a = 4, b = 5; if (checkpoint(h, k, x, y, a, b) > 1) Console.WriteLine("Outside"); else if (checkpoint(h, k, x, y, a, b) == 1) Console.WriteLine("On the ellipse"); else Console.WriteLine("Inside"); } } // This code is contributed by inder_verma
PHP
<?php // PHP Program to check if the point // lies within the ellipse or not // Function to check the point function checkpoint($h, $k, $x, $y, $a, $b) { // checking the equation of // ellipse with the given point $p = (pow(($x - $h), 2) / pow($a, 2)) + (pow(($y - $k), 2) / pow($b, 2)); return $p; } // Driver code $h = 0; $k = 0; $x = 2; $y = 1; $a = 4; $b = 5; if (checkpoint($h, $k, $x, $y, $a, $b) > 1) echo ("Outside"); else if (checkpoint($h, $k, $x, $y, $a, $b) == 1) echo("On the ellipse" ); else echo ("Inside") ; // This code is contributed by Shivi_Aggarwal ?>
Javascript
<script> // javascript Program to check if the point // lies within the ellipse or not // Function to check the point function checkpoint(h , k , x , y , a , b) { // checking the equation of // ellipse with the given point var p = (parseInt(Math.pow((x - h), 2)) / parseInt(Math.pow(a, 2))) + (parseInt(Math.pow((y - k), 2)) / parseInt(Math.pow(b, 2))); return p; } // Driver code var h = 0, k = 0, x = 2, y = 1, a = 4, b = 5; if (checkpoint(h, k, x, y, a, b) > 1) document.write("Outside"); else if (checkpoint(h, k, x, y, a, b) == 1) document.write("On the ellipse"); else document.write("Inside"); // This code is contributed by 29AjayKumar </script>
Inside
Complejidad del tiempo: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por IshwarGupta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA