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:
- Let the radius of the circle = r
- co-ordinate of the centre of circle = (x1, y1)
- co-ordinate of the point = (x2, y2)
- let the distance between centre and the point = d
- As the line AC intersects the circle at B, so the shortest distance will be BC,
which is equal to (d-r)
- here using the distance formula,
d = √((x2-x1)^2 – (y2-y1)^2)
- so BC = √((x2-x1)^2 – (y2-y1)^2) – r
- so,
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 distancevoid 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 codeint main(){ double x1 = 4, y1 = 6, x2 = 35, y2 = 42, r = 5; dist(x1, y1, x2, y2, r); return 0;} |
Java
// Java program to find// the Shortest distance// between a point and// a circleclass GFG{// Function to find the shortest distancestatic 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 codepublic 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 */ |
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 |
C#
// C# program to find the Shortest distance// between a point and a circleusing System;class GFG{// Function to find the shortest distancestatic 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 codepublic 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 */ |
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?> |
Javascript
<script>// javascript program to find// the Shortest distance// between a point and// a circle// Function to find the shortest distancefunction dist(x1 , y1 , x2, y2 , r){ document.write("The shortest distance " + "between a point and a circle is " + (Math.sqrt((Math.pow((x2 - x1), 2)) + (Math.pow((y2 - y1), 2))) - r).toFixed(5));}// Driver codevar x1 = 4, y1 = 6, x2 = 35, y2 = 42, r = 5;dist(x1, y1, x2, y2, r);// This code contributed by Princi Singh </script> |
The shortest distance between a point and a circle is 42.5079
Time Complexity: O(1)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!


… [Trackback]
[…] Find More on on that Topic: geeksforgeeks.org/shortest-distance-between-a-point-and-a-circle/ […]
… [Trackback]
[…] There you will find 82820 more Info on that Topic: geeksforgeeks.org/shortest-distance-between-a-point-and-a-circle/ […]