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);
}
}