Find if a point lies inside a Circle
Given a circle (coordinates of centre and radius) and a point (coordinate), find if the point lies inside or on the circle, or not.
Examples :
Input: x = 4, y = 4 // Given Point circle_x = 1, circle_y = 1, rad = 6; // Circle Output: Inside Input: x = 3, y = 3 // Given Point circle_x = 0, circle_y = 1, rad = 2; // Circle Output: Outside
We strongly recommend you to minimize your browser and try this yourself first.
The idea is compute distance of point from center. If distance is less than or equal to radius. the point is inside, else outside.
Below is the implementation of above idea.
C++
// C++ program to check if a point // lies inside a circle or not #include <bits/stdc++.h> using namespace std; bool isInside( int circle_x, int circle_y, int rad, int x, int y) { // Compare radius of circle with distance // of its center from given point if ((x - circle_x) * (x - circle_x) + (y - circle_y) * (y - circle_y) <= rad * rad) return true ; else return false ; } // Driver function int main() { int x = 1, y = 1; int circle_x = 0, circle_y = 1, rad = 2; isInside(circle_x, circle_y, rad, x, y) ? cout << "Inside" : cout << "Outside" ; } |
Java
// Java program to check if a point lies // inside a circle or not class GFG { static boolean isInside( int circle_x, int circle_y, int rad, int x, int y) { // Compare radius of circle with // distance of its center from // given point if ((x - circle_x) * (x - circle_x) + (y - circle_y) * (y - circle_y) <= rad * rad) return true ; else return false ; } // Driver Program to test above function public static void main(String arg[]) { int x = 1 , y = 1 ; int circle_x = 0 , circle_y = 1 , rad = 2 ; if (isInside(circle_x, circle_y, rad, x, y)) System.out.print( "Inside" ); else System.out.print( "Outside" ); } } // This code is contributed by Anant Agarwal. |
Python3
# Python3 program to check if # a point lies inside a circle # or not def isInside(circle_x, circle_y, rad, x, y): # Compare radius of circle # with distance of its center # from given point if ((x - circle_x) * (x - circle_x) + (y - circle_y) * (y - circle_y) < = rad * rad): return True ; else : return False ; # Driver Code x = 1 ; y = 1 ; circle_x = 0 ; circle_y = 1 ; rad = 2 ; if (isInside(circle_x, circle_y, rad, x, y)): print ( "Inside" ); else : print ( "Outside" ); # This code is contributed # by mits. |
C#
// C# program to check if a point lies // inside a circle or not using System; class GFG { static bool isInside( int circle_x, int circle_y, int rad, int x, int y) { // Compare radius of circle with // distance of its center from // given point if ((x - circle_x) * (x - circle_x) + (y - circle_y) * (y - circle_y) <= rad * rad) return true ; else return false ; } // Driver Program to test above function public static void Main() { int x = 1, y = 1; int circle_x = 0, circle_y = 1, rad = 2; if (isInside(circle_x, circle_y, rad, x, y)) Console.Write( "Inside" ); else Console.Write( "Outside" ); } } // This code is contributed by nitin mittal. |
PHP
<?php // PHP program to check if a point // lies inside a circle or not function isInside( $circle_x , $circle_y , $rad , $x , $y ) { // Compare radius of circle // with distance of its center // from given point if (( $x - $circle_x ) * ( $x - $circle_x ) + ( $y - $circle_y ) * ( $y - $circle_y ) <= $rad * $rad ) return true; else return false; } // Driver Code $x = 1; $y = 1; $circle_x = 0; $circle_y = 1; $rad = 2; if (isInside( $circle_x , $circle_y , $rad , $x , $y )) echo "Inside" ; else echo "Outside" ; // This code is contributed // by nitin mittal. ?> |
Javascript
<script> // Javascript program to check if a point // lies inside a circle or not function isInside(circle_x, circle_y, rad, x, y) { // Compare radius of circle with // distance of its center from // given point if ((x - circle_x) * (x - circle_x) + (y - circle_y) * (y - circle_y) <= rad * rad) return true ; else return false ; } // Driver code var x = 1; var y = 1; var circle_x = 0; var circle_y = 1; var rad = 2; if (isInside(circle_x, circle_y, rad, x, y)) { document.write( "Inside" ); } else { document.write( "Outside" ); } // This code is contributed by bunnyram19 </script> |
Output :
Inside
Time complexity: O(1) because doing constant operations
Auxiliary space: O(1)
Thanks to Utkarsh Trivedi for suggesting above solution
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Please Login to comment...