-->
Spirale d'Ulam
Le début de la spirale
Xmin = -8
Xmax = 8
Ymin = -8
Ymax = 8
couleur = "rgb(220,220,220)"
for(var t = -10; t <= 10 ; t++){
droite([t,-15],[t,15])
droite([-15,t],[15,t])
}
trait = 0.01
couleur = noir
peinture = "rgba(200,0,0,0.5)"
transparence = 0
x = 0
y = 0
rectangle([x,y],1,1)
x = 1
transparence = 1
rectangle([x,y],1,1)
transparence = 0
sensx = 0
sensy = 1
texte("1",[0.2,-0.6])
texte("2",[1.2,-0.6])
nombre = 2
for(i = 1 ; i < 18; i++){
for(j = 0; j <= Math.floor(i/2) ; j++){
nombre = nombre+1
transparence = 0
if( isPrime(nombre) ){
transparence = 1
}
x = x+sensx
y = y+sensy
rectangle([x,y],1,1)
texte(nombre,[x+0.2,y-0.6])
}
asensx = sensx
asensy = sensy
if( asensx == -1 ){ sensx = 0; sensy = -1 }
if( asensx == 1 ){ sensx = 0; sensy = 1 }
if( asensy == 1 ){ sensy = 0; sensx = -1 }
if( asensy == -1 ){ sensy = 0; sensx = 1 }
}
function isPrime(n){
rep = true;
for(var k = 2; k <= Math.sqrt(n); k++){
if(n%k == 0){
rep = false;
break;
}
}
return rep
}
La spirale jusqu'à $40\, 201$
Xmin = -100
Xmax = 100
Ymin = -100
Ymax = 100
couleur = "rgb(220,220,220)"
trait = 0.01
couleur = noir
peinture = "rgba(255,255,255,0.5)"
transparence = 1
x = 0
y = 0
rectangle([x,y],1,1)
x = 1
peinture = "rgba(200,0,0,0.5)"
transparence = 1
rectangle([x,y],1,1)
transparence = 0
sensx = 0
sensy = 1
nombre = 2
for(i = 1 ; i < 400; i++){
for(j = 0; j <= Math.floor(i/2) ; j++){
nombre = nombre+1
transparence = 0
if( isPrime(nombre) ){
peinture = "rgba(200,0,0,0.5)";
transparence = 1
}
x = x+sensx
y = y+sensy
rectangle([x,y],1,1)
}
asensx = sensx
asensy = sensy
if( asensx == -1 ){ sensx = 0; sensy = -1 }
if( asensx == 1 ){ sensx = 0; sensy = 1 }
if( asensy == 1 ){ sensy = 0; sensx = -1 }
if( asensy == -1 ){ sensy = 0; sensx = 1 }
}
function isPrime(n){
rep = true;
for(var k = 2; k < Math.sqrt(n); k++){
if(n%k == 0){
rep = false;
break;
}
}
return rep
}