如何找到直線和矩形之間的交點?我有一條從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
提交
取消