Distancia entre dos rectas paralelas

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 :
 

  1. Sean PQ y RS las rectas paralelas, con ecuaciones 
    y = mx + b1 
    y = mx + b2
     
  2. 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
     
  3. Entonces, la ecuación de la línea perpendicular a PQ y RS puede ser 
    y = -x/m 
     
  4. 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, 
     
  5. De PQ
    y = mx + b1 
    y = -x/m 
    (x1, y1) = ( -b1*m/(m^2 + 1), b1/(m^2 + 1)) 
     
  6. De RS
    y = mx + b2 
    y = -x/m 
    (x2, y2) = ( -b2*m/(m^2 + 1), b2/(m^2 + 1)) 
     
  7. Entonces, d = distancia entre (x1, y1) y (x2, y2) 
    d = \frac{\left | b2 - b1 \right |}{ sqrt( m^{2} + 1 ) }
     

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

Deja una respuesta

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