Shortest distance between a point and a circle
Given a circle with a given radius has its centre at a particular position in the coordinate plane. In the coordinate plane, another point is given. The task is to find the shortest distance between the point and the circle.
Examples:
Input: x1 = 4, y1 = 6, x2 = 35, y2 = 42, r = 5 Output: 42.5079 Input: x1 = 0, y1 = 0, x2 = 5, y2 = 12, r = 3 Output: 10
Approach:
which is equal to (d-r)
d = √((x2-x1)^2 – (y2-y1)^2)

Below is the implementation of the above approach:
C++
// C++ program to find // the Shortest distance // between a point and // a circle #include <bits/stdc++.h> using namespace std; // Function to find the shortest distance void dist( double x1, double y1, double x2, double y2, double r) { cout << "The shortest distance " << "between a point and a circle is " << sqrt (( pow ((x2 - x1), 2)) + ( pow ((y2 - y1), 2))) - r << endl; } // Driver code int main() { double x1 = 4, y1 = 6, x2 = 35, y2 = 42, r = 5; dist(x1, y1, x2, y2, r); return 0; } |
chevron_right
filter_none
Java
// Java program to find // the Shortest distance // between a point and // a circle class GFG { // Function to find the shortest distance static void dist( double x1, double y1, double x2, double y2, double r) { System.out.println( "The shortest distance " + "between a point and a circle is " + (Math.sqrt((Math.pow((x2 - x1), 2 )) + (Math.pow((y2 - y1), 2 ))) - r)); } // Driver code public static void main(String[] args) { double x1 = 4 , y1 = 6 , x2 = 35 , y2 = 42 , r = 5 ; dist(x1, y1, x2, y2, r); } } /* This code contributed by PrinciRaj1992 */ |
chevron_right
filter_none
Python3
# Python program to find # the Shortest distance # between a point and # a circle # Function to find the shortest distance def dist(x1, y1, x2, y2, r): print ( "The shortest distance between a point and a circle is " ,((((x2 - x1) * * 2 ) + ((y2 - y1) * * 2 )) * * ( 1 / 2 )) - r); # Driver code x1 = 4 ; y1 = 6 ; x2 = 35 ; y2 = 42 ; r = 5 ; dist(x1, y1, x2, y2, r); # This code has been contributed by 29AjayKumar |
chevron_right
filter_none
C#
// C# program to find the Shortest distance // between a point and a circle using System; class GFG { // Function to find the shortest distance static void dist( double x1, double y1, double x2, double y2, double r) { Console.WriteLine( "The shortest distance " + "between a point and a circle is " + (Math.Sqrt((Math.Pow((x2 - x1), 2)) + (Math.Pow((y2 - y1), 2))) - r)); } // Driver code public static void Main(String[] args) { double x1 = 4, y1 = 6, x2 = 35, y2 = 42, r = 5; dist(x1, y1, x2, y2, r); } } /* This code contributed by PrinciRaj1992 */ |
chevron_right
filter_none
PHP
<?php // PHP program to find // the Shortest distance // between a point and // a circle // Function to find the shortest distance function dist( $x1 , $y1 , $x2 , $y2 , $r ) { echo "The shortest distance between a point and a circle is " ,sqrt((pow(( $x2 - $x1 ), 2)) + (pow(( $y2 - $y1 ), 2))) - $r ; } // Driver code $x1 = 4; $y1 = 6; $x2 = 35; $y2 = 42; $r = 5; dist( $x1 , $y1 , $x2 , $y2 , $r ); // This code is contributed by AnkitRai01 ?> |
chevron_right
filter_none
Output:
The shortest distance between a point and a circle is 42.5079
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.