Bonjour johnmary, je suis désolé, je t'avais un peu oublié...
Ton problème est lié au fonctionnement de Processing : Lorsque l'on effectue des calculs sur des entiers il considère que le résultat est du même type, donc entier. De la même façon si tu fais println(1/3) le résultat retourné sera 0, car les valeurs sont temporairement stockées dans une variable (qui est invisible pour l'utilisateur) de type entière.
Pour que ton code fonctionne tu as juste à déclarer X1,X2,Y1 et Y2 en float.
-----