Logique
Boucles
Math
Texte
Listes
Données
Variables
Fonctions
Programmation
p5.js
Objets web
Propriétés
Formes
Tortue
Apparence
GeoGebra
var canvas, x, x1, y1, x2, y2, x3, y3, n, a1, a2, a3, b1, b2, b3, niveau, glissiere, info, nMax, m, couleurs, list; /** * Fonction exécutée une fois, au départ */ function actions_initiales() { document.body.style.paddingLeft="20px"; createElement('h1','Triangle de Sierpinski coloré'); createP('Déterminer le niveau via la glissière ci-dessous'); glissiere=createSlider(0,8,0,1); info=createElement('p','Valeur'); canevas=creerCanvas(500,500); canvas=canevas; definirRemplissage(); } /** * Trace le triangle de Sierpinski */ function sierpinski(n, x1, y1, x2, y2, x3, y3) { var a1; var a2; var a3; var b1; var b2; var b3; a1 = (x1 + x3) / 2; b1 = (y1 + y3) / 2; a2 = (x2 + x3) / 2; b2 = (y2 + y3) / 2; a3 = (x1 + x2) / 2; b3 = (y1 + y2) / 2; if (n > 0) { fill_((couleurs[((nMax - n) - 1)])); triangle_(a1,b1,a2,b2,a3,b3); sierpinski(n - 1, a1, b1, a2, b2, x3, y3); sierpinski(n - 1, x1, y1, a3, b3, a1, b1); sierpinski(n - 1, a3, b3, x2, y2, a2, b2); } } /** * Fonction exécutée périodiquement */ function actions_en_boucle() { couleurFondC((color(230,230,230,255))); nMax = valeurPrudent("glissiere",glissiere) + 1; tracerFigure(valeurPrudent("glissiere",glissiere)); fixeContenuPrudent("info",info,(String('Valeur : ') + String(valeurPrudent("glissiere",glissiere)))); } /** * Fonction appelée périodiquement, par la fonction draw */ function tracerFigure(niveau) { fill_((color(255,255,255,255))); triangle_(26,450,474,450,250,62); sierpinski(niveau, 26, 450, 474, 450, 250, 62); } /** * Décrire cette fonction… */ function definirRemplissage() { couleurs = [color(45,128,255,255), color(255,0,0,255), color(0,255,0,255), color(0,0,255,255), color(0,255,255,255), color(255,0,255,255), color(255,255,0,255), color(255,128,45,255), color(0,0,0,255)]; }