20h1Triangle de Sierpinski coloréDéterminer le niveau via la glissière ci-dessousglissiere0801infopValeur500500definirRemplissageCanevas : dim horizontaledimension verticaleCréer élémenttypetexteCréer une glissièreminimummaximumvaleur initialepasCréer un paragraphecontenantCréer élémenttypetexteMarge gauchepixelspouractions initiales poursierpinskiavec : n, x1, y1, x2, y2, x3, y3a1a2a3b1b2b3x1x3+2÷y1y3+2÷x2x3+2÷y2y3+2÷x1x2+2÷y1y2+2÷n0>dans la listeobtenir #couleursnMaxn-a1b1a2b2a3b3nx1y1x2y2x3y3sierpinskiavec :n1-a1b1a2b2x3y3nx1y1x2y2x3y3sierpinskiavec :n1-x1y1a3b3a1b1nx1y1x2y2x3y3sierpinskiavec :n1-a3b3x2y2a2b2triangle de sommets (,) , (,) et (,)remplissagesifairefixerb3àfixera3àfixerb2àfixera2àfixerb1àfixera1àvariable localevariable localevariable localevariable localevariable localevariable locale230230230255couleur rougevertbleuopacitéglissierevaleur de1+niveautracerFigureavec :glissierevaleur deinfocréer un texte avecValeur : glissierevaleur deFixe le contenu deàfixernMaxàfondpouractions en boucle pourtracerFigureavec : niveau255255255255couleur rougevertbleuopacité2645047445025062nx1y1x2y2x3y3sierpinskiavec :niveau2645047445025062triangle de sommets (,) , (,) et (,)remplissagecréer une liste avec45128255255couleur rougevertbleuopacité25500255couleur rougevertbleuopacité02550255couleur rougevertbleuopacité00255255couleur rougevertbleuopacité0255255255couleur rougevertbleuopacité2550255255couleur rougevertbleuopacité2552550255couleur rougevertbleuopacité25512845255couleur rougevertbleuopacité000255couleur rougevertbleuopacitéfixercouleursàpourdefinirRemplissage 


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)];
}
Exécuter