2012-01-18 9 views
0

RectangleのポイントがPolygonの中にあるかどうかを知るにはどうすればよいですか?長方形はポリゴンの内側にありますか?

私が試してみました:

final Point p = new Point(rect.x, rect.y); 
return polygon.contains(p); 

この半分作品。矩形の左上隅がポリゴン内にある場合にのみtrueを返します(はい、理由はわかります)。

矩形の点のANYがポリゴン内にあるかどうかを確認する方法はありますか?

ありがとうございます!

+0

あなたは[polygon.intersects(RECTを試してみました)](http://docs.oracle.com/javase/6/docs/api/java/awt/Polygon.html#intersects(java.awt.geom.Rectangle2D))? – user1097489

答えて

0

私はこれを行うための最善の方法を発見した:

return polygon.intersects(rect);

+0

最初に使用された交差が含まれています。次に、Crossing(実装を見て)を使用します。含まれているほうが、より深刻なチェックの価値があるかもしれません。 –

3

public boolean contains(Rectangle2D r)

だから、基本的に、あなたは何をする必要があります。

polygon.contains(rect) 
+0

@BenvanGompelありがとう、何とか逃した –

+0

これはうまくいくが、すべての点をチェックしないでください。 – Confiqure

+0

@ JavaCoder-1337の文書では、「シェイプの内部が完全にRectangle2Dを含む場合はtrue」 –

関連する問題