2010-10-24 107 views
1

如果我有一個給定的長方形,寬度w,高度h和角度r旋轉矩形邊框大小

多大不其包含的旋轉矩形需要的所有點另一個矩形是?

我需要這個來執行的2D物理引擎快速邊框檢查我正在

+0

我知道有一種方法會是旋轉矩形的所有角點並使用它們,但我認爲可能會有更好的一個。 – Markus 2010-10-24 13:22:34

+0

而@mojuba:如果你(或者任何一個對你的評論滿意的人)知道答案,如果你可以發佈它,這將是非常好的... – Markus 2010-10-24 13:26:02

+0

可能的重複[Calculate Bounding box coordinates from a rotating rectangle ,圖片裏面。](http://stackoverflow.com/questions/622140/calculate-bounding-box-coordinates-from-a-rotated-rectangle-picture-inside) – 2010-10-24 22:05:28

回答

0

您通常應該考慮在碰撞檢測引擎中旋轉矩形,因爲它的實現非常簡單(我的意思是將旋轉的矩形視爲原樣)。

在任何情況下,如果你真的想簡化到具有粗糙級別的碰撞檢測,最好的辦法是將矩形嵌入圓內,因爲它非常簡單(以矩形中心爲中心,半徑爲半矩形的對角線)並且與使用盒子進行比較,對於粗略檢測可以是相當準確的。其實你可以有一個角度閾值來決定是否最好使用圓或考慮原始矩形(大多數退化情況是當角度接近k*PI與k = 0,1,2,3

如果你真的真的想要考慮旋轉的矩形,你可以通過選擇矩形(xT, yT)的最頂點和最左邊的(xL, yL)(當然是旋轉後)來獲得將是(xL, yT)的最小點。然後你對從你矩形的最右邊和最低點開始,你需要(xR, yB),它將是包含在(xL, yY) (xR, yB)中的矩形

+0

感謝您的有益建議! – Markus 2010-10-24 13:34:34