0Grille 3D de sphèresglissNn = 1511glissNgérer cadre 3DglissRr = 0.0110.50.01glissRgérer cadre 3DglissOpOpacité 02551800.1glissOpgérer cadre 3Dtest3D800800gérer cadre 3D0.5FairedanssecondesCadre GeoGebra3Davec IDde largeurde hauteuretsansinterfaceInsérer un saut de lignesi l'état dechange faireCréer glissière+valeurtitreminimummaximumvaleur initialepasInsérer un saut de lignesi l'état dechange faireCréer glissière+valeurtitreminimummaximumvaleur initialepasInsérer un saut de lignesi l'état dechange faireCréer glissière+valeurtitreminimummaximumvaleur initialepasCréer un titrecontenantCentrer les objets dans une page web de largeurpixelspouractions initiales pouractions en boucle sifairesinontest3DLe chargement du cadre GeoGebraest terminéglissNvaleur deglissRvaleur deglissOpvaleur de1nb1+-nb1+nb1+-nb1+nb1+-nb1+nb-nb1nb-nb1nb-nb1s@5=Sphere((@1,@2,@3),@4)créer une liste avecxyzrnumerosubstituer dansles valeurscréer un texte avecsnumero0255entier aléatoire entreet0255entier aléatoire entreet0255entier aléatoire entreetopaciténumero1+fixernumeroàObjet nomde couleur rougevertbleuet opacitéExécuter la commande GeoGebrabouclezde minà maxavec pasfaireboucleyde minà maxavec pasfairebouclexde minà maxavec pasfaireAxes 3D : xminxmaxyminymaxzminzmaxFigure avec axesinvisibleset grilleinvisibleEffacer la figurefixernumeroàfixeropacitéàfixerràfixernbàgérer cadre 3D0.5Fairedanssecondespourgérer cadre 3D retour


var canevas, nb, r, x, y, z, glissN, glissR, texte, numero, opacit_C3_A9, glissOp;

/**
 * Fonction exécutée une fois, au départ
 */
function actions_initiales() {
  centrerPageExecution(0);
  createElement("h1",'Grille 3D de sphères');
  glissN=nouvelleGlissiereValeur('n = ',1,5,1,1);
  siChangementPrudent("glissN",glissN,"g_C3_A9rer_cadre_3D",g_C3_A9rer_cadre_3D);
  createSpan("<br>");
  glissR=nouvelleGlissiereValeur('r = ',0.01,1,0.5,0.01);
  siChangementPrudent("glissR",glissR,"g_C3_A9rer_cadre_3D",g_C3_A9rer_cadre_3D);
  createSpan("<br>");
  glissOp=nouvelleGlissiereValeur('Opacité ',0,255,180,0.1);
  siChangementPrudent("glissOp",glissOp,"g_C3_A9rer_cadre_3D",g_C3_A9rer_cadre_3D);
  createSpan("<br>");
  creerCadreGGBplus('d3D','test3D',800,800,'sans');
  faireDelaiPrudent("g_C3_A9rer_cadre_3D",g_C3_A9rer_cadre_3D,0.5);
}

/**
 * Fonction exécutée périodiquement, de façon répétée
 */
function actions_en_boucle() {
}

function mathRandomInt(a, b) {
  if (a > b) {
    // Swap a and b to ensure a is smaller.
    var c = a;
    a = b;
    b = c;
  }
  return Math.floor(Math.random() * (b - a + 1) + a);
}

/**
 * Décrire cette fonction…
 */
function g_C3_A9rer_cadre_3D() {
  if (chargementCadreGGBtermine('test3D')) {
    nb = valeurPrudent("glissN",glissN);
    r = valeurPrudent("glissR",glissR);
    opacit_C3_A9 = valeurPrudent("glissOp",glissOp);
    numero = 1;
    effacerFigureGGbcourante();
    rendre_visible(false,false);
    axesFigureGGB_3D((-(nb + 1)),(nb + 1),(-(nb + 1)),(nb + 1),(-(nb + 1)),(nb + 1));
    for (x = -nb; x <= nb; x += abs(1)) {
      for (y = -nb; y <= nb; y += abs(1)) {
        for (z = -nb; z <= nb; z += abs(1)) {
          executerCommandeGeoGebraFCourt((substitution('s@5=Sphere((@1,@2,@3),@4)',[x, y, z, r, numero])))
          apparenceObjetFigureGGB((String('s') + String(numero)),(mathRandomInt(0, 255)),(mathRandomInt(0, 255)),(mathRandomInt(0, 255)),opacit_C3_A9);
          numero = numero + 1;
        }
      }
    }
  } else {
    faireDelaiPrudent("g_C3_A9rer_cadre_3D",g_C3_A9rer_cadre_3D,0.5);
  }
}
Exécuter