Bonsoir !
Je n'arrive pas à comprendre pourquoi mes hexagones ne changent pas de couleur à chaque compilation alors qu'à priori cette couleur varie aléatoirement ...
Surement bête mais ça m'échappe.
Merci
unitrand()
-
- Utilisateur éprouvé
- Messages : 539
- Inscription : jeudi 14 octobre 2010, 09:20
- Statut actuel : Enseignant
- Localisation : Clermont-Ferrand
unitrand()
- Pièces jointes
-
- pavage.pdf
- (4.36 Kio) Téléchargé 599 fois
-
- pavage.asy
- (752 octets) Téléchargé 629 fois
-
- Modérateur honoraire
- Messages : 6962
- Inscription : mercredi 15 février 2006, 13:18
- Localisation : le havre
Re: unitrand()
Bon un classique, il faut initialiser la graine. Asymptote a pris le parti du C, qui n'initialise pas la graine, ou plus exactement elle est initialisée toujours avec le même nombre (0 ?). La commande est srand(), et elle attend un entier, traditionnellement on fait appelle à l'heure du système et là c'est la commande seconds() qui renvoie un entier. Voili, voilou c'est joli.
Donc, cela donne :
Donc, cela donne :
Code : Tout sélectionner
settings.outformat="pdf" ;
import geometry;
unitsize(1cm);
real a=1;
pair pO=(0,0);
picture pic;
path polygone_regulier(int n)
{
guide chemin;
for (int i=1; i<=n; ++i)
chemin=chemin--rotate((i-1)*360/n)*(a,0);
return chemin--cycle;
}
// le motif
path motif=polygone_regulier(6);
srand(seconds()) ;
// et une double boucle pour "paver" suivant (Ox) et suivant (Oy)
real q=sqrt(3);
int n=5,m=5,j=0;
for(int i=0; i<n; ++i)
{
for(int j=0; j<m; ++j)
{
real r = unitrand() ;
real g = unitrand() ;
real b = 1 - g - r ;
write(r,g,b) ;
filldraw(shift((3*a)*i,q*j)*motif,
//unitrand()*red+unitrand()*green+unitrand()*blue);
r*red+g*green+b*blue);
}
}
for(int i=0; i<n; ++i)
{
for(int j=0; j<m; ++j)
{
real r = unitrand() ;
real g = unitrand() ;
real b = 1 - g - r ;
write(r,g,b) ;
filldraw(shift((3*a)*i+1.5*a,q*j+0.5q)*motif,
r*red+g*green+b*blue);
//unitrand()*red+unitrand()*green+unitrand()*blue);
}
}
A line is a point that went for a walk. Paul Klee.
Par solidarité, pas de MP.
Par solidarité, pas de MP.
-
- Utilisateur éprouvé
- Messages : 539
- Inscription : jeudi 14 octobre 2010, 09:20
- Statut actuel : Enseignant
- Localisation : Clermont-Ferrand
Re: unitrand()
Je me doutais d un truc de ce style....
Merci beaucoup !!!!
Merci beaucoup !!!!