给定斜率为m 的两条平行直线,以及不同的 y 截距b1和b2 。任务是找到这两条平行线之间的距离。
例子:
Input: m = 2, b1 = 4, b2 = 3
Output: 0.333333
Input: m = -4, b1 = 11, b2 = 23
Output: 0.8
方法:
- 设PQ和RS为平行线,方程为
y = mx + b1
y = mx + b2 - 这两条线之间的距离是这些线与垂线的两个交点之间的距离。让该距离为d 。
- 因此,垂直于PQ和RS的直线的方程可以是
y = -x/m - 现在,分别用 PQ 和 RS 求解垂线以获得相交点(x1, y1) & (x2, y2) ,我们得到,
- 从PQ ,
y = mx + b1
y = -x/m
(x1, y1) = ( -b1*m/(m^2 + 1), b1/(m^2 + 1)) - 从RS ,
y = mx + b2
y = -x/m
(x2, y2) = ( -b2*m/(m^2 + 1), b2/(m^2 + 1)) - 所以, d = (x1, y1) 和 (x2, y2) 之间的距离
下面是上述方法的实现:
C++
// C++ program find the distance
// between two parallel lines
#include
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
Javascript
输出:
0.333333