📜  点与线之间的垂直距离,以2 D为单位

📅  最后修改于: 2021-05-04 23:22:31             🧑  作者: Mango

给定一个点(x1,y1)和一条线(ax + by + c = 0)。任务是找到给定点与直线之间的垂直距离。

例子 :

方法:从给定点到直线的距离(即最短距离)是从该点到给定直线的垂直距离。平面中直线的方程式由方程式ax + x + c = 0给出,其中a,b和c为实常数。点的坐标为(x1,y1)

二维中点与线之间的距离的公式由下式给出:

Distance = (| a*x1 + b*y1 + c |) / (sqrt( a*a + b*b))

下面是上述公式的实现:

程序1:

C
// C program to find the distance 
// between a given point and a 
// given line in 2 D.
#include
#include
  
// Function to find distance
void 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 Code 
int 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
// 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
# Python program to find the distance between
# a given point and a given line in 2 D.
  
import math
  
# Function to find distance
def 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 Code 
x1 = 5
y1 = 6
a = -2
b = 3
c = 4
shortest_distance(x1, y1, a, b, c)


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


C
// C program to find the distance 
// between a given point and a 
// given line in 2 D.
#include
#include
  
// Function to find distance
void 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 Code 
int 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
// Java program to find the distance 
// between a given point and a 
// given line in 2 D.
class GFG
{
// Function to find distance
static 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 Code 
public 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
# Python program to find the distance between
# a given point and a given line in 2 D.
  
import math
  
# Function to find distance
def 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 Code 
x1 = -1
y1 = 3
a = 4
b = -3
c = - 5 
shortest_distance(x1, y1, a, b, c)


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(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 Code 
public 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


输出:
Perpendicular distance is 3.32820117735

程序2

C

// C program to find the distance 
// between a given point and a 
// given line in 2 D.
#include
#include
  
// Function to find distance
void 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 Code 
int 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

// Java program to find the distance 
// between a given point and a 
// given line in 2 D.
class GFG
{
// Function to find distance
static 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 Code 
public 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

# Python program to find the distance between
# a given point and a given line in 2 D.
  
import math
  
# Function to find distance
def 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 Code 
x1 = -1
y1 = 3
a = 4
b = -3
c = - 5 
shortest_distance(x1, y1, a, b, c)  

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(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 Code 
public 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


输出:
Perpendicular distance is 3.6