2011-02-06 79 views
1

如果我有類型Microsoft.XNA.Framework.Rectangle的2D矩形,我想看看是否在屏幕上的一個點(定義爲(X,Y))通過它進入它也已經被一定量的旋轉之後?查找點是否與旋轉的矩形相交?

+0

類似的問題被張貼在這裏:http://stackoverflow.com/questions/1240660/check-if-a-point-is-in-a-rotated-rectangle-c這是在Windows窗體,但也適用於XNA。 – Marking 2011-02-06 23:15:21

回答

3

繞原點,使矩形沿X & Y軸對準那麼測試變得簡單:

is rect.left <= point.x <= rect.right, is rect.bottom <= point.y <= rect.top

如果你不知道該矩形的旋轉,你自己看着辦吧與三角學。

+1

讓我知道你是否想要trig更多的幫助。 – 2011-02-06 11:05:43

2

你能取消旋轉兩個矩形和點,然後看是否點在內部用簡單的邊界檢查?

通過unrotate我的意思是該矩形的邊中的一個與X軸對齊。