Se dan dos líneas rectas paralelas con pendiente m y diferentes intersecciones en y b1 y b2 . La tarea es encontrar la distancia entre estas dos líneas paralelas.
Ejemplos:
Input: m = 2, b1 = 4, b2 = 3 Output: 0.333333 Input: m = -4, b1 = 11, b2 = 23 Output: 0.8
Enfoque :
- Sean PQ y RS las rectas paralelas, con ecuaciones
y = mx + b1
y = mx + b2
- La distancia entre estas dos rectas es la distancia entre los dos puntos de intersección de estas rectas con la recta perpendicular. Sea esa distancia d .
- Entonces, la ecuación de la línea perpendicular a PQ y RS puede ser
y = -x/m
- Ahora, resolviendo la línea perpendicular con PQ y RS por separado para obtener los puntos de intersección (x1, y1) y (x2, y2) , obtenemos,
- De PQ ,
y = mx + b1
y = -x/m
(x1, y1) = ( -b1*m/(m^2 + 1), b1/(m^2 + 1))
- De RS ,
y = mx + b2
y = -x/m
(x2, y2) = ( -b2*m/(m^2 + 1), b2/(m^2 + 1))
- Entonces, d = distancia entre (x1, y1) y (x2, y2)
A continuación se muestra la implementación del enfoque anterior :
C++
// C++ program find the distance // between two parallel lines #include <bits/stdc++.h> using namespace std; // Function to find the distance // between parallel lines double dist(double m, double b1, double b2) { double d = fabs(b2 - b1) / ((m * m) - 1); return d; } // Driver Code int main() { double m = 2, b1 = 4, b2 = 3; cout << dist(m, b1, b2); return 0; }
Java
// Java program find the distance // between two parallel lines class GFG { // Function to find the distance // between parallel lines static double dist(double m, double b1, double b2) { double d = Math.abs(b2 - b1) / ((m * m) - 1); return d; } // Driver Code public static void main(String[] args) { double m = 2, b1 = 4, b2 = 3; System.out.println(dist(m, b1, b2)); } } // This code is contributed by Code_Mech.
Python3
# Python3 program find the distance # between two parallel lines # Function to find the distance # between parallel lines def dist(m, b1, b2): d = abs(b2 - b1) / ((m * m) - 1); return d; # Driver Code def main(): m, b1, b2 =2,4, 3; print(dist(m, b1, b2)); if __name__ == '__main__': main() # This code contributed by PrinciRaj1992
C#
// C# program find the distance // between two parallel lines using System; class GFG { // Function to find the distance // between parallel lines static double dist(double m, double b1, double b2) { double d = Math.Abs(b2 - b1) / ((m * m) - 1); return d; } // Driver Code public static void Main() { double m = 2, b1 = 4, b2 = 3; Console.Write(dist(m, b1, b2)); } } // This code is contributed by Akanksha Rai
PHP
<?php // PHP program find the distance // between two parallel lines // Function to find the distance // between parallel lines function dist($m, $b1, $b2) { $d = abs($b2 - $b1) / (($m * $m) - 1); return $d; } // Driver Code $m = 2; $b1 = 4; $b2 = 3; echo dist($m, $b1, $b2); // This code is contributed by Ryuga ?>
Javascript
<script> // javascript program find the distance // between two parallel lines // Function to find the distance // between parallel lines function dist(m, b1 , b2) { var d = Math.abs(b2 - b1) / ((m * m) - 1); return d; } // Driver Code var m = 2, b1 = 4, b2 = 3; document.write(dist(m, b1, b2).toFixed(5)); // This code contributed by Princi Singh </script>
Producción:
0.333333
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por IshwarGupta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA