好的,所以我知道這個問題已經被問了一百萬次,但是我有一個稍微不同的問題。我有多邊形對象,這些對象由1個單元「塊」組成,我需要確定這些塊是否相互接觸。其他答案有這樣的代碼:Java - 形狀碰撞檢測
Area area1 = new Area(poly1);
Area area2 = new Area(poly2);
area1.instersect(poly2);
if(!area1.isEmpty()) {
// Do collision stuff here
}
這有雖然問題,這就是,如果形狀是彼此相鄰(他們是觸摸),這將不報告的碰撞。
我最初的想法是讓一個Polygon在其周圍有一個單位邊框,所以如果它們彼此相鄰,則邊框將與第二個Polygon相交,並且會碰撞。我似乎無法找到添加邊框的方法。
非常感謝幫助!
編輯:
如果此問題,所有的塊在大小1x1的單元,並且被存儲在「塊」(與一個ArrayList)。我的多邊形對象代表了一大塊對象。如果有更好的方法來做到這一點,請讓我知道!
我的代碼需要爲efficent越好,因爲我可能有幾百塊/千塊,而物理循環運行每隔1秒
我們在這裏說2d還是3d多邊形? – kasoban
我正在使用2D多邊形 – atoms118