我不太擅长数学,我知道还有其他人向我提出类似的问题,但我不太明白其中的解释。
我的问题是:我有一条由 2 个点 A、B 和另一个点 X 给出的线,我想在 AB 线上找到一个点,该点表示 X 点在 AB 线上的投影。
例如,假设我有A和B的坐标,对于点C,我想根据下图找到D的坐标:
A---D-------------B
C
制作矢量:
AB = B - A
AC = C - A
或者坐标:
AB = (abx, aby)
AC = (acx, acy)
地点:
abx = B.x - A.x
aby = B.y - A.y
acx = C.x - A.x
acy = C.y - A.y
使用点积将C投影到A—B的最简单形式是:
AD = AB * (AB dot AC) / (AB dot AB)
D = (dx, dy) = A + AD
或者坐标:
coeff = (abx*acx + aby*acy) / (abx*abx+aby*aby)
dx = A.x + abx * coeff
dy = A.y + aby * coeff