【发布时间】:2016-07-21 09:41:16
【问题描述】:
- 画一个矩形 ABCD。
- 在其中画一条连接任意两条边 GF 的线。
- 画一条垂直于线 GF 的平分线。
垂直平分线与矩形的边在什么点相交?
在下图中,线 GF 是从 (0, 2) 到 (6, 0) 绘制的。我需要知道垂直平分线在哪里与 AB 和 CD 上的矩形相交。
矩形内的线
【问题讨论】:
标签: geometry intersection rectangles square
垂直平分线与矩形的边在什么点相交?
在下图中,线 GF 是从 (0, 2) 到 (6, 0) 绘制的。我需要知道垂直平分线在哪里与 AB 和 CD 上的矩形相交。
矩形内的线
【问题讨论】:
标签: geometry intersection rectangles square
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')
【讨论】:
X = XLeft 表示您求解方程 XLeft = M.X + t * D.X 以查找与矩形左边缘的交点的参数 t 并检查 Y = M.Y + t * D.Y 是否在此 t 的范围 (YTop..YBottom) 内。