如何找到直线和矩形之间的交点?

如何找到直线和矩形之间的交点?

我有一条从A点到B点的线; 我有(x,y)这两点。我还有一个以B为中心的矩形以及矩形的宽度和高度。

我需要找到与矩形相交的线中的点。有没有一个公式给我这一点的(x,y)?


翻过高山走不出你
浏览 1492回答 3
3回答

慕桂英4014372

点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> ByAy <By的底边。一旦你知道它相交的边缘就知道一个坐标:x = Bx±w / 2或y = By±h / 2,具体取决于你击中的边缘。另一个坐标由y = By + s * w / 2或x = Bx +(h / 2)/ s给出。
打开App,查看更多内容
随时随地看视频慕课网APP