识别两点之间的 90 度投影
Identify 90'degree projection between two points
在python
中我有两个点,二维的A和B。
我有一个用户在这两点之间旅行(现在是矢量?)。
这些点之间的距离任意远。
我想在距离原始线 100m 的这两个点之间的中间位置计算 2 个投影(?),一个投影在 90 度,另一个在 180 度。
在上图中,我有A点和B点,而我想计算C点和D点。
有人可以帮我算算这个数学吗?
考虑从A到B的方向向量:
ab = (x2 - x, y2 - y)
那么,与这条线正交的向量为:
orth = (y - y2, x2 - x)
这个向量(和方向向量)的长度是:
l = sqrt((x2-x)^2 + (y2-y)^2)
直线的中点是
m = 1/2 * (x + x2, y + y2)
最后C、D两点为:
C/D = m +- orth * 100 / l
在python
中我有两个点,二维的A和B。
我有一个用户在这两点之间旅行(现在是矢量?)。
这些点之间的距离任意远。
我想在距离原始线 100m 的这两个点之间的中间位置计算 2 个投影(?),一个投影在 90 度,另一个在 180 度。
在上图中,我有A点和B点,而我想计算C点和D点。
有人可以帮我算算这个数学吗?
考虑从A到B的方向向量:
ab = (x2 - x, y2 - y)
那么,与这条线正交的向量为:
orth = (y - y2, x2 - x)
这个向量(和方向向量)的长度是:
l = sqrt((x2-x)^2 + (y2-y)^2)
直线的中点是
m = 1/2 * (x + x2, y + y2)
最后C、D两点为:
C/D = m +- orth * 100 / l