Farei prima ma se faccio così farei ancora prima a dirti di abbandonare. Va tutto bene, resta solo la ricerca del "vero" centro del bersaglio che come hai detto tu stesso non si trova in 50,50 perché quelle sono le coordinate di origine del quadrato dentro cui è circoscritto.
Dovrebbe essere facile trovarle, visto che hai questa situazione:
50,50
+----------+
+ +
+ +
+ +
+ +
+----------+
Il centro dovrebbe trovarsi un pò più giù e a destra di 50,50. Stando a quanto descritto qua:
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/geom/Ellipse2D.Double.html
e tenendo conto di questi dati:
private final int c1x = 50 ;
private final int c1y = 50 ;
private final int c1Lung = 120 ;
private final int c1Larg = 120 ;
...
new Ellipse2D.Double(c1x, c1y, c1Lung, c1Larg);
a.setColor(Color.BLUE);
Il centro della tua ellisse/cerchio si trova a 50 + (120/2) sia di x che di y.
Forse ti avrebbe fatto più comodo disegnare l'ellipse con una funzioncina di disegno tipo questa, con raggio e centro vero:
Ellipse2D.Double cerchio = new Ellipse2D.Double(X - raggio, Y - raggio, 2 * raggio, 2 * raggio);
o ancora meglio usare la Ovals.
Dai prova a ricavare il vero centro dell'ellissi (chiamalo vx vy) e calcolane la distanza d rispetto alle xy che dai in input.
Chip