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/4G15-nc8UW5GN.js.map
{"version":3,"file":"4G15-nc8UW5GN.js","sources":["../../src/exercices/4e/4G15.js"],"sourcesContent":["import { droite, mediatrice } from '../../lib/2d/droites.js'\nimport { milieu, point, pointAdistance, pointSurSegment, tracePoint } from '../../lib/2d/points.js'\nimport { nommePolygone, polygone, polygoneAvecNom, renommePolygone } from '../../lib/2d/polygones.js'\nimport { longueur, vecteur } from '../../lib/2d/segmentsVecteurs.js'\nimport { labelPoint, latexParPoint } from '../../lib/2d/textes.js'\nimport { rotation, similitude, symetrieAxiale, translation } from '../../lib/2d/transformations.js'\nimport Exercice from '../deprecatedExercice.js'\nimport { mathalea2d } from '../../modules/2dGeneralites.js'\nimport { context } from '../../modules/context.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport Alea2iep from '../../modules/Alea2iep.js'\nimport { rotationAnimee, symetrieAnimee, translationAnimee } from '../../modules/2dAnimation.js'\n\nexport const titre = 'Triangle transformations'\n/**\n * @author Liouba Leroux & Jean-Claude Lhote\n */\nexport const uuid = '0da6a'\nexport const ref = '4G15'\nexport default function TransformationsDeTriangle () {\n  Exercice.call(this)\n  this.titre = 'Triangle transformations'\n  this.nbQuestions = 1 // Ici le nombre de questions (une seule pour cet exercice non modifiable)\n  this.nbQuestionsModifiable = false // désactive le formulaire nombre de questions\n  this.nbCols = 1 // Le nombre de colonnes dans l'énoncé LaTeX\n  this.nbColsCorr = 1// Le nombre de colonne pour la correction LaTeX\n  this.pasDeVersionLatex = false // mettre à true si on ne veut pas de l'exercice dans le générateur LaTeX\n  this.pas_de_version_HMTL = false // mettre à true si on ne veut pas de l'exercice en ligne\n  this.typeExercice = 'IEP'\n  // See the Exercise Class for an exhaustive list of available properties.\n\n  // this.sup = false; // To uncomment: default value of a first parameter\n  // this.sup2 = false; // To uncomment: default value of a second parameter\n  // this.sup3 = false; // To uncomment: default value of a third parameter\n\n  // this is where the exercise code begins this function creates a copy of the exercise\n  this.nouvelleVersion = function (numeroExercice) {\n    // the numeroExercice variable can be retrieved to allow two copies of the same exo to be differentiated\n    // For example, to be sure not to have the same point names by calling this exo twice on the same page\n\n    this.listeQuestions = [] // tableau contenant la liste des questions\n    this.listeCorrections = []\n    // Above We create a random list including nbQuestions among the available types.\n    /* Un exemple ci-dessous : si la classe est 6, alors les types dispo sont 1 et 2 sinon , 1,2,3 et 4.\n  if (this.classe == 6) typesDeQuestionsDisponibles = [1, 2]\n      else typesDeQuestionsDisponibles = [1, 2, 3,4]\n  listeTypeDeQuestions = combinaisonListes(typesDeQuestionsDisponibles, this.nbQuestions)\n  */\n    // loop to make the nbQuestions questions ensuring that if there are no different nbQuestions\n    // The loop stops after 50 attempts.\n\n    const objetsEnonce = [] // on initialise le tableau des objets Mathalea2d de l'enoncé\n    const objetsCorrection = [] // Idem pour la correction\n\n    let texteCorr = '' // Idem pour le texte de la correction.\n    let largeur = 20\n    let hauteur = 20\n    let A, B, C, triangle, triangle0, O, M, X, Y, triangle1, A1, B1, C1, d1, triangle2, med, D, F, triangle3, triangle4,\n      triangle5, traces, labels\n    let xMin, xMax, yMin, yMax\n    let alpha, beta\n    const anim = new Alea2iep()\n    /***************************************/\n    /** ******Ici on définit les objets 2d */\n    /*************************************/\n    while (largeur > 16 && hauteur > 16) {\n      xMin = 0\n      xMax = 0\n      yMin = 0\n      yMax = 0\n      A = point(0, 0, 'A')\n      B = pointAdistance(A, randint(40, 60) / 10, randint(70, 100), 'B')\n      C = similitude(B, A, randint(20, 50), randint(8, 12) / 10, 'C')\n      triangle0 = polygone(A, B, C)\n      triangle = polygoneAvecNom(A, B, C)\n      // d0=right(A,B)\n      O = pointSurSegment(B, A, 2 + longueur(A, B))\n      // d0.isVisible=false\n      beta = randint(-45, -20)\n      A1 = rotation(A, O, beta, 'A')\n      B1 = rotation(B, O, beta, 'B')\n      C1 = rotation(C, O, beta, 'C')\n      triangle1 = polygone(A1, B1, C1)\n      renommePolygone(triangle1, ['$A_1$', '$B_1$', '$C_1$'])\n      M = milieu(A, A1)\n      d1 = droite(A1, B1)\n      triangle2 = symetrieAxiale(triangle1, d1)\n      renommePolygone(triangle2, ['$A_1$', '$B_1$', '$C_1$'])\n      med = mediatrice(A, A1)\n      X = pointSurSegment(M, O, 5)\n      Y = pointSurSegment(O, M, 10)\n      D = similitude(B1, A1, randint(-40, -10), 1.5, 'D')\n      triangle3 = rotation(triangle2, D, 180)\n      renommePolygone(triangle3, ['$A_2$', '$B_2$', '$C_2$'])\n      F = translation(D, vecteur(B, A), 'F')\n      traces = tracePoint(D, F)\n      labels = labelPoint(D, F)\n      triangle4 = translation(triangle3, vecteur(D, F))\n      renommePolygone(triangle4, ['$A_3$', '$B_3$', '$C_3$'])\n      alpha = -randint(80, 110)\n      triangle5 = rotation(triangle4, F, alpha)\n      renommePolygone(triangle5, ['$A_4$', '$B_4$', '$C_4$'])\n\n      for (let i = 0; i < 3; i++) {\n        xMin = Math.min(xMin, triangle0.listePoints[i].x, triangle1.listePoints[i].x, triangle2.listePoints[i].x, triangle3.listePoints[i].x, triangle4.listePoints[i].x, triangle5.listePoints[i].x)\n        xMax = Math.max(xMax, triangle0.listePoints[i].x, triangle1.listePoints[i].x, triangle2.listePoints[i].x, triangle3.listePoints[i].x, triangle4.listePoints[i].x, triangle5.listePoints[i].x)\n        yMin = Math.min(yMin, triangle0.listePoints[i].y, triangle1.listePoints[i].y, triangle2.listePoints[i].y, triangle3.listePoints[i].y, triangle4.listePoints[i].y, triangle5.listePoints[i].y)\n        yMax = Math.max(yMax, triangle0.listePoints[i].y, triangle1.listePoints[i].y, triangle2.listePoints[i].y, triangle3.listePoints[i].y, triangle4.listePoints[i].y, triangle5.listePoints[i].y)\n      }\n      xMax += 4\n      xMin--\n      yMin--\n      yMax++\n      largeur = xMax - xMin\n      hauteur = yMax - yMin\n    }\n\n    let texte = 'Construct<br>$A_1B_1C_1$ the symmetrical triangle of $ABC$ with respect to the line $(d)$;<br>' // Nous utilisons souvent cette variable pour construire le texte de la question.\n    texte += '$A_2B_2C_2$ the symmetrical triangle of $A_1B_1C_1$ with respect to the point $D$;<br>'\n    texte += '$A_3B_3C_3$ the triangle translated from $A_2B_2C_2$ such that $D$ is transformed into $F$;<br>'\n    texte += `$A_4B_4C_4$ the triangle obtained by the rotation of $A_3B_3C_3$ with center $F$ and angle $${Math.abs(alpha)}\\\\degree$ clockwise.<br>`\n\n    const nomd = latexParPoint('(d)', translation(milieu(B, B1), vecteur(1, 0)), 'black', 30, 12, '')\n    if (context.isHtml) {\n      const triangle2a = symetrieAnimee(triangle0, med, `id='anim${numeroExercice}A' begin=\"0s\" hard=\"2s\" repeatcount=\"1\" fill=\"freeze\"`)\n      const triangle3a = rotationAnimee(triangle2, D, 180, `id='anim${numeroExercice}B' begin=\"2s\" dur=\"2s\" repeatcount=\"1\" fill=\"freeze\"`)\n      const triangle4a = translationAnimee(triangle3, vecteur(D, F), `id='anim${numeroExercice}C' begin=\"4s\" hard=\"2s\" repeatcount=\"1\" fill=\"freeze\"`)\n      const triangle5a = rotationAnimee(triangle4, F, alpha, `id='anim${numeroExercice}D' begin=\"6s\" hard=\"2s\" repeatcount=\"1\" fill=\"freeze\"`)\n      anim.vitesse = 15\n      anim.tempo = 0.5\n      anim.recadre(xMin, yMax)\n      anim.polygoneRapide(...triangle0.listePoints)\n      anim.pointsCreer(A, B, C, F, D)\n      anim.couleur = 'black'\n      anim.traitRapide(X, Y)\n      anim.textePoint('(d)', milieu(B, B1))\n      anim.symetrieAxialePolygone(triangle0, med, ['A_1', 'B_1', 'C_1'], {\n        couleur: 'blue',\n        couleurCodage: 'light blue'\n      })\n      anim.demiTourPolygone(triangle2, D, ['A_2', 'B_2', 'C_2'], {\n        couleur: 'red',\n        couleurCodage: 'pink'\n      })\n      anim.translationPolygone(triangle3, D, F, ['A_3', 'B_3', 'C_3'], {\n        couleur: 'brown',\n        couleurCodage: '#f15929'\n      })\n      anim.rotationPolygone(triangle4, F, alpha, ['A_4', 'B_4', 'C_4'], {\n        couleur: 'green',\n        couleurCodage: 'lightgreen'\n      })\n      anim.crayonMasquer()\n      objetsCorrection.push(triangle2a, triangle3a, triangle4a, triangle5a)\n    }\n    context.fenetreMathalea2d = [xMin, yMin, xMax, yMax]\n    objetsEnonce.push(triangle0, triangle[1], traces, labels, med, nomd) // On rempli les tableaux d'objets Mathalea2d\n    objetsCorrection.push(triangle0, triangle[1], traces, labels, med, nomd, triangle2, nommePolygone(triangle2), triangle3, nommePolygone(triangle3), triangle4, nommePolygone(triangle4), triangle5, nommePolygone(triangle5))\n\n    // parameters of the Mathalea2d window for the freehand statement\n    // paramsEnonceml = { xmin: Math.min(objectsEnonceml.x), ymin: Math.min(objectsEnonceml.y), xmax: Math.max(objectsEnonceml.x), ymax: Math.max(objectsEnonceml.y), pixelsParCm : 20, scale: 1, main: true, amplitude: 1 }\n    // Mathalea2d window parameters for normal statement\n    const paramsEnonce = {\n      xmin: xMin,\n      ymin: yMin,\n      xmax: xMax,\n      ymax: yMax,\n      pixelsParCm: 20,\n      scale: 1,\n      mainlevee: false\n    }\n    // Mathalea2d window parameters for correction\n    const paramsCorrection = {\n      xmin: xMin,\n      ymin: yMin,\n      xmax: xMax,\n      ymax: yMax,\n      pixelsParCm: 20,\n      scale: 1\n    }\n    // We add to the text of the statement, the freehand figure and the figure of the statement.\n    texte += mathalea2d(paramsEnonce, objetsEnonce)\n    // We add to the text of the correction, the figure of the correction\n    texteCorr += mathalea2d(paramsCorrection, objetsCorrection)\n    if (context.isHtml) {\n      texteCorr += '<br>'\n      texteCorr += `<button class=\"ui mini compact button\" style=\"margin:10px\" onclick=\"document.getElementById('anim${numeroExercice}A').beginElement()\"><i class=\"redo circle icon\"></i>axial symmetry </button>`\n      texteCorr += `<button class=\"ui mini compact button\" style=\"margin:10px\" onclick=\"document.getElementById('anim${numeroExercice}B').beginElement()\"><i class=\"redo circle icon\"></i>central symmetry </button>`\n      texteCorr += `<button class=\"ui mini compact button\" style=\"margin:10px\" onclick=\"document.getElementById('anim${numeroExercice}C').beginElement()\"><i class=\"redo circle icon\"></i>translation</button>`\n      texteCorr += `<button class=\"ui mini compact button\" style=\"margin:10px\" onclick=\"document.getElementById('anim${numeroExercice}D').beginElement()\"><i class=\"redo circle icon\"></i>rotation</button>`\n\n      texteCorr += anim.html(numeroExercice)\n    }\n    this.listeQuestions.push(texte)\n    this.listeCorrections.push(texteCorr)\n    listeQuestionsToContenu(this) // On envoie l'exercice à la fonction de mise en page\n  }\n}\n"],"names":["titre","uuid","ref","TransformationsDeTriangle","Exercice","numeroExercice","objetsEnonce","objetsCorrection","texteCorr","largeur","hauteur","A","B","C","triangle","triangle0","O","M","X","Y","triangle1","A1","B1","C1","d1","triangle2","med","D","F","triangle3","triangle4","triangle5","traces","labels","xMin","xMax","yMin","yMax","alpha","beta","anim","Alea2iep","point","pointAdistance","randint","similitude","polygone","polygoneAvecNom","pointSurSegment","longueur","rotation","renommePolygone","milieu","droite","symetrieAxiale","mediatrice","translation","vecteur","tracePoint","labelPoint","i","texte","nomd","latexParPoint","context","triangle2a","symetrieAnimee","triangle3a","rotationAnimee","triangle4a","translationAnimee","triangle5a","nommePolygone","paramsEnonce","paramsCorrection","mathalea2d","listeQuestionsToContenu"],"mappings":"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"}