@Override public boolean contains(double xx, double yy) { // See http://math.stackexchange.com/questions/76457/check-if-a-point-is-within-an-ellipse double dx = xx - getCentroidX(); double dy = yy - getCentroidY(); double rx = getBoundsWidth() * 0.5; double ry = getBoundsHeight() * 0.5; return (dx*dx/(rx*rx) + dy*dy/(ry*ry)) <= 1; }