求过点(-1,-3)且垂直于2x+7y+5=0的直线方程及Python实现方法
垂直直线方程求解结果
数学推导
已知直线标准式为 2x + 7y + 5 = 0,对应通用格式 Ax + By + C = 0 下参数为A=2、B=7:
- 原直线斜率:$k_1 = -\frac{A}{B} = -\frac{2}{7}$
- 两条垂直直线斜率乘积为-1,因此目标直线斜率 $k_2 = \frac{7}{2}$
- 目标直线过点(-1, -3),代入点斜式公式 $y - y_0 = k_2(x - x_0)$ 得:
$y + 3 = \frac{7}{2}(x + 1)$ - 整理为一般式最终结果:
7x - 2y + 1 = 0
Python实现代码
以下代码支持输入任意直线的一般式参数、指定过点,直接输出对应垂直直线的一般式系数和表达式:
def get_perpendicular_line(A: int, B: int, C: int, point: tuple) -> tuple: """ 求过指定点且与已知直线垂直的直线方程 :param A: 已知直线一般式Ax+By+C=0的系数A :param B: 已知直线一般式Ax+By+C=0的系数B :param C: 已知直线一般式Ax+By+C=0的系数C(本计算中未使用,仅做参数完整性保留) :param point: 目标直线经过的点,格式为(x0, y0) :return: 目标直线一般式的系数(A', B', C'),对应方程A'x + B'y + C' = 0 """ x0, y0 = point # 垂直直线一般式系数满足:Bx - Ay + k = 0,代入点求解k k = A * y0 - B * x0 return (B, -A, k) # 代入本题参数计算 if __name__ == "__main__": A, B, C = 2,7,5 target_point = (-1, -3) res_A, res_B, res_C = get_perpendicular_line(A,B,C,target_point) print(f"所求垂直直线一般式为:{res_A}x + {res_B}y + {res_C} = 0")
运行代码输出结果为:所求垂直直线一般式为:7x + -2y + 1 = 0,和推导结果完全一致。
内容的提问来源于stack exchange,提问作者Gabriel Olaru
相关产品推荐
相关产品推荐

