Perpendicular distance between a point and a Line in 2 D

16 Jun, 2022
Given a point (x1, y1) and a line (ax + by + c = 0). The task is to find the perpendicular distance between the given point and the line. 
Examples :  
Input: x1 = 5, y1 = 6, a = -2, b = 3, c = 4 Output:3.32820117735Input: x1 = -1, y1 = 3, a = 4, b = -3, c = – 5 Output:3.6
 
Approach: The distance (i.e shortest distance) from a given point to a line is the perpendicular distance from that point to the given line. The equation of a line in the plane is given by the equation ax + by + c = 0, where a, b and c are real constants. the co-ordinate of the point is (x1, y1)The formula for distance between a point and a line in 2-D is given by: 
Distance = (| a*x1 + b*y1 + c |) / (sqrt( a*a + b*b))
Below is the implementation of the above formulae: Program 1:  
C++
C
Java
Python
C#
PHP
Javascript
// C++ program to find the distance// between a given point and a// given line in 2 D.#include <bits/stdc++.h>using namespace std; // Function to find distancevoid shortest_distance(float x1, float y1, float a, float b,                       float c){    float d = fabs((a * x1 + b * y1 + c))              / (sqrt(a * a + b * b));    cout << "Perpendicular distance is, " << d << endl;    return;} // Driver Codeint main(){    float x1 = 5;    float y1 = 6;    float a = -2;    float b = 3;    float c = 4;    shortest_distance(x1, y1, a, b, c);    return 0;} // This code is contributed  Nidhi goel
// C program to find the distance// between a given point and a// given line in 2 D.#include<stdio.h>#include<math.h> // Function to find distancevoid shortest_distance(float x1, float y1,                       float a, float b,                       float c){    float d = fabs((a * x1 + b * y1 + c)) /             (sqrt(a * a + b * b));    printf("Perpendicular distance is %f\n", d);    return;} // Driver Codeint main(){    float x1 = 5;    float y1 = 6;    float a = -2;    float b = 3;    float c = 4;    shortest_distance(x1, y1, a, b, c);    return 0;} // This code is contributed// by Amber_Saxena.
// Java program to find// the distance between// a given point and a// given line in 2 D.import java.io.*; class GFG{         // Function to find distance    static void shortest_distance(float x1, float y1,                                  float a, float b,                                  float c)    {        double d = Math.abs(((a * x1 + b * y1 + c)) /                  (Math.sqrt(a * a + b * b)));        System.out.println("Perpendicular " +                         "distance is " + d);        return;    }     // Driver code    public static void main (String[] args)    {        float x1 = 5;        float y1 = 6;        float a = -2;        float b = 3;        float c = 4;        shortest_distance(x1, y1, a, b, c);    }} // This code is contributed// by Mahadev.
# Python program to find the distance between# a given point and a given line in 2 D. import math # Function to find distancedef shortest_distance(x1, y1, a, b, c):          d = abs((a * x1 + b * y1 + c)) / (math.sqrt(a * a + b * b))    print("Perpendicular distance is"),d      # Driver Codex1 = 5y1 = 6a = -2b = 3c = 4shortest_distance(x1, y1, a, b, c) 
// C# program to find// the distance between// a given point and a// given line in 2 D.using System; class GFG{         // Function to find distance    static void shortest_distance(float x1, float y1,                                float a, float b,                                float c)    {        double d = Math.Abs(((a * x1 + b * y1 + c)) /                (Math.Sqrt(a * a + b * b)));        Console.WriteLine("Perpendicular " +                        "distance is " + d);        return;    }     // Driver code    public static void Main ()    {        float x1 = 5;        float y1 = 6;        float a = -2;        float b = 3;        float c = 4;        shortest_distance(x1, y1, a, b, c);    }} // This code is contributed// by inder_verma..
<?php// PHP program to find the distance// between a given point and a// given line in 2 D. // Function to find distancefunction shortest_distance($x1, $y1, $a, $b, $c){    $d = abs(($a * $x1 + $b * $y1 + $c)) /               (sqrt($a * $a + $b * $b));    echo"Perpendicular distance is ", $d;} // Driver Code$x1 = 5;$y1 = 6;$a = -2;$b = 3;$c = 4;shortest_distance($x1, $y1, $a, $b, $c); // This code is contributed// by inder_verma..?>
<script> // Javascript program to find// the distance between// a given point and a// given line in 2 D.     // Function to find distance    function shortest_distance(x1 , y1 , a , b , c)    {        var d = Math.abs((        (a * x1 + b * y1 + c)) / (Math.sqrt(a * a + b * b)));        document.write("Perpendicular " +        "distance is " + d.toFixed(11));        return;    }     // Driver code             var x1 = 5;        var y1 = 6;        var a = -2;        var b = 3;        var c = 4;        shortest_distance(x1, y1, a, b, c); // This code is contributed by todaysgaurav </script>
Perpendicular distance is 3.32820117735
 
Time Complexity: O(1)Auxiliary Space: O(1)
Program 2:  
C++
C
Java
Python
C#
PHP
Javascript
// C++ program to find the distance// between a given point and a// given line in 2 D.#include <bits/stdc++.h>using namespace std; // Function to find distancevoid shortest_distance(float x1, float y1, float a, float b,                       float c){    float d = fabs((a * x1 + b * y1 + c))              / (sqrt(a * a + b * b));    cout << "Perpendicular distance is " << d << endl;    return;} // Driver Codeint main(){    float x1 = -1;    float y1 = 3;    float a = 4;    float b = -3;    float c = -5;    shortest_distance(x1, y1, a, b, c);    return 0;} // This code is contributed by Nidhi goel
// C program to find the distance// between a given point and a// given line in 2 D.#include<stdio.h>#include<math.h> // Function to find distancevoid shortest_distance(float x1, float y1,                       float a, float b,                       float c){    float d = fabs((a * x1 + b * y1 + c)) /              (sqrt(a * a + b * b));    printf("Perpendicular distance is %f\n", d);    return;} // Driver Codeint main(){    float x1 = -1;    float y1 = 3;    float a = 4;    float b = -3;    float c = - 5;    shortest_distance(x1, y1, a, b, c);    return 0;} // This code is contributed// by Amber_Saxena.
// Java program to find the distance// between a given point and a// given line in 2 D.class GFG{// Function to find distancestatic void shortest_distance(double x1, double y1,                              double a, double b,                              double c){    double d = Math.abs((a * x1 + b * y1 + c)) /              (Math.sqrt(a * a + b * b));    System.out.println("Perpendicular distance is " + d);    return;} // Driver Codepublic static void main(String[] args){    double x1 = -1;    double y1 = 3;    double a = 4;    double b = -3;    double c = - 5;    shortest_distance(x1, y1, a, b, c);}} // This code is contributed// by mits
# Python program to find the distance between# a given point and a given line in 2 D. import math # Function to find distancedef shortest_distance(x1, y1, a, b, c):          d = abs((a * x1 + b * y1 + c)) / (math.sqrt(a * a + b * b))    print("Perpendicular distance is"),d     # Driver Codex1 = -1y1 = 3a = 4b = -3c = - 5shortest_distance(x1, y1, a, b, c) 
// C# program to find the distance// between a given point and a// given line in 2 D.using System; class GFG{// Function to find distancestatic void shortest_distance(double x1, double y1,                              double a, double b,                              double c){    double d = Math.Abs((a * x1 + b * y1 + c)) /              (Math.Sqrt(a * a + b * b));    Console.WriteLine("Perpendicular distance is " + d);    return;} // Driver Codepublic static void Main(){    double x1 = -1;    double y1 = 3;    double a = 4;    double b = -3;    double c = - 5;    shortest_distance(x1, y1, a, b, c);}} // This code is contributed// by Akanksha Rai
<?php// PHP program to find the distance// between a given point and a// given line in 2 D. // Function to find distancefunction shortest_distance($x1, $y1, $a,                           $b, $c){    $d = abs((int)($a * $x1 + $b * $y1 + $c) /              sqrt($a * $a + $b * $b));    echo"Perpendicular distance is ", $d;} // Driver Code$x1 = -1;$y1 = 3;$a = 4;$b = -3;$c = -5;shortest_distance($x1, $y1, $a, $b, $c); // This code is contributed// by inder_verma..?>
<script> // Javascript program to find the distance// between a given point and a// given line in 2 D. // Function to find distancefunction shortest_distance(x1, y1, a, b, c){    let d = Math.abs((a * x1 + b * y1 + c)) /              (Math.sqrt(a * a + b * b));    document.write("Perpendicular distance is " + d);    return;}     // driver program    let x1 = -1;    let y1 = 3;    let a = 4;    let b = -3;    let c = - 5;    shortest_distance(x1, y1, a, b, c);     // This code is contributed by susmitakundugoaldanga.</script>
Perpendicular distance is 3.6
 
Time Complexity: O(1)Auxiliary Space: O(1)
Amber_Saxena
Mahadev99
inderDuMCA
Mithun Kumar
Akanksha_Rai
susmitakundugoaldanga
todaysgaurav
simranarora5sos
amankr0211
classroompxico
math
school-programming
Geometric
Mathematical
School Programming
Mathematical
Geometric
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.