你如何获得两条垂直线交叉点的坐标?

How do you obtain the coordinates of a crossing of two perpendicular lines?

线 (xA, yA), (xB, yB) 和 (xC, yC), (xD, yD) 是垂直的。我有点 (xA, yA)、(xB, yB) 和 (xC, yC) 的坐标。我怎样才能得到点 (xD, yD) 的坐标?

如果您需要计算机程序来执行计算,那么我想推荐一个用 Python 编写的简单代码。

只需将 C 点投影到通过 A 点和 B 点的直线上即可轻松计算出 D 点(因此您需要计算这条直线):

import matplotlib.pyplot as plt

from skspatial.objects import Line, Point

point_a = Point([2, 3])
point_b = Point([7, 8])

line_ab = Line.from_points(point_a, point_b)

point_c = Point([-1, 4])
point_d = line_ab.project_point(point_c)

# Plots
_, ax = plt.subplots()
ax. set_aspect('equal')
point_a.plot_2d(ax, c='k', s=100)
point_b.plot_2d(ax, c='r', s=100)
point_c.plot_2d(ax, c='b', s=100)
point_d.plot_2d(ax, c='g', s=100)
line_ab.plot_2d(ax, t_1=-2, t_2=3, c='k')
grid = ax.grid()

下图中蓝色点 C 点,绿色点 D 点。