HEX
Server: Apache
System: Linux vps.mmtprep.com 4.18.0-477.21.1.el8_8.x86_64 #1 SMP Thu Aug 10 13:51:50 EDT 2023 x86_64
User: mmtprep (1001)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/_Solide_6e-MAPVNiBe.js.map
{"version":3,"file":"_Solide_6e-MAPVNiBe.js","sources":["../../src/exercices/6e/_Solide_6e.js"],"sourcesContent":["import { point } from '../../lib/2d/points.js'\nimport { polygone } from '../../lib/2d/polygones.js'\nimport { grille, seyes } from '../../lib/2d/reperes.js'\nimport { segment } from '../../lib/2d/segmentsVecteurs.js'\nimport { labelPoint } from '../../lib/2d/textes.js'\nimport { similitude, translation2Points } from '../../lib/2d/transformations.js'\nimport { choice, combinaisonListes, enleveDoublonNum } from '../../lib/outils/arrayOutils'\nimport { creerNomDePolygone } from '../../lib/outils/outilString.js'\nimport { context } from '../../modules/context.js'\nimport Exercice from '../deprecatedExercice.js'\nimport { mathalea2d, colorToLatexOrHTML, vide2d } from '../../modules/2dGeneralites.js'\nimport { listeQuestionsToContenu, randint, gestionnaireFormulaireTexte } from '../../modules/outils.js'\nimport { propositionsQcm } from '../../lib/interactif/qcm.js'\n\nexport const dateDeModifImportante = '07/06/2023' // par EE : QCM interactif, nouveau paramètre, couleur appropriée dans la correction, AMC\n\n/**\n * fonction servant à plusieurs exercices autour du cube et du pavé droit\n * @author Jean-Claude Lhote\n */\nexport default function Solide6e () {\n  Exercice.call(this)\n  this.nbQuestions = 1\n  this.nbCols = 1\n  this.nbColsCorr = 1\n  this.sup = 1\n  this.sup2 = 1\n  this.sup3 = 5\n  this.titre = ''\n  this.nouvelleVersion = function () {\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    this.autoCorrection = []\n    const typesDeQuestionsDisponibles = this.sup === 3 ? [1, 2] : [this.sup]\n\n    const listeTypeDeQuestions = combinaisonListes(\n      typesDeQuestionsDisponibles,\n      this.nbQuestions\n    )\n\n    const listeDeProblemes = gestionnaireFormulaireTexte({\n      saisie: this.sup3,\n      max: 4,\n      melange: 5,\n      defaut: 5,\n      nbQuestions: this.nbQuestions\n    })\n\n    let Xmin, Xmax, Ymin, Ymax, ppc\n\n    const sc = this.sup2 === 1 ? 0.5 : 0.8\n\n    let A; let B; let C; let D; let E; let F; let G; let H\n    let AB; let BC; let CD; let DA; let EF; let FG; let GH; let HE; let AE; let BF; let CG; let DH\n    let coeffpersp\n    let correction\n    let carreaux; let g\n    let objetsEnonce = []\n    let objetsCorrection = []\n    let p\n    let listeDeNomsDePolygones\n    for (\n      let i = 0, texte, resultatCorrect, resultatFaux, cpt = 0;\n      i < this.nbQuestions && cpt < 50;\n\n    ) {\n      if (i % 2 === 0) listeDeNomsDePolygones = ['PQD']\n      const nom = creerNomDePolygone(8, listeDeNomsDePolygones)\n      listeDeNomsDePolygones.push(nom)\n      const anglepersp = choice([30, 45, -30, -45, 150, 135, -150, -135])\n      coeffpersp = anglepersp % 10 === 0 ? 0.6 : 0.4\n      objetsCorrection = []\n      objetsEnonce = []\n      switch (listeTypeDeQuestions[i]) {\n        case 1: // cube\n          texte = `$${nom}$ is a cube.<br>`\n          // if (context.isHtml) text += 'Reproduce the figure below in the notebook.<br>'\n          // text += ' Match all segments of the same length in the same color.<br>'\n          correction = `The ${nom} cube.<br>`\n          break\n\n        case 2:\n          texte = `$${nom}$ is a right pad.<br>`\n          // if (context.isHtml) text += 'Reproduce the figure below in the notebook.<br>'\n          // text += ' Match all segments of the same length in the same color.<br>'\n          correction = `The right ${nom} pad.<br>`\n          break\n      }\n      const aretesParalleles = [[[0, 1], [2, 3], [4, 5], [6, 7]], [[0, 3], [1, 2], [4, 7], [5, 6]], [[0, 4], [1, 5], [2, 6], [3, 7]]]\n      const facesParalleles = [[[0, 1, 2, 3], [4, 5, 6, 7]], [[3, 7, 4, 0], [1, 5, 6, 2]], [[0, 1, 5, 4], [2, 6, 7, 3]]]\n      const aretesPerp = [[[0, 1], [0, 4], [0, 3], [1, 5], [1, 2]], [[0, 4], [0, 1], [0, 3], [4, 5], [4, 7]], [[0, 3], [0, 1], [0, 4], [2, 3], [3, 7]], [[1, 2], [0, 1], [1, 5], [2, 3], [2, 6]], [[1, 5], [0, 1], [1, 2],\n        [4, 5], [5, 6]], [[4, 5], [1, 5], [5, 6], [0, 4], [4, 7]], [[5, 6], [1, 5], [4, 5], [2, 6], [6, 7]],\n      [[2, 6], [6, 5], [6, 7], [1, 2], [2, 3]], [[2, 3], [1, 2], [2, 6], [0, 3], [3, 7]], [[3, 7], [2, 3], [0, 3], [4, 7], [6, 7]], [[4, 7], [0, 4], [4, 5], [7, 3], [6, 7]], [[6, 7], [2, 6], [6, 5], [7, 3], [4, 7]]]\n      const facesPerp = [[[0, 1, 2, 3], [1, 5, 6, 2], [2, 6, 7, 3], [3, 7, 4, 0], [0, 1, 5, 4]], [[1, 5, 6, 2], [0, 1, 2, 3], [2, 6, 7, 3], [4, 5, 6, 7], [0, 1, 5, 4]], [[0, 1, 5, 4], [1, 5, 6, 2], [4, 5, 6, 7], [3, 7, 4, 0], [0, 1, 2, 3]],\n        [[4, 5, 6, 7], [0, 1, 5, 4], [1, 5, 6, 2], [2, 6, 7, 3], [3, 7, 4, 0]], [[3, 7, 4, 0], [0, 1, 2, 3], [0, 1, 5, 4], [4, 5, 6, 7], [2, 6, 7, 3]], [[2, 6, 7, 3], [0, 1, 2, 3], [1, 5, 6, 2], [4, 5, 6, 7], [3, 7, 4, 0]]]\n      const toutesLesFaces = [[0, 1, 2, 3], [1, 5, 6, 2], [2, 6, 7, 3], [3, 7, 4, 0], [0, 1, 5, 4], [4, 5, 6, 7]]\n      let k, l, s\n      let nomFace, nomArete\n\n      switch (listeDeProblemes[i]) {\n        case 1: // citer les arêtes parallèles à une arête donnée\n          [k, l, s] = [randint(0, 2), randint(0, 3), randint(0, 1)]\n          texte += this.interactif\n            ? `Among the proposed edges, cite all those parallel to [$${nom[aretesParalleles[k][l][s]] + nom[aretesParalleles[k][l][(s + 1) % 2]]}$].<br>`\n            : `Quote all edges parallel to [$${nom[aretesParalleles[k][l][s]] + nom[aretesParalleles[k][l][(s + 1) % 2]]}$].<br>`\n          correction = `The edges parallel to [$${nom[aretesParalleles[k][l][s]] + nom[aretesParalleles[k][l][(s + 1) % 2]]}$] are [$${nom[aretesParalleles[k][(l + 1) % 4][s]] + nom[aretesParalleles[k][(l + 1) % 4][(s + 1) % 2]]}$], [$${nom[aretesParalleles[k][(l + 2) % 4][s]] + nom[aretesParalleles[k][(l + 2) % 4][(s + 1) % 2]]}$] and [$${nom[aretesParalleles[k][(l + 3) % 4][s]] + nom[aretesParalleles[k][(l + 3) % 4][(s + 1) % 2]]}$].<br>`\n          resultatCorrect = [`[$${nom[aretesParalleles[k][(l + 1) % 4][s]] + nom[aretesParalleles[k][(l + 1) % 4][(s + 1) % 2]]}$]`, `[$${nom[aretesParalleles[k][(l + 2) % 4][s]] + nom[aretesParalleles[k][(l + 2) % 4][(s + 1) % 2]]}$]`, `[$${nom[aretesParalleles[k][(l + 3) % 4][s]] + nom[aretesParalleles[k][(l + 3) % 4][(s + 1) % 2]]}$]`]\n          resultatFaux = []\n          for (let ee = 0; ee < 3; ee++) {\n            if (ee !== k) {\n              for (let ff = 0; ff < 4; ff++) {\n                resultatFaux.push(`[$${nom[aretesParalleles[ee][ff][s]] + nom[aretesParalleles[ee][ff][(s + 1) % 2]]}$]`)\n              }\n            }\n          }\n          break\n\n        case 2: // citer la face parallèle à une face donnée\n          [k, l, s] = [randint(0, 2), randint(0, 1), randint(0, 3)]\n          texte += `What is the face parallel to $${nom[facesParalleles[k][l][s]] + nom[facesParalleles[k][l][(s + 1) % 4]] + nom[facesParalleles[k][l][(s + 2) % 4]] + nom[facesParalleles[k][l][(s + 3) % 4]]}$?<br>`\n          correction = `The face parallel to $${nom[facesParalleles[k][l][s]] + nom[facesParalleles[k][l][(s + 1) % 4]] + nom[facesParalleles[k][l][(s + 2) % 4]] + nom[facesParalleles[k][l][(s + 3) % 4]]}$ is the face $${nom[facesParalleles[k][(l + 1) % 2][s]] + nom[facesParalleles[k][(l + 1) % 2][(s + 1) % 4]] + nom[facesParalleles[k][(l + 1) % 2][(s + 2) % 4]] + nom[facesParalleles[k][(l + 1) % 2][(s + 3) % 4]]}$.<br>`\n          resultatCorrect = [`$${nom[facesParalleles[k][(l + 1) % 2][s]] + nom[facesParalleles[k][(l + 1) % 2][(s + 1) % 4]] + nom[facesParalleles[k][(l + 1) % 2][(s + 2) % 4]] + nom[facesParalleles[k][(l + 1) % 2][(s + 3) % 4]]}$`]\n          resultatFaux = []\n          for (let ee = 0; ee < 3; ee++) {\n            if (ee !== k) {\n              for (let ff = 0; ff < 2; ff++) {\n                resultatFaux.push(`$${nom[facesParalleles[ee][ff][s]] + nom[facesParalleles[ee][ff][(s + 1) % 4]] + nom[facesParalleles[ee][ff][(s + 2) % 4]] + nom[facesParalleles[ee][ff][(s + 3) % 4]]}$`)\n              }\n            }\n          }\n          break\n\n        case 3: // citer les arêtes perpendiculaires à une arête donnée\n          [k, l, s] = [randint(0, 11), 0, randint(0, 1)]\n          texte += this.interactif\n            ? `Among the proposed edges, cite all those perpendicular to the edge [$${nom[aretesPerp[k][l][s]] + nom[aretesPerp[k][l][(s + 1) % 2]]}$].<br>`\n            : `What are the edges perpendicular to the edge [$${nom[aretesPerp[k][l][s]] + nom[aretesPerp[k][l][(s + 1) % 2]]}$]?<br>`\n          correction = `The edges perpendicular to edge [$${nom[aretesPerp[k][l][s]] + nom[aretesPerp[k][l][(s + 1) % 2]]}$] are [$${nom[aretesPerp[k][1][s]] + nom[aretesPerp[k][1][(s + 1) % 2]]}$], [$${nom[aretesPerp[k][2][s]] + nom[aretesPerp[k][2][(s + 1) % 2]]}$], [$${nom[aretesPerp[k][3][s]] + nom[aretesPerp[k][3][(s + 1) % 2]]}$] and [$${nom[aretesPerp[k][4][s]] + nom[aretesPerp[k][4][(s + 1) % 2]]}$].`\n          resultatCorrect = [`[$${nom[aretesPerp[k][1][s]] + nom[aretesPerp[k][1][(s + 1) % 2]]}$]`, `[$${nom[aretesPerp[k][2][s]] + nom[aretesPerp[k][2][(s + 1) % 2]]}$]`, `[$${nom[aretesPerp[k][3][s]] + nom[aretesPerp[k][3][(s + 1) % 2]]}$]`, `[$${nom[aretesPerp[k][4][s]] + nom[aretesPerp[k][4][(s + 1) % 2]]}$]`]\n          resultatFaux = []\n          for (let ee = 0; ee < 3; ee++) {\n            if (ee !== k) {\n              for (let ff = 1; ff < 5; ff++) {\n                nomArete = `[$${nom[aretesPerp[ee][ff][s]] + nom[aretesPerp[ee][ff][(s + 1) % 2]]}$]`\n                if ((resultatCorrect.indexOf(nomArete) === -1) && (nomArete !== `[$${nom[aretesPerp[k][l][s]] + nom[aretesPerp[k][l][(s + 1) % 2]]}$]`)) resultatFaux.push(nomArete)\n              }\n            }\n          }\n          break\n\n        case 4: // citer les faces perpendiculaires à une face donnée\n          [k, l, s] = [randint(0, 5), 0, randint(0, 3)]\n          texte += `What are the faces perpendicular to the face $${nom[facesPerp[k][l][s]] + nom[facesPerp[k][l][(s + 1) % 4]] + nom[facesPerp[k][l][(s + 2) % 4]] + nom[facesPerp[k][l][(s + 3) % 4]]}$?<br>`\n          correction = `Faces perpendicular to face $${nom[facesPerp[k][l][s]] + nom[facesPerp[k][l][(s + 1) % 4]] + nom[facesPerp[k][l][(s + 2) % 4]] + nom[facesPerp[k][l][(s + 3) % 4]]}$`\n          correction += `are the faces $${nom[facesPerp[k][l + 1][s]] + nom[facesPerp[k][l + 1][(s + 1) % 4]] + nom[facesPerp[k][l + 1][(s + 2) % 4]] + nom[facesPerp[k][l + 1][(s + 3) % 4]]}$,`\n          correction += `$${nom[facesPerp[k][l + 2][s]] + nom[facesPerp[k][l + 2][(s + 1) % 4]] + nom[facesPerp[k][l + 2][(s + 2) % 4]] + nom[facesPerp[k][l + 2][(s + 3) % 4]]}$,`\n          correction += `$${nom[facesPerp[k][l + 3][s]] + nom[facesPerp[k][l + 3][(s + 1) % 4]] + nom[facesPerp[k][l + 3][(s + 2) % 4]] + nom[facesPerp[k][l + 3][(s + 3) % 4]]}$ and`\n          correction += `$${nom[facesPerp[k][l + 4][s]] + nom[facesPerp[k][l + 4][(s + 1) % 4]] + nom[facesPerp[k][l + 4][(s + 2) % 4]] + nom[facesPerp[k][l + 4][(s + 3) % 4]]}$.`\n          resultatCorrect = []\n          for (let ee = 1; ee < 5; ee++) {\n            resultatCorrect.push(`$${nom[facesPerp[k][l + ee][s]] + nom[facesPerp[k][l + ee][(s + 1) % 4]] + nom[facesPerp[k][l + ee][(s + 2) % 4]] + nom[facesPerp[k][l + ee][(s + 3) % 4]]}$`)\n          }\n          resultatFaux = []\n          for (let ee = 0; ee < 6; ee++) {\n            nomFace = `$${nom[toutesLesFaces[ee][s]] + nom[toutesLesFaces[ee][(s + 1) % 4]] + nom[toutesLesFaces[ee][(s + 2) % 4]] + nom[toutesLesFaces[ee][(s + 3) % 4]]}$`\n            if ((resultatCorrect.indexOf(nomFace) === -1) && (nomFace !== `$${nom[facesPerp[k][l][s]] + nom[facesPerp[k][l][(s + 1) % 4]] + nom[facesPerp[k][l][(s + 2) % 4]] + nom[facesPerp[k][l][(s + 3) % 4]]}$`)) resultatFaux.push(nomFace)\n          }\n          break\n      }\n\n      switch (listeTypeDeQuestions[i] % 2) {\n        case 1:\n          A = point(6, 0, nom[0], 'left')\n          B = point(11, 0, nom[1], 'right')\n          C = point(11, 5, nom[2], 'right')\n          D = point(6, 5, nom[3], 'left')\n          p = polygone(A, B, C, D)\n          E = similitude(B, A, anglepersp, coeffpersp, nom[4], 'left')\n          E.x = Math.round(E.x)\n          E.y = Math.round(E.y)\n          break\n\n        case 0:\n          A = point(5, 0, nom[0], 'left')\n          B = point(9 + randint(1, 3), 0, nom[1], 'right')\n          C = point(B.x, randint(3, 7), nom[2], 'right')\n          D = point(A.x, C.y, nom[3], 'left')\n          p = polygone(A, B, C, D)\n          E = similitude(B, A, anglepersp, coeffpersp * randint(5, 12) / 10, nom[4], 'left')\n          E.x = Math.round(E.x)\n          E.y = Math.round(E.y)\n          break\n      }\n\n      p = polygone(A, B, C, D)\n      F = translation2Points(E, A, B, nom[5], 'right')\n      G = translation2Points(F, B, C, nom[6], 'right')\n      H = translation2Points(G, C, D, nom[7], 'left')\n      AB = segment(A, B, 'black')\n      BC = segment(B, C, 'black')\n      CD = segment(C, D, 'black')\n      DA = segment(D, A, 'black')\n      EF = segment(E, F, 'black')\n      FG = segment(F, G, 'black')\n      GH = segment(G, H, 'black')\n      HE = segment(H, E, 'black')\n      AE = segment(A, E, 'black')\n      BF = segment(B, F, 'black')\n      CG = segment(C, G, 'black')\n      DH = segment(D, H, 'black')\n      AB.epaisseur = 2\n      BC.epaisseur = 2\n      CD.epaisseur = 2\n      DA.epaisseur = 2\n      EF.epaisseur = 2\n      FG.epaisseur = 2\n      GH.epaisseur = 2\n      HE.epaisseur = 2\n      AE.epaisseur = 2\n      BF.epaisseur = 2\n      CG.epaisseur = 2\n      DH.epaisseur = 2\n      if (G.y < C.y && G.x < C.x) {\n        CG.pointilles = 5\n        CG.color = colorToLatexOrHTML('gray')\n        CG.opacite = 0.7\n        GH.pointilles = 5\n        GH.color = colorToLatexOrHTML('gray')\n        GH.opacite = 0.7\n        FG.pointilles = 5\n        FG.color = colorToLatexOrHTML('gray')\n        FG.opacite = 0.7\n      } else if (E.y > A.y && E.x > A.x) {\n        AE.pointilles = 5\n        EF.pointilles = 5\n        HE.pointilles = 5\n        AE.color = colorToLatexOrHTML('gray')\n        EF.color = colorToLatexOrHTML('gray')\n        HE.color = colorToLatexOrHTML('gray')\n        AE.opacite = 0.7\n        EF.opacite = 0.7\n        HE.opacite = 0.7\n      } else if (F.x < B.x && F.y > B.y) {\n        BF.pointilles = 5\n        FG.pointilles = 5\n        EF.pointilles = 5\n        BF.color = colorToLatexOrHTML('gray')\n        FG.color = colorToLatexOrHTML('gray')\n        EF.color = colorToLatexOrHTML('gray')\n        BF.opacite = 0.7\n        FG.opacite = 0.7\n        EF.opacite = 0.7\n      } else if (H.x > D.x && H.y < D.y) {\n        DH.pointilles = 5\n        GH.pointilles = 5\n        HE.pointilles = 5\n        DH.color = colorToLatexOrHTML('gray')\n        GH.color = colorToLatexOrHTML('gray')\n        HE.color = colorToLatexOrHTML('gray')\n        DH.opacite = 0.7\n        GH.opacite = 0.7\n        HE.opacite = 0.7\n      }\n      Xmin = Math.min(A.x, E.x) - 1\n      Ymin = Math.min(A.y, E.y) - 1\n      Xmax = Math.max(B.x, F.x) + 2\n      Ymax = Math.max(D.y, H.y) + 1\n      ppc = 20\n\n      g = this.sup2 < 3 ? grille(Xmin, Ymin, Xmax, Ymax, 'gray', 0.7) : vide2d()\n      carreaux = this.sup2 === 2 ? seyes(Xmin, Ymin, Xmax, Ymax) : vide2d()\n\n      objetsEnonce.push(AB, BC, CD, DA, EF, FG, GH, HE, AE, BF, CG, DH, labelPoint(A, B, C, D, E, F, G, H), p,\n        g,\n        carreaux\n      )\n\n      const params = {\n        xmin: Xmin,\n        ymin: Ymin,\n        xmax: Xmax,\n        ymax: Ymax,\n        pixelsParCm: ppc,\n        scale: sc\n      }\n      texte += mathalea2d(params, objetsEnonce)\n      switch (listeDeProblemes[i]) {\n        case 1 :\n          switch (k) {\n            case 0 :\n              AB.color = l === 0 ? colorToLatexOrHTML('blue') : colorToLatexOrHTML('#f15929')\n              CD.color = l === 1 ? colorToLatexOrHTML('blue') : colorToLatexOrHTML('#f15929')\n              EF.color = l === 2 ? colorToLatexOrHTML('blue') : colorToLatexOrHTML('#f15929')\n              GH.color = l === 3 ? colorToLatexOrHTML('blue') : colorToLatexOrHTML('#f15929')\n              break\n            case 1 :\n              BC.color = l === 1 ? colorToLatexOrHTML('blue') : colorToLatexOrHTML('#f15929')\n              DA.color = l === 0 ? colorToLatexOrHTML('blue') : colorToLatexOrHTML('#f15929')\n              FG.color = l === 3 ? colorToLatexOrHTML('blue') : colorToLatexOrHTML('#f15929')\n              HE.color = l === 2 ? colorToLatexOrHTML('blue') : colorToLatexOrHTML('#f15929')\n              break\n            case 2 :\n              BF.color = l === 1 ? colorToLatexOrHTML('blue') : colorToLatexOrHTML('#f15929')\n              CG.color = l === 2 ? colorToLatexOrHTML('blue') : colorToLatexOrHTML('#f15929')\n              DH.color = l === 3 ? colorToLatexOrHTML('blue') : colorToLatexOrHTML('#f15929')\n              AE.color = l === 0 ? colorToLatexOrHTML('blue') : colorToLatexOrHTML('#f15929')\n              break\n          }\n          break\n        case 2 :\n          switch (k) {\n            case 0 :\n              AB.color = l !== 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              BC.color = l !== 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              CD.color = l !== 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              DA.color = l !== 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              EF.color = l === 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              FG.color = l === 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              GH.color = l === 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              HE.color = l === 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              break\n            case 1 :\n              DH.color = l !== 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              HE.color = l !== 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              AE.color = l !== 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              DA.color = l !== 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              BF.color = l === 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              FG.color = l === 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              CG.color = l === 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              BC.color = l === 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              break\n            case 2 :\n              AB.color = l !== 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              BF.color = l !== 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              EF.color = l !== 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              AE.color = l !== 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              CG.color = l === 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              GH.color = l === 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              DH.color = l === 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              CD.color = l === 0 ? colorToLatexOrHTML('#f15929') : colorToLatexOrHTML('blue')\n              break\n          }\n          break\n        case 3 :\n          switch (k) {\n            case 0 :\n              AB.color = colorToLatexOrHTML('blue')\n              AE.color = colorToLatexOrHTML('#f15929')\n              DA.color = colorToLatexOrHTML('#f15929')\n              BF.color = colorToLatexOrHTML('#f15929')\n              BC.color = colorToLatexOrHTML('#f15929')\n              break\n            case 1 :\n              AE.color = colorToLatexOrHTML('blue')\n              AB.color = colorToLatexOrHTML('#f15929')\n              DA.color = colorToLatexOrHTML('#f15929')\n              EF.color = colorToLatexOrHTML('#f15929')\n              HE.color = colorToLatexOrHTML('#f15929')\n              break\n            case 2 :\n              DA.color = colorToLatexOrHTML('blue')\n              AB.color = colorToLatexOrHTML('#f15929')\n              AE.color = colorToLatexOrHTML('#f15929')\n              CD.color = colorToLatexOrHTML('#f15929')\n              DH.color = colorToLatexOrHTML('#f15929')\n              break\n            case 3 :\n              BC.color = colorToLatexOrHTML('blue')\n              AB.color = colorToLatexOrHTML('#f15929')\n              BF.color = colorToLatexOrHTML('#f15929')\n              CD.color = colorToLatexOrHTML('#f15929')\n              CG.color = colorToLatexOrHTML('#f15929')\n              break\n            case 4 :\n              BF.color = colorToLatexOrHTML('blue')\n              AB.color = colorToLatexOrHTML('#f15929')\n              BC.color = colorToLatexOrHTML('#f15929')\n              EF.color = colorToLatexOrHTML('#f15929')\n              FG.color = colorToLatexOrHTML('#f15929')\n              break\n            case 5 :\n              EF.color = colorToLatexOrHTML('blue')\n              BF.color = colorToLatexOrHTML('#f15929')\n              FG.color = colorToLatexOrHTML('#f15929')\n              AE.color = colorToLatexOrHTML('#f15929')\n              HE.color = colorToLatexOrHTML('#f15929')\n              break\n            case 6 :\n              FG.color = colorToLatexOrHTML('blue')\n              BF.color = colorToLatexOrHTML('#f15929')\n              EF.color = colorToLatexOrHTML('#f15929')\n              CG.color = colorToLatexOrHTML('#f15929')\n              GH.color = colorToLatexOrHTML('#f15929')\n              break\n            case 7 :\n              CG.color = colorToLatexOrHTML('blue')\n              FG.color = colorToLatexOrHTML('#f15929')\n              GH.color = colorToLatexOrHTML('#f15929')\n              BC.color = colorToLatexOrHTML('#f15929')\n              CD.color = colorToLatexOrHTML('#f15929')\n              break\n            case 8 :\n              CD.color = colorToLatexOrHTML('blue')\n              BC.color = colorToLatexOrHTML('#f15929')\n              CG.color = colorToLatexOrHTML('#f15929')\n              DA.color = colorToLatexOrHTML('#f15929')\n              DH.color = colorToLatexOrHTML('#f15929')\n              break\n            case 9 :\n              DH.color = colorToLatexOrHTML('blue')\n              CD.color = colorToLatexOrHTML('#f15929')\n              DA.color = colorToLatexOrHTML('#f15929')\n              HE.color = colorToLatexOrHTML('#f15929')\n              GH.color = colorToLatexOrHTML('#f15929')\n              break\n            case 10 :\n              HE.color = colorToLatexOrHTML('blue')\n              AE.color = colorToLatexOrHTML('#f15929')\n              EF.color = colorToLatexOrHTML('#f15929')\n              DH.color = colorToLatexOrHTML('#f15929')\n              GH.color = colorToLatexOrHTML('#f15929')\n              break\n            case 11 :\n              GH.color = colorToLatexOrHTML('blue')\n              CG.color = colorToLatexOrHTML('#f15929')\n              FG.color = colorToLatexOrHTML('#f15929')\n              DH.color = colorToLatexOrHTML('#f15929')\n              HE.color = colorToLatexOrHTML('#f15929')\n              break\n          }\n          break\n        case 4 :\n          AB.color = colorToLatexOrHTML('#f15929')\n          BC.color = colorToLatexOrHTML('#f15929')\n          CD.color = colorToLatexOrHTML('#f15929')\n          DA.color = colorToLatexOrHTML('#f15929')\n          EF.color = colorToLatexOrHTML('#f15929')\n          FG.color = colorToLatexOrHTML('#f15929')\n          GH.color = colorToLatexOrHTML('#f15929')\n          HE.color = colorToLatexOrHTML('#f15929')\n          AE.color = colorToLatexOrHTML('#f15929')\n          BF.color = colorToLatexOrHTML('#f15929')\n          CG.color = colorToLatexOrHTML('#f15929')\n          DH.color = colorToLatexOrHTML('#f15929')\n          switch (k) {\n            case 0 :\n              AB.color = colorToLatexOrHTML('blue')\n              BC.color = colorToLatexOrHTML('blue')\n              CD.color = colorToLatexOrHTML('blue')\n              DA.color = colorToLatexOrHTML('blue')\n              break\n            case 1 :\n              BF.color = colorToLatexOrHTML('blue')\n              FG.color = colorToLatexOrHTML('blue')\n              CG.color = colorToLatexOrHTML('blue')\n              BC.color = colorToLatexOrHTML('blue')\n              break\n            case 2 :\n              AB.color = colorToLatexOrHTML('blue')\n              BF.color = colorToLatexOrHTML('blue')\n              EF.color = colorToLatexOrHTML('blue')\n              AE.color = colorToLatexOrHTML('blue')\n              break\n            case 3 :\n              EF.color = colorToLatexOrHTML('blue')\n              FG.color = colorToLatexOrHTML('blue')\n              GH.color = colorToLatexOrHTML('blue')\n              HE.color = colorToLatexOrHTML('blue')\n              break\n            case 4 :\n              DH.color = colorToLatexOrHTML('blue')\n              HE.color = colorToLatexOrHTML('blue')\n              AE.color = colorToLatexOrHTML('blue')\n              DA.color = colorToLatexOrHTML('blue')\n              break\n            case 5 :\n              CG.color = colorToLatexOrHTML('blue')\n              GH.color = colorToLatexOrHTML('blue')\n              DH.color = colorToLatexOrHTML('blue')\n              CD.color = colorToLatexOrHTML('blue')\n              break\n          }\n          break\n      }\n\n      objetsCorrection.push(AB, BC, CD, DA, EF, FG, GH, HE, AE, BF, CG, DH, labelPoint(A, B, C, D, E, F, G, H),\n        g,\n        carreaux\n      )\n\n      correction += mathalea2d(params, objetsCorrection)\n      if (this.interactif || context.isAmc) {\n        resultatCorrect = combinaisonListes(resultatCorrect, resultatCorrect.length)\n        resultatFaux = enleveDoublonNum(resultatFaux)\n        resultatFaux = combinaisonListes(resultatFaux, resultatFaux.length)\n        this.autoCorrection[i] = {}\n        this.autoCorrection[i].enonce = texte\n        this.autoCorrection[i].propositions = [{\n          texte: resultatCorrect[0],\n          statut: true\n        },\n        {\n          texte: resultatCorrect.length > 1 ? resultatCorrect[1] : resultatFaux[3],\n          statut: resultatCorrect.length > 1\n        },\n        {\n          texte: resultatFaux[0],\n          statut: false\n        },\n        {\n          texte: listeDeProblemes[i] === 4 ? resultatCorrect[2] : resultatFaux[1],\n          statut: listeDeProblemes[i] === 4\n        },\n        {\n          texte: listeDeProblemes[i] === 4 ? resultatCorrect[3] : resultatFaux[2],\n          statut: listeDeProblemes[i] === 4\n        }\n        ]\n        texte += propositionsQcm(this, i).texte\n      }\n      if (this.questionJamaisPosee(i, texte, k, l, s)) {\n        // If the question has never been asked, we create another one\n        this.listeQuestions.push(texte + '<br>')\n        this.listeCorrections.push(correction + '<br>')\n        i++\n      }\n      cpt++\n    }\n\n    listeQuestionsToContenu(this)\n  }\n  this.besoinFormulaireNumerique = ['Type of solids', 3, ' 1: Cubes\\n 2: Straight blocks\\n 3: Mix']\n  this.besoinFormulaire2Numerique = [\n    'Notebook type',\n    3,\n    '1: Notebook with small squares\\n 2: Notebook with large squares (Seyes)\\n 3: Blank sheet'\n  ]\n  this.besoinFormulaire3Texte = ['Type of questions', 'Numbers separated by hyphens\\n1: Parallel edges\\n2: Parallel faces\\n3: Perpendicular edges\\n4: Perpendicular faces\\n5: Blend']\n}\n"],"names":["dateDeModifImportante","Solide6e","Exercice","typesDeQuestionsDisponibles","listeTypeDeQuestions","combinaisonListes","listeDeProblemes","gestionnaireFormulaireTexte","Xmin","Xmax","Ymin","Ymax","ppc","sc","A","B","C","D","E","F","G","H","AB","BC","CD","DA","EF","FG","GH","HE","AE","BF","CG","DH","coeffpersp","correction","carreaux","g","objetsEnonce","objetsCorrection","p","listeDeNomsDePolygones","i","texte","resultatCorrect","resultatFaux","cpt","nom","creerNomDePolygone","anglepersp","choice","aretesParalleles","facesParalleles","aretesPerp","facesPerp","toutesLesFaces","k","s","nomFace","nomArete","randint","ee","ff","point","polygone","similitude","translation2Points","segment","colorToLatexOrHTML","grille","vide2d","seyes","labelPoint","params","mathalea2d","context","enleveDoublonNum","propositionsQcm","listeQuestionsToContenu"],"mappings":"+OAcY,MAACA,GAAwB,aAMtB,SAASC,IAAY,CAClCC,GAAS,KAAK,IAAI,EAClB,KAAK,YAAc,EACnB,KAAK,OAAS,EACd,KAAK,WAAa,EAClB,KAAK,IAAM,EACX,KAAK,KAAO,EACZ,KAAK,KAAO,EACZ,KAAK,MAAQ,GACb,KAAK,gBAAkB,UAAY,CACjC,KAAK,eAAiB,CAAE,EACxB,KAAK,iBAAmB,CAAE,EAC1B,KAAK,eAAiB,CAAE,EACxB,MAAMC,GAA8B,KAAK,MAAQ,EAAI,CAAC,EAAG,CAAC,EAAI,CAAC,KAAK,GAAG,EAEjEC,GAAuBC,GAC3BF,GACA,KAAK,WACN,EAEKG,EAAmBC,GAA4B,CACnD,OAAQ,KAAK,KACb,IAAK,EACL,QAAS,EACT,OAAQ,EACR,YAAa,KAAK,WACxB,CAAK,EAED,IAAIC,EAAMC,EAAMC,EAAMC,EAAMC,GAE5B,MAAMC,GAAK,KAAK,OAAS,EAAI,GAAM,GAEnC,IAAIC,EAAOC,EAAOC,EAAOC,EAAOC,EAAOC,EAAOC,EAAOC,EACjDC,EAAQC,EAAQC,EAAQC,EAAQC,EAAQC,EAAQC,EAAQC,EAAQC,EAAQC,EAAQC,EAAQC,EACxFC,EACAC,EACAC,EAAcC,EACdC,EAAe,CAAE,EACjBC,EAAmB,CAAE,EACrBC,EACAC,EACJ,QACMC,EAAI,EAAGC,EAAOC,EAAiBC,EAAcC,GAAM,EACvDJ,EAAI,KAAK,aAAeI,GAAM,IAE9B,CACIJ,EAAI,IAAM,IAAGD,EAAyB,CAAC,KAAK,GAChD,MAAMM,EAAMC,GAAmB,EAAGP,CAAsB,EACxDA,EAAuB,KAAKM,CAAG,EAC/B,MAAME,GAAaC,GAAO,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,KAAM,IAAI,CAAC,EAIlE,OAHAhB,EAAae,GAAa,KAAO,EAAI,GAAM,GAC3CV,EAAmB,CAAE,EACrBD,EAAe,CAAE,EACTlC,GAAqBsC,CAAC,EAAC,CAC7B,IAAK,GACHC,EAAQ,IAAII,CAAG,mBAGfZ,EAAa,OAAOY,CAAG,aACvB,MAEF,IAAK,GACHJ,EAAQ,IAAII,CAAG,wBAGfZ,EAAa,aAAaY,CAAG,YAC7B,KACH,CACD,MAAMI,EAAmB,CAAC,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,CAAC,EACxHC,EAAkB,CAAC,CAAC,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,CAAC,EAC3GC,EAAa,CAAC,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAChN,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EACpG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,CAAC,EAC1MC,EAAY,CAAC,CAAC,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAAG,CAAC,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EACtO,CAAC,CAAC,EAAG,EAAG,EAAG,CAAC,EAAG,CAAC,EAAG,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"}