public static GeneralPath getSatelliteShape() {
GeneralPath wingLeft = new GeneralPath();
wingLeft.moveTo(-22.5f,0f);
wingLeft.lineTo(-22.5f,7.5f);
wingLeft.lineTo(-6.6f, 7.5f);
wingLeft.curveTo(-6.6f, 7.5f, -15f, 0f, -6.6f, -7.5f);
wingLeft.lineTo(-22.5f, -7.5f);
wingLeft.closePath();
GeneralPath crossLeft = new GeneralPath();
crossLeft.moveTo(-22.5f,0f);
crossLeft.lineTo(-10f,0f);
crossLeft.moveTo(-15f,7.5f);
crossLeft.lineTo(-15f,-7.5f);
GeneralPath circle = new GeneralPath(new Ellipse2D.Float(-10f,-10f,20f,20f));
GeneralPath wingRight = new GeneralPath();
wingRight.moveTo(22.5f,7.5f);
wingRight.lineTo(22.5f,-7.5f);
wingRight.lineTo(6.6f,-7.5f);
wingRight.curveTo(6.6f, -7.5f, 15f, 0f, 6.6f, 7.5f);
wingRight.closePath();
GeneralPath crossRight = new GeneralPath();
crossRight.moveTo(10f, 0f);
crossRight.lineTo(22.5f, 0f);
crossRight.moveTo(15f, 7.5f);
crossRight.lineTo(15f, -7.5f);
GeneralPath satellite = new GeneralPath();
satellite.append(wingLeft, false);
satellite.append(crossLeft, false);
satellite.append(circle, false);
satellite.append(wingRight, false);
satellite.append(crossRight, false);
return satellite;
}