Given are two parallel straight lines with slope m, and different y-intercepts b1 & b2.The task is to find the distance between these two parallel lines.
Examples:
Input: m = 2, b1 = 4, b2 = 3 Output: 0.333333 Input: m = -4, b1 = 11, b2 = 23 Output: 0.8
Approach:
- Let PQ and RS be the parallel lines, with equations
y = mx + b1
y = mx + b2
- The distance between these two lines is the distance between the two intersection points of these lines with the perpendicular line.Let that distance be d.
- So, equation of the line perpendicular to PQ and RS can be
y = -x/m
- Now, solving the perpendicular line with PQ and RS separately to get the intersecting points (x1, y1) & (x2, y2), we get,
- From PQ,
y = mx + b1
y = -x/m
(x1, y1) = ( -b1*m/(m^2 + 1), b1/(m^2 + 1))
- From RS,
y = mx + b2
y = -x/m
(x2, y2) = ( -b2*m/(m^2 + 1), b2/(m^2 + 1))
- So, d = distance between (x1, y1) and (x2, y2)
Below is the implementation of the above approach:
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> |
Output:
0.333333
Time Complexity: O(1)
Auxiliary Space: O(1)