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/6G41-KSG4Ky4c.js.map
{"version":3,"file":"6G41-KSG4Ky4c.js","sources":["../../src/exercices/6e/6G41.js"],"sourcesContent":["import { milieu, point, tracePoint } from '../../lib/2d/points.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 } from '../../lib/outils/arrayOutils'\nimport { creerNomDePolygone } from '../../lib/outils/outilString.js'\nimport Exercice from '../Exercice.js'\nimport { mathalea2d, colorToLatexOrHTML, vide2d } from '../../modules/2dGeneralites.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { context } from '../../modules/context.js'\n\nexport const amcReady = true\nexport const amcType = 'AMCOpen'\n\nexport const titre = 'Complete a representation in cavalier perspective'\n\n/**\n * fonction servant à compléter des solides, inspirée des fonctions de 6G42 et 6G43\n * référence : 6G41\n * @author Mireille Gain, s'inspirant fortement de Jean-Claude Lhote\n */\nexport const uuid = 'a8e0f'\nexport const ref = '6G41'\nexport default function RepresenterUnSolide () {\n  Exercice.call(this) // Héritage de la classe Exercice ()\n  this.titre = titre\n  this.nbQuestions = 1\n  this.nbCols = 1\n  this.nbColsCorr = 1\n  this.sup = 1\n  this.sup2 = 1\n  this.classe = 6\n  this.amcReady = amcReady\n  this.amcType = amcType\n\n  this.nouvelleVersion = function () {\n    this.autoCorrection = []\n    let typeDeQuestionsDisponibles\n\n    if (this.sup === 3) { typeDeQuestionsDisponibles = [1, 2] } else if (this.sup === 5) { typeDeQuestionsDisponibles = [1, 2, 4] } else if (this.sup === 7) { typeDeQuestionsDisponibles = [1, 2, 4, 6] } else { typeDeQuestionsDisponibles = [parseInt(this.sup)] }\n\n    const listeTypeDeQuestions = combinaisonListes(\n      typeDeQuestionsDisponibles,\n      this.nbQuestions\n    ) // Tous les types de questions sont posées mais l'ordre diffère à chaque 'cycle'\n\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n    let Xmin, Xmax, Ymin, Ymax, ppc, sc\n\n    // sixth: cube and right pad\n    if (this.classe === 6) {\n      typeDeQuestionsDisponibles = [1, 2]\n    } else if (this.classe === 5) { // cinquième : on ajoute le prisme\n      typeDeQuestionsDisponibles = [1, 2, 4]\n    } else if (this.classe === 4) { // Quatrième : on ajoute la pyramide\n      typeDeQuestionsDisponibles = [1, 2, 4, 6]\n    }\n\n    if (parseInt(this.sup2) === 1) { sc = 0.5 } else { sc = 0.8 }\n\n    let A; let B; let C; let D; let E; let F; let G; let H; let I\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; let IA; let IB; let IE; let IF; let BD; let FH\n    let coeffpersp\n    let correction\n    let carreaux; let g\n    let objetsEnonce = []\n    let objetsCorrection = []\n    let listeDeNomsDePolygones\n    for (let i = 0, texte, enonce, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      if (i % 2 === 0) listeDeNomsDePolygones = ['Q.D.']\n      const nom = creerNomDePolygone(8, listeDeNomsDePolygones)\n      listeDeNomsDePolygones.push(nom)\n      const anglepersp = choice([30, 45, -30, -45, 150, 135, -150, -135])\n      if (anglepersp % 10 === 0) { coeffpersp = 0.6 } else { coeffpersp = 0.4 }\n      objetsCorrection = []\n      objetsEnonce = []\n\n      switch (listeTypeDeQuestions[i]) {\n        case 1: // cube\n          enonce = `$${nom}$ is a cube.<br>`\n          break\n\n        case 2: // pavé droit\n          enonce = `$${nom}$ is a right pad.<br>`\n          break\n\n        case 4: // prisme\n          enonce = 'We consider a prism with a triangular base.<br>'\n          break\n\n        case 6: // pyramide\n          enonce = 'We consider a pyramid with a rectangular base.<br>'\n          break\n      }\n      enonce += context.isHtml ? 'Reproduce and complete' : 'Complete'\n      enonce += 'the figure below, passing the parallel segments of the same length in the same color.<br>'\n      correction = 'Completed figure:<br>'\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          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          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      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      I = milieu(D, G)\n      const matrace = tracePoint(I)\n      matrace.taille = 4\n      matrace.opacite = 0.9\n      matrace.epaisseur = 5\n      matrace.style = 'x'\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      IA = segment(A, I, 'black')\n      IB = segment(B, I)\n      IE = segment(E, I)\n      IF = segment(F, I)\n      BD = segment(B, D)\n      FH = segment(F, H)\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      IA.epaisseur = 1\n      IB.epaisseur = 1\n      IE.epaisseur = 1\n      IF.epaisseur = 1\n      BD.epaisseur = 2\n      FH.epaisseur = 2\n\n      if (G.y < C.y && G.x < C.x) {\n        CG.pointilles = 5\n        GH.pointilles = 5\n        FG.pointilles = 5\n        IF.pointilles = 5\n        FH.pointilles = 5\n        CG.color = colorToLatexOrHTML('gray')\n        GH.color = colorToLatexOrHTML('gray')\n        FG.color = colorToLatexOrHTML('gray')\n        CG.opacite = 0.7\n        GH.opacite = 0.7\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        IE.pointilles = 5\n        FH.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        IF.pointilles = 5\n        FH.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        IE.pointilles = 5\n        FH.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      if (this.sup2 < 3) { g = grille(Xmin, Ymin, Xmax, Ymax, 'gray', 0.7) } else { g = vide2d() }\n      if (parseInt(this.sup2) === 2) { carreaux = seyes(Xmin, Ymin, Xmax, Ymax); sc = 0.8 } else { carreaux = vide2d(); sc = 0.5 }\n\n      const params = {\n        xmin: Xmin,\n        ymin: Ymin,\n        xmax: Xmax,\n        ymax: Ymax,\n        pixelsParCm: ppc,\n        scale: sc\n      }\n\n      if (listeTypeDeQuestions[i] === 1) {\n        objetsEnonce.push(AB, BC, CD, DA, AE, labelPoint(A, B, C, D, E),\n          g,\n          carreaux\n        )\n      }\n\n      if (listeTypeDeQuestions[i] === 2) {\n        objetsEnonce.push(AB, BC, CD, DA, AE, labelPoint(A, B, C, D, E),\n          g,\n          carreaux\n        )\n      }\n\n      if (listeTypeDeQuestions[i] === 4) {\n        objetsEnonce.push(AB, DA, BD, AE,\n          g,\n          carreaux\n        )\n      }\n\n      if (listeTypeDeQuestions[i] === 6) {\n        objetsEnonce.push(AB, BF, tracePoint(I, 'red'), labelPoint(I),\n          g,\n          carreaux\n        )\n      }\n\n      enonce += mathalea2d(params, objetsEnonce)\n      if (listeTypeDeQuestions[i] === 1) {\n        AB.color = colorToLatexOrHTML('green')\n        BC.color = colorToLatexOrHTML('red')\n        CD.color = colorToLatexOrHTML('green')\n        DA.color = colorToLatexOrHTML('red')\n        EF.color = colorToLatexOrHTML('green')\n        FG.color = colorToLatexOrHTML('red')\n        GH.color = colorToLatexOrHTML('green')\n        HE.color = colorToLatexOrHTML('red')\n        AE.color = colorToLatexOrHTML('blue')\n        BF.color = colorToLatexOrHTML('blue')\n        CG.color = colorToLatexOrHTML('blue')\n        DH.color = colorToLatexOrHTML('blue')\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\n      if (listeTypeDeQuestions[i] === 2) {\n        AB.color = colorToLatexOrHTML('green')\n        BC.color = colorToLatexOrHTML('red')\n        CD.color = colorToLatexOrHTML('green')\n        DA.color = colorToLatexOrHTML('red')\n        EF.color = colorToLatexOrHTML('green')\n        FG.color = colorToLatexOrHTML('red')\n        GH.color = colorToLatexOrHTML('green')\n        HE.color = colorToLatexOrHTML('red')\n        AE.color = colorToLatexOrHTML('blue')\n        BF.color = colorToLatexOrHTML('blue')\n        CG.color = colorToLatexOrHTML('blue')\n        DH.color = colorToLatexOrHTML('blue')\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\n      if (listeTypeDeQuestions[i] === 4) {\n        AB.color = colorToLatexOrHTML('green')\n        BC.color = colorToLatexOrHTML('red')\n        CD.color = colorToLatexOrHTML('green')\n        DA.color = colorToLatexOrHTML('red')\n        EF.color = colorToLatexOrHTML('green')\n        FG.color = colorToLatexOrHTML('red')\n        GH.color = colorToLatexOrHTML('green')\n        HE.color = colorToLatexOrHTML('red')\n        AE.color = colorToLatexOrHTML('blue')\n        BF.color = colorToLatexOrHTML('blue')\n        CG.color = colorToLatexOrHTML('blue')\n        DH.color = colorToLatexOrHTML('blue')\n        objetsCorrection.push(AB, DA, BD, EF, HE, AE, BF, DH, FH,\n          g,\n          carreaux\n        )\n      }\n\n      if (listeTypeDeQuestions[i] === 6) {\n        AB.color = colorToLatexOrHTML('green')\n        BC.color = colorToLatexOrHTML('red')\n        CD.color = colorToLatexOrHTML('green')\n        DA.color = colorToLatexOrHTML('red')\n        EF.color = colorToLatexOrHTML('green')\n        FG.color = colorToLatexOrHTML('red')\n        GH.color = colorToLatexOrHTML('green')\n        HE.color = colorToLatexOrHTML('red')\n        AE.color = colorToLatexOrHTML('blue')\n        BF.color = colorToLatexOrHTML('blue')\n        CG.color = colorToLatexOrHTML('blue')\n        DH.color = colorToLatexOrHTML('blue')\n        objetsCorrection.push(AB, EF, AE, BF, IA, IB, IE, IF, tracePoint(I),\n          g,\n          carreaux\n        )\n      }\n\n      correction += mathalea2d(params, objetsCorrection)\n      if (this.listeQuestions.indexOf(texte) === -1) {\n        // If the question has never been asked, we create another one\n        this.listeQuestions.push(enonce + '<br>')\n        this.listeCorrections.push(correction + '<br>')\n        // For AMC question AmcOpen\n        this.autoCorrection[i] = { enonce, propositions: [{ texte: correction, statut: 3, feedback: '', sanscadre: true }] }\n        i++\n      }\n      cpt++\n    }\n    listeQuestionsToContenu(this)\n  }\n  this.besoinFormulaireNumerique = ['Type of solids', 3, ' 1: Cubes\\n 2: Straight blocks\\n 3: Mix']\n\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}\n"],"names":["amcReady","amcType","titre","uuid","ref","RepresenterUnSolide","Exercice","typeDeQuestionsDisponibles","listeTypeDeQuestions","combinaisonListes","Xmin","Xmax","Ymin","Ymax","ppc","sc","A","B","C","D","E","F","G","H","I","AB","BC","CD","DA","EF","FG","GH","HE","AE","BF","CG","DH","IA","IB","IE","IF","BD","FH","coeffpersp","correction","carreaux","g","objetsEnonce","objetsCorrection","listeDeNomsDePolygones","i","texte","enonce","cpt","nom","creerNomDePolygone","anglepersp","choice","context","point","similitude","randint","translation2Points","milieu","matrace","tracePoint","segment","colorToLatexOrHTML","grille","vide2d","seyes","params","labelPoint","mathalea2d","listeQuestionsToContenu"],"mappings":"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"}