web-dev-qa-db-ja.com

RectangleクラスのようなJavaにサークルクラスはありますか?

ちょっと私は簡単なプログラムを書いていました、そして私が衝突検出のために円を使う必要があるところに何かが出くわしました。しかし、私が知る限り、.intersects(Point p)メソッドを持つRectangleクラスのみがあります。同じように使える円のようなものはありますか?

14
user1871085

Ellipse2Dパッケージには Java.awt.geom というクラスがあります。これは、探しているように見えるメソッドがいくつかあるためです。幅が高さに等しい楕円は円です。

containsのオーバーロードの1つを使用すると、円点の衝突をテストできます。

boolean contains(double x, double y) 

内部性の定義で説明されているように、指定された座標がShapeの境界内にあるかどうかをテストします。

intersectsと呼ばれる別の関数を使用すると、円と長方形の衝突をテストできます。

boolean intersects(double x, double y, double w, double h)

Shapeの内部が指定された長方形領域の内部と交差するかどうかをテストします。

Ellipse2Dは抽象クラスであることに注意してください。ネストされたサブクラスEllipse2D.DoubleまたはEllipse2D.Floatのいずれかを使用しますが、唯一の違いは、ディメンションの格納に使用されるデータ型です。

17
In silico

Ellipse2Dがあります。これは、正方形が長方形、円が楕円であるのと同じ方法です。

http://docs.Oracle.com/javase/7/docs/api/Java/awt/geom/Ellipse2D.html

1
ThePerson

Java.awt.Shapeも。 およびそれを実装するすべてのクラス:Arc2D、Arc2D.Double、Arc2D.Float、Area、BasicTextUI.BasicCaret、CubicCurve2D、CubicCurve2D.Double、CubicCurve2D.Float、DefaultCaret、 Ellipse2D 、Ellipse2D.Double、Ellipse2D.Float、GeneralPath、Line2D、Line2D.Double、Line2D.Float、Path2D、Path2D.Double、Path2D.Float、Polygon、QuadCurve2D、QuadCurve2D.Double、QuadCurve2D.Float 、Rectangle、Rectangle2D、Rectangle2D.Double、Rectangle2D.Float、RectangularShape、RoundRectangle2D、RoundRectangle2D.Double、RoundRectangle2D.Float

1
Aubin