[英]Rotated rectangle bounding box size
如果我有一個給定的矩形,其寬度為w
,高度為h
,角度為r
包含旋轉后的矩形的所有點的另一個矩形需要多大?
我需要它來為我正在制作的2D物理引擎執行快速邊界框檢查
這可能是您需要的:
根據一個旋轉的矩形計算邊界框坐標,該矩形由名為markus的人回答。
通常,您應該考慮在碰撞檢測引擎中旋轉矩形,因為實現起來非常簡單(我是說按原樣考慮旋轉的矩形)。
無論如何,如果您真的想簡化為粗略的碰撞檢測,最好的方法是將矩形嵌入圓內,因為它非常簡單(以矩形中心為中心,半徑為半對角線)。矩形),並且與使用盒子相比,對於粗略檢測而言可能非常准確。 實際上,您可以使用角度閾值來決定使用圓形還是考慮原始矩形(大多數退化情況是當角度接近k*PI
且k = 0、1、2、3時)
如果您真的很想考慮旋轉的矩形,則可以通過選擇矩形的最高頂點(xT, yT)
和最左邊的(xL, yL)
(當然是旋轉后)來輕松計算出它的最左上角是(xL, yT)
。 然后,您對矩形的最右端和最低點取右下角(xR, yB)
進行相同的操作,就可以了。 這將是(xL, yY) (xR, yB)
包含的矩形。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.