在矩形边上找到相交点,以在其中绘制线

时间:2016-07-21 09:41:17

标签: geometry intersection rectangles square

  1. 绘制一个矩形ABCD。
  2. 在其中画一条连接任意两条边GF的线。
  3. 在GF线上绘制垂直平分线。
  4. 垂直平分线在哪些点与矩形的边缘相交?

    在下图中,线GF从(0,2)到(6,0)绘制。我需要知道垂直平分线在AB和CD上与矩形相交的位置。

    矩形内线

    Line inside rectangle

1 个答案:

答案 0 :(得分:0)

GF的中点

M.X = (G.X + F.X) / 2
M.Y = (G.Y + F.Y) / 2

GF的垂直向量

D.X = G.Y - F.Y
D.Y = F.X - G.X

平分线的参数方程

X = M.X + t * D.X
Y = M.Y + t * D.Y

解决X = XLeft, X = XRight, Y = YTop, Y = YBottom的这些等式,你就会得到交点

例如,首先解决方程XLeft = M.X + t * D.X以找到与矩形左边缘的交点的参数t。

然后检查Y' = M.Y + t * D.Y是否在范围内(YTop..YBottom),以找到t。

如果是,则平分线与左边缘相交(XLeft,Y')