http://profmath.uqam.ca/~boileau/p5VisuelWEB/MOD…image.jpgCharger le fichier image de nomfixermonImageàLe programme s'exécutera dans la page webpouravant de commencer 600600canvascanvas_p5élément dont l'ID estauteurélément dont l'ID estProfesseurFixe le contenu deàl'objetaura l'objetpour parentCanevas : dim horizontaledimension verticalepouractions initiales valGliss_nélément dont l'ID estglissiere_nélément dont l'ID estvaleur devalGliss_fermélément dont l'ID estglissiere_fermélément dont l'ID estvaleur devalGliss_alphaélément dont l'ID estglissiere_alphaélément dont l'ID estvaleur denfractionalphatracer les bandes horizontalesavec :glissiere_nélément dont l'ID estvaleur deglissiere_fermélément dont l'ID estvaleur de100÷glissiere_alphaélément dont l'ID estvaleur deFixe le contenu deàFixe le contenu deàFixe le contenu deàpouractions en boucle pourtracer les bandes horizontalesavec : n, fraction, alphamonImage00vrai900600n÷cotefraction×240240255255couleur rougevertbleuopacitésifairesinonfraction0=0Fixer la taille du crayon à1Fixer la taille du crayon à00alpha0<0600sauter au point (,)alpha-90ncote×900n2×12base90hauteur90tourne à droite dedegrésavance d'une distancetourne à droite dedegrésavance d'une distance90cote-90tourne à droite dedegrésavance d'une distancetourne à droite dedegrésLever le crayon de la tortueTerminer le polygonerépéterfoisfaireDébuter le polygoneBaisser le crayon de la tortuebouclelignede minà maxavec pasfairetourne à droite dedegrésavance d'une distancetourne à droite dedegrésfixer le cap àsifairesauter au point (,)remplissagefixerhauteuràfixercoteàfixerbaseàPlacer imagedans canevas en position (,) en taille originale


var canvas, n, colonne, ligne, cote, fraction, x, monImage, alpha, base, hauteur;

/**
 * Décrire cette fonction…
 */
function preload() {
  definirPageWebExecution('http://profmath.uqam.ca/~boileau/p5VisuelWEB/MODELES/StoresTortue/executionG.html');
  monImage = loadImage('image.jpg')
  ;
}

/**
 * Fonction exécutée une fois, au départ
 */
function actions_initiales() {
  canevas=creerCanvas(600,600); canvas=canevas;
  assignerParentPrudent("canvas",canvas,"(select('#'+'canvas_p5'))",(select('#'+'canvas_p5')));
  fixeContenuPrudent("(select('#'+'auteur'))",(select('#'+'auteur')),'Professeur');
}

/**
 * Fonction exécutée périodiquement, de façon répétée
 */
function actions_en_boucle() {
  fixeContenuPrudent("(select('#'+'valGliss_n'))",(select('#'+'valGliss_n')),(valeurPrudent("(select('#'+'glissiere_n'))",(select('#'+'glissiere_n')))));
  fixeContenuPrudent("(select('#'+'valGliss_ferm'))",(select('#'+'valGliss_ferm')),(valeurPrudent("(select('#'+'glissiere_ferm'))",(select('#'+'glissiere_ferm')))));
  fixeContenuPrudent("(select('#'+'valGliss_alpha'))",(select('#'+'valGliss_alpha')),(valeurPrudent("(select('#'+'glissiere_alpha'))",(select('#'+'glissiere_alpha')))));
  tracer_les_bandes_horizontales(valeurPrudent("(select('#'+'glissiere_n'))",(select('#'+'glissiere_n'))), valeurPrudent("(select('#'+'glissiere_ferm'))",(select('#'+'glissiere_ferm'))) / 100, valeurPrudent("(select('#'+'glissiere_alpha'))",(select('#'+'glissiere_alpha'))));
}

/**
 * Décrire cette fonction…
 */
function tracer_les_bandes_horizontales(n, fraction, alpha) {
  if (true) {image(monImage,0,0)} else {image(monImage,0,0,width,height)}
  base = 900;
  cote = 600 / n;
  hauteur = cote * fraction;
  fill_((color(240,240,255,255)));
  sautePos(0,0);
  if (alpha < 0) {
    sautePos(0,600);
  }
  fixeCap(alpha);
  droite(-90);
  avance((n * cote));
  droite(90);
  for (ligne = 0; ligne <= n * 2; ligne += abs(1)) {
    baisseCrayon();
    debutPoly();
    for (var count = 0; count < 2; count++) {
      avance(base);
      droite(90);
      avance(hauteur);
      droite(90);
    }
    finPoly();
    leveCrayon();
    droite(90);
    avance(cote);
    droite(-90);
  }
}
Exécuter