Java中是否有像Rectangle类一样的圆形类

2022-09-04 02:02:48

嘿,我正在编写一个快速程序,遇到了一些需要使用圆圈进行碰撞检测的地方。但据我所知,只有具有 .intersects(Point p) 方法的 Rectangle 类。有没有类似圆圈的东西,我可以用同样的方式使用?


答案 1

在包中有一个名为Ellipse2D的类,您可以使用它,因为它有一些方法似乎是您要查找的方法。宽度等于其高度的椭圆是一个圆。java.awt.geom

其中一个重载允许您测试圆点碰撞:contains

boolean contains(double x, double y) 

检验指定的坐标是否在 边界内,如 内在的定义所述。Shape

调用的另一个函数允许您测试圆矩形冲突:intersects

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

测试内部是否与指定矩形区域的内部相交。Shape

请注意,这是一个抽象类;您将使用其嵌套子类之一,或者 ,唯一的区别是用于存储维度的数据类型。Ellipse2DEllipse2D.DoubleEllipse2D.Float


答案 2

有一个ellipse2D,这就像正方形是一个矩形,一个圆是一个椭圆。

http://docs.oracle.com/javase/7/docs/api/java/awt/geom/Ellipse2D.html


推荐