Check if a point is inside, outside or on the parabola - GeeksforGeeks

15 Mar, 2021
Given a parabola with vertex (h, k), and , the distance between focus and vertex. The task is to determine if the point (x, y) is inside, outside or on the parabola.Examples:  
Input: h = 100, k = 500, x = 20, y = 10, a = 4 
Output: Outside

Input: h = 0, k = 0, x = 2, y = 1, a = 4
Output: Inside
 
 
Approach: It is very simple, we have to just solve the equation for point (x, y): 
(y-k)^2 = 4a(x-h) or, (y-k)^2 – 4a(x-h) = 0  
After solving, if the result comes less than 0 then the point lies within, else if it comes exact 0 then the point lies on the parabola, and if the result is greater than 0 unsatisfied the point lies outside of the parabola. Here we are taking a parabola whose axis of symmetry is y = k, although the approach is applicable for any parabola.Below is the implementation of above approach:  
C++
Java
Python3
C#
PHP
Javascript
// C++ Program to check if the point// lies within the parabola or not#include <bits/stdc++.h>using namespace std; // Function to check the pointint checkpoint(int h, int k, int x, int y, int a){     // checking the equation of    // parabola with the given point    int p = pow((y - k), 2) - 4 * a * (x - h);     return p;} // Driver codeint main(){    int h = 0, k = 0, x = 2, y = 1, a = 4;     if (checkpoint(h, k, x, y, a) > 0)        cout << "Outside" << endl;     else if (checkpoint(h, k, x, y, a) == 0)        cout << "On the parabola" << endl;     else        cout << "Inside" << endl;     return 0;}
// Java Program to check if the point// lies within the parabola or not class solution{ // Function to check the pointstatic int checkpoint(int h, int k, int x, int y, int a){    // checking the equation of    // parabola with the given point    int p =(int) Math.pow((y - k), 2) - 4 * a * (x - h);     return p;} //driver codepublic static void main(String arr[]){     int h = 0, k = 0, x = 2, y = 1, a = 4;     if (checkpoint(h, k, x, y, a) > 0)    System.out.println("Outside");     else if (checkpoint(h, k, x, y, a) == 0)    System.out.println("On the parabola");     else    System.out.println("Inside"); }}
# Python3 Program to check if the point# lies within the parabola or not #  Function to check the pointdef checkpoint(h, k, x, y, a):     # checking the equation of    # parabola with the given point    p = pow((y - k), 2) - 4 * a * (x - h)     return p # Driver codeif __name__ == "__main__" :         h = 0    k = 0    x = 2    y = 1    a = 4     if checkpoint(h, k, x, y, a) > 0:        print ("Outside\n")     elif checkpoint(h, k, x, y, a) == 0:        print ("On the parabola\n")     else:        print ("Inside\n");         # This code is contributed by# Surendra_Gangwar
// C# Program to check if the point// lies within the parabola or notusing System; class GFG{ // Function to check the pointpublic static int checkpoint(int h, int k,                             int x, int y,                             int a){    // checking the equation of    // parabola with the given point    int p = (int) Math.Pow((y - k), 2) -                            4 * a * (x - h);     return p;} // Driver codepublic static void Main(string[] arr){    int h = 0, k = 0,        x = 2, y = 1, a = 4;     if (checkpoint(h, k, x, y, a) > 0)    {        Console.WriteLine("Outside");    }     else if (checkpoint(h, k, x, y, a) == 0)    {        Console.WriteLine("On the parabola");    }     else    {        Console.WriteLine("Inside");    }}} // This code is contributed// by Shrikant13
<?php// PHP Program to check if// the point lies within// the parabola or not // Function to check the pointfunction checkpoint($h, $k, $x,                        $y, $a){     // checking the equation of    // parabola with the given point    $p = pow(($y - $k), 2) - 4 *              $a * ($x - $h);     return $p;} // Driver code$h = 0; $k = 0; $x = 2;$y = 1; $a = 4; if (checkpoint($h, $k, $x,               $y, $a) > 0)    echo "Outside";else if (checkpoint($h, $k, $x,                    $y, $a) == 0)    echo "On the parabola";else    echo "Inside"; // This code is contributed// by inder_verma?>
<script> // javascript Program to check if the point// lies within the parabola or not // Function to check the pointfunction checkpoint(h , k , x , y , a){    // checking the equation of    // parabola with the given point    var p =parseInt(Math.pow((y - k), 2) - 4 * a * (x - h));     return p;} //driver codevar h = 0, k = 0, x = 2, y = 1, a = 4; if (checkpoint(h, k, x, y, a) > 0)    document.write("Outside"); else if (checkpoint(h, k, x, y, a) == 0)    document.write("On the parabola"); else    document.write("Inside"); // This code is contributed by 29AjayKumar </script>
Inside
 
SURENDRA_GANGWAR
shrikanth13
inderDuMCA
29AjayKumar
Technical Scripter 2018
Geometric
Mathematical
Technical Scripter
Mathematical
Geometric
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Haversine formula to find distance between two points on a sphere
Program to find slope of a line
Equation of circle when three points on the circle are given
Program to find line passing through 2 Points
Maximum Manhattan distance between a distinct pair from N coordinates
Program for Fibonacci numbers
Write a program to print all permutations of a given string
C++ Data Types
Set in C++ Standard Template Library (STL)
Coin Change | DP-7