Distancia perpendicular entre un punto y una recta en 2 D

Dado un punto (x1, y1) y una recta (ax + by + c = 0). La tarea es encontrar la distancia perpendicular entre el punto dado y la línea.
 

Ejemplos: 
 

Entrada: x1 = 5, y1 = 6, a = -2, b = 3, c = 4 
Salida: 3,32820117735
Entrada: x1 = -1, y1 = 3, a = 4, b = -3, c = – 5 
Salida : 3,6

Aproximación: La distancia (es decir, la distancia más corta) desde un punto dado hasta una línea es la distancia perpendicular desde ese punto hasta la línea dada. La ecuación de una recta en el plano viene dada por la ecuación ax + by + c = 0, donde a, b y c son constantes reales. la coordenada del punto es (x1, y1)
La fórmula para la distancia entre un punto y una línea en 2-D está dada por:
 

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

A continuación se muestra la implementación de las fórmulas anteriores: 
Programa 1: 
 

C++

// 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 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));
    cout << "Perpendicular distance is, " << d << endl;
    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  Nidhi goel

C

// 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 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

<?php
// PHP 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)
{
    $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..
?>

Javascript

<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>
Producción: 

Perpendicular distance is 3.32820117735

 

Complejidad de Tiempo : O(1)
Espacio Auxiliar : O(1)

Programa 2
 

C++

// 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 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));
    cout << "Perpendicular distance is " << d << endl;
    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 Nidhi goel

C

// 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 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

<?php
// PHP 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)
{
    $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..
?>

Javascript

<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)
{
    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>
Producción: 

Perpendicular distance is 3.6

 

Complejidad de Tiempo : O(1)
Espacio Auxiliar : O(1)

Publicación traducida automáticamente

Artículo escrito por Tanmay_Jain y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *