import fr.upd.*; /** * Un programme d'affichage de la fractale dite « courbe du Dragon » * Programme écrit par un étudiant de la promotion 2014, merci à lui. * @author Patrick Chen */ public class Ma{ public static void dragon(int n, int x, int y, int z, int t) { int u, v ; if (n == 1) { Facile.drawLine(x,y,z,t); } else { u = (x + z + t - y) / 2 ; v = (y + t - z + x) / 2 ; dragon(n - 1, x, y, u, v) ; dragon(n - 1, z, t, u, v) ; } } public static void dragon2(int n, int x, int y, int z, int t) { int u, v ; if (n == 1) { Facile.drawLine(x,y,z,t); } else { u = (x + z + t - y) / 2 ; v = (y + t - z + x) / 2 ; dragon2(n - 1, x, y, u, v) ; dragon3(n - 1, u, v, z, t) ; } } public static void dragon3(int n, int x, int y, int z, int t) { int u, v ; if (n == 1) { Facile.drawLine(x,y,z,t) ; } else { u = (x + z - t + y) / 2 ; v = (y + t + z - x) / 2 ; dragon2(n - 1, x, y, u, v) ; dragon3(n - 1, u, v, z, t) ; } } public static void main(String[] args){ Facile.startDrawings(500,500); Facile.setGray(0); dragon2(15,249,249,100,100); } }