It helps to get the math right
This commit is contained in:
committed by
Michael Bayne
parent
1916a7e8e7
commit
c82f38fa97
@@ -14,17 +14,18 @@ public abstract class AbstractCircle implements ICircle
|
|||||||
{
|
{
|
||||||
@Override // from ICircle
|
@Override // from ICircle
|
||||||
public boolean intersects (ICircle c) {
|
public boolean intersects (ICircle c) {
|
||||||
return Points.distanceSq(x(), y(), c.x(), c.y()) < (radius() + c.radius());
|
float maxDist = radius() + c.radius();
|
||||||
|
return Points.distanceSq(x(), y(), c.x(), c.y()) < (maxDist * maxDist);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override // from ICircle
|
@Override // from ICircle
|
||||||
public boolean contains (IPoint p) {
|
public boolean contains (IPoint p) {
|
||||||
return Points.distanceSq(x(), y(), p.x(), p.y()) < radius();
|
return Points.distanceSq(x(), y(), p.x(), p.y()) < radius() * radius();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override // from ICircle
|
@Override // from ICircle
|
||||||
public boolean contains (float x, float y) {
|
public boolean contains (float x, float y) {
|
||||||
return Points.distanceSq(x(), y(), x, y) < radius();
|
return Points.distanceSq(x(), y(), x, y) < radius() * radius();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override // from ICircle
|
@Override // from ICircle
|
||||||
|
|||||||
Reference in New Issue
Block a user