Les espaces sont distribués aléatoirement.
Les noms des identificateurs ne respectent pas le style Java :
protected double X;
protected double Y;
double XMAX, double XMIN, double YMAX, double YMIN,Point
Origin, Point Pt
double scalex;
double scaley;
Le nom toPIX n'est pas significatif. Il doit être corrigé avant de songer à mettre un commentaire d'explication.
La variable heigth est écrite avec une faute d'orthographe : inversion du h et du t. Ce qui nuit à la maintenance car on peut supposer qu'un autre programmeur aura tendance à l'écrire correctement !
Dans toPIX(), XMIN doit être différent de XMAX. Par contre YMIN et YMAX peuvent être égaux. On est en droit de se demander pourquoi une telle différence de traitement entre les dimensions.
Il y a mélange d'interface et de calcul. Les instructions
System.out.println("---------------------------");
n'ont pas lieu d'être. Cela nuit gravement à la réutilisabilité.
Il y a des constantes en "dur" dans le code, ce qui nuit à la
maintenabilité et à la lisibilité :
width =width - 80;
heigth=heigth - 80;
newCoord.X = Math.rint(scalex * width) + 40;
newCoord.Y = (-Math.rint(scaley * heigth))+
heigth + 40;
Le code peut être simplifié :