Java中是否有类似于矩形类的圆形类

Java中是否有类似于矩形类的圆形类,java,geometry,rectangles,Java,Geometry,Rectangles,嘿,我在写一个快速的程序,突然发现我需要用一个圆圈来检测碰撞。但据我所知,只有矩形类具有.intersects(Point p)方法。有什么像圆一样的东西可以用同样的方法吗?有一个椭圆2d,这和正方形是矩形一样,圆是椭圆 以及实现它的所有类:Arc2D、Arc2D.Double、Arc2D.Float、Area、BasicTextUI.BasicCart、CubicCurve2D、CubicCurve2D.Double、CubicCurve2D.Float、DefaultCaret、Ellips

嘿,我在写一个快速的程序,突然发现我需要用一个圆圈来检测碰撞。但据我所知,只有矩形类具有.intersects(Point p)方法。有什么像圆一样的东西可以用同样的方法吗?

有一个椭圆2d,这和正方形是矩形一样,圆是椭圆

以及实现它的所有类:Arc2D、Arc2D.Double、Arc2D.Float、Area、BasicTextUI.BasicCart、CubicCurve2D、CubicCurve2D.Double、CubicCurve2D.Float、DefaultCaret、Ellipse2D.Double、Ellipse2D.Float、GeneralPath、Line2D、Line2D.Float、Path2D、Path2D.Double、Path2D.Float、Polygon、QuadCurve2D、QuadCurve2D.Double、,QuadCurve2D.Float,Rectangle2D,Rectangle2D.Double,Rectangle2D.Float,rectangleshape,RoundRectangle2D,RoundRectangle2D.Double,RoundRectangle2D.Float

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

的一个重载包含
允许您测试圆点碰撞:

测试指定的坐标是否在
形状
,如内部定义所述

另一个名为
intersects
的函数允许您测试圆-矩形碰撞:

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


请注意,
Ellipse2D
是一个抽象类;您可以使用它的一个嵌套子类
Ellipse2D.Double
Ellipse2D.Float
,唯一的区别是用于存储维度的数据类型。

您可以使用,它具有
包含(x,y)
。是,前几天我还在想,Oracle没有在标准库中包含一个十二面体类,这对我们大家都是一种伤害:-)将链接重定向到Java 7 API add I’s up vote you(Java 1.4已经有近10年的历史了:P)+1,但更合适的点交叉方法是
包含(双x,双y)
boolean contains(double x, double y) 
boolean intersects(double x, double y, double w, double h)