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