在python
中,我有两个点,即2D中的A和B.
我有一个用户在这两个点之间旅行(现在是一个向量?)。
这些点是相距甚远的。
我想在距离原始线100米的这两个点之间的中间位置计算2个投影(?),一个投影在90度,另一个投影在180度。
Better explained as a picture here
在上图中,我有点A和B,而我想计算点C和D.
有人可以帮我解决这个数学计算吗?
答案 0 :(得分:1)
考虑从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