我有一条线(P1,P2)和该线上的一个点(中点)。我可以用什么方程来找到穿过中点的直线(P1,P2)。标有“'?'不明。我不想使用角度,只给出3个点(P1,P2,中点)。线P1,P2可以是任何方向/角度。
提前致谢。
答案 0 :(得分:0)
P1的坐标:(x1,y1) P2的坐标:(x2,y2)
中点坐标:((x1 + x2)/ 2,(y1 + y2)/ 2) P1P2线的斜率:(y1-y2)/(x1-x2) P1P2任意垂直线的斜率:(x2-x1)/(y1-y2)
红线方程:y - (y1 + y2)/ 2 =((x2-x1)/(y1-y2))*(x - (x1 + x2)/ 2)
如果坐标的实际值为P1 y P2,则只需进行替换。
答案 1 :(得分:0)
让我们定义矢量
D = P2 - P1 (dx=x2-x1, dy = y2-y1)
和中间点
mx = (x2+x1)/2
my = (y2+y1)/2
垂直于D矢量
PD = (-dy, dx)
单位(标准化)垂直向量
U = (-dy / L, dx / L)
where
L = Sqrt (dx * dx + dy * dy)
位于距离中间距离F的点的坐标是
x = mx + U.x * F
y = my + U.y * F
或(对于另一方的点)
x = mx - U.x * F
y = my - U.y * F