如何找到直线和矩形之间的交点?我有一条从A点到B点的线; 我有(x,y)这两点。我还有一个以B为中心的矩形以及矩形的宽度和高度。我需要找到与矩形相交的线中的点。有没有一个公式给我这一点的(x,y)?
3 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
点A始终位于矩形之外,点B始终位于矩形的中心
假设矩形是轴对齐的,这使事情变得非常简单:
线的斜率是s =(Ay-By)/(Ax-Bx)。
如果-h / 2 <= s * w / 2 <= h / 2则该线相交:
Ax> Bx时的右边缘
Ax <Bx时的左边缘。
如果-w / 2 <=(h / 2)/ s <= w / 2则该线相交:
最高的边缘,如果Ay> By
Ay <By的底边。
一旦你知道它相交的边缘就知道一个坐标:x = Bx±w / 2或y = By±h / 2,具体取决于你击中的边缘。另一个坐标由y = By + s * w / 2或x = Bx +(h / 2)/ s给出。
添加回答
举报
0/150
提交
取消