有2個區域(java.awt.geom.Area
)area1 and area2。我需要驗證area2是否在area1? (area1 contains area2)。如何實現Area.contains(Area)?
我曾嘗試:
areaDelta = (Area)area1.clone();
areaDelta.add(area2);
return areaDelta.equals(area1);
但它不總是工作,因爲它應該(如果區2的邊界是在區1的界限,它返回true,應該返回false)。
事實上,我有2個多邊形(多邊形),我需要的Polygon.contains(多邊形)方法,可能是這可以更容易,然後區域。
任何想法?
多邊形可以是凸和非凸的。
檢查http://stackoverflow.com/questions/4833802/check-if-polygon-is-inside-a-polygon 和http://stackoverflow.com/questions/3017872/determining-polygon-intersection-and-containment – Napte
你可以用邊界矩形檢查嗎? – Randy
找到它 - 如何做到這一點沒有任何額外的庫:做每對多邊形線的交叉線檢查,這是不容易做與標準的Java庫。但它不是最具性能的解決方案。 – Cenius