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/2G23-2-CycUfdcc.js.map
{"version":3,"file":"2G23-2-CycUfdcc.js","sources":["../../src/exercices/2e/2G23-2.js"],"sourcesContent":["import { point, tracePoint } from '../../lib/2d/points.js'\nimport { repere } from '../../lib/2d/reperes.js'\nimport { longueur, nomVecteurParPosition, segment, vecteur } from '../../lib/2d/segmentsVecteurs.js'\nimport { latexParPoint, texteParPosition } from '../../lib/2d/textes.js'\nimport { homothetie } from '../../lib/2d/transformations.js'\nimport { choice } from '../../lib/outils/arrayOutils'\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { ecritureAlgebrique, ecritureParentheseSiNegatif } from '../../lib/outils/ecritures'\nimport Exercice from '../deprecatedExercice.js'\nimport { colorToLatexOrHTML, fixeBordures, mathalea2d } from '../../modules/2dGeneralites.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\n\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const titre = 'Calculer les coordonnées d\\'un point par une translation'\nexport const dateDeModifImportante = '09/07/2023'\n\n/**\n * Calculer les coordonnées d'un point image ou antécédent d'un autre par une translation\n * @author Stéphane Guyon, Jean-Claude Lhote et Stéphan Grignon\n * Référence 2G23-2\n */\nexport const uuid = 'fa7b9'\nexport const ref = '2G23-2'\nexport default function TranslationEtCoordonnes () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.titre = titre\n  this.nbQuestions = 2\n  this.nbCols = 1\n  this.nbColsCorr = 1\n  this.sup = 1\n  this.correctionDetaillee = false\n  this.correctionDetailleeDisponible = true\n  this.nouvelleVersion = function () {\n    this.listeQuestions = [] // Liste de questions\n    this.listeCorrections = [] // Liste de questions corrigées\n\n    for (let i = 0, texte, texteCorr, cpt = 0; i < this.nbQuestions && cpt < 50;) {\n      let xA, yA, xB, yB, ux, uy, AbsRep, OrdRep\n      const objets = []\n      xA = randint(2, 8) * choice([-1, 1])\n      yA = randint(2, 8) * choice([-1, 1])\n      ux = randint(2, 8) * choice([-1, 1])\n      uy = randint(2, 8) * choice([-1, 1])\n      xB = xA + ux\n      yB = yA + uy\n      while (Math.abs(xB) < 2 || Math.abs(xB) > 8) { // On s'assure de choisir des points bien placés dans le repère.\n        xA = randint(2, 8) * choice([-1, 1])\n        ux = randint(2, 8) * choice([-1, 1])\n        xB = xA + ux\n      }\n      while (Math.abs(yB) < 2 || Math.abs(yB) > 8) { // Idem pour les ordonnées\n        yA = randint(2, 8) * choice([-1, 1])\n        uy = randint(2, 8) * choice([-1, 1])\n        yB = yA + uy\n      }\n\n      const r = repere({\n        xUnite: 1,\n        yUnite: 1,\n        xMin: Math.min(-2, xA - 2, xB - 2, 2),\n        yMin: Math.min(-2, yA - 2, yB - 2, 2),\n        xMax: Math.max(-2, xA + 2, xB + 2, 2),\n        yMax: Math.max(-2, yA + 2, yB + 2, 2),\n        thickHauteur: 0.1,\n        yLabelEcart: 0.4,\n        xLabelEcart: 0.3,\n        axeXStyle: '->',\n        axeYStyle: '->'\n      }) // On définit le repère\n      const A = point(xA, yA) // On définit et on trace le point A\n      const B = point(xB, yB) // On définit et on trace le point B\n      const traceAetB = tracePoint(A, B, 'red') // Variable qui trace les points avec une croix\n      const posLabelA = homothetie(B, A, -0.7 / longueur(A, B), '', 'center') // pour positionner les noms des points aux extrémités proprement\n      const posLabelB = homothetie(A, B, -0.7 / longueur(A, B), '', 'center')\n      const labelA = latexParPoint('A', posLabelA, 'red', 10, 12, '')\n      const labelB = latexParPoint(\"A'\", posLabelB, 'red', 10, 12, '')\n      const s = segment(A, B, 'red') // On trace en rouge [AB]\n      s.styleExtremites = '->' // Variable qui transforme [AB] en vecteur\n      const O = point(0, 0) // On définit et on trace le point O\n      const o = texteParPosition('O', -0.3, -0.3, 'milieu', 'black', 1)\n      const I = point(1, 0) // On définit sans tracer le point I\n      const J = point(0, 1) // On définit sans tracer le point J\n      const vi = vecteur(O, I) // Variable qui définit vecteur OI\n      const vj = vecteur(O, J) // Variable qui définit vecteur OJ\n      const k = vi.representant(O) // Variable qui trace [OI]\n      const j = vj.representant(O) // Variable qui trace [OJ]\n      s.epaisseur = 2 // Variable qui grossit le tracé du vecteur AB\n      s.color = colorToLatexOrHTML('red')\n      k.epaisseur = 2 // Variable qui grossit le tracé du vecteur OI\n      j.epaisseur = 2 // Variable qui grossit le tracé du vecteur OJ\n      const nomi = nomVecteurParPosition('i', 0.5, -0.7, 1.5, 0)\n      const nomj = nomVecteurParPosition('j', -0.7, 0.5, 1.5, 0)\n      const nomAB = vecteur(A, B).representantNomme(A, \"AA'\", 1.5, 'red')\n      objets.push(r, traceAetB, posLabelA, posLabelB, labelA, labelB, s, o, O, I, J, vi, vj, k, j, nomi, nomj, nomAB)\n\n      if (parseInt(this.sup) === 1) {\n        AbsRep = xB\n        OrdRep = yB\n        texte = `Dans un repère orthonormé $(O\\\\,;\\\\,\\\\vec \\\\imath,\\\\,\\\\vec \\\\jmath)$, déterminer les coordonnées du point $A'$, image du point $A\\\\left(${xA}\\\\,;\\\\,${yA}\\\\right)$ par la translation de vecteur $\\\\vec{u}\\\\begin{pmatrix}${ux}\\\\\\\\${uy}\\\\end{pmatrix}$.<br>`\n\n        if (this.interactif) {\n          texte += ajouteChampTexteMathLive(this, 2 * i, 'largeur15 inline', { texteAvant: '<br><br>Abscisse $x$ du point $A\\'$ :' })\n          texte += ajouteChampTexteMathLive(this, 2 * i + 1, 'largeur15 inline', { texteAvant: '<br><br>Ordonnée $y$ du point $A\\'$ :' })\n        }\n      } else if (parseInt(this.sup) === 2) {\n        AbsRep = xA\n        OrdRep = yA\n        texte = `Dans un repère orthonormé $(O\\\\,;\\\\,\\\\vec \\\\imath,\\\\,\\\\vec \\\\jmath)$, déterminer les coordonnées du point $A$, dont l'image par la translation de vecteur $\\\\vec{u}\\\\begin{pmatrix}${ux}\\\\\\\\${uy}\\\\end{pmatrix}$ est le point $A'\\\\left(${xB}\\\\,;\\\\,${yB}\\\\right)$.<br>`\n\n        if (this.interactif) {\n          texte += ajouteChampTexteMathLive(this, 2 * i, 'largeur15 inline', { texteAvant: '<br><br>Abscisse $x$ du point $A$ :' })\n          texte += ajouteChampTexteMathLive(this, 2 * i + 1, 'largeur15 inline', { texteAvant: '<br><br>Ordonnée $y$ du point $A$ :' })\n        }\n      }\n      texteCorr = ''\n      if (this.correctionDetaillee) {\n        texteCorr += 'On sait d\\'après le cours que si $A\\'$ est l\\'image de $A$ par la translation de vecteur $\\\\vec{u}$, alors on a l\\'égalité : $\\\\overrightarrow{AA\\'}=\\\\vec{u}$.<br>'\n        texteCorr += 'On connaît les coordonnées de $\\\\vec{u}$ avec l\\'énoncé, on calcule donc celles de $\\\\overrightarrow{AA\\'}$.<br>'\n        texteCorr += 'On sait d\\'après le cours que si $A(x_A\\\\,;\\\\,y_A)$ et $B(x_B\\\\,;\\\\,y_B)$ sont deux points d\\'un repère, alors on a $\\\\overrightarrow{AB}\\\\begin{pmatrix}x_B-x_A\\\\\\\\y_B-y_A\\\\end{pmatrix}$.<br>'\n        texteCorr += 'On applique ci-dessous aux données de l\\'énoncé.<br><br>'\n      }\n\n      if (parseInt(this.sup) === 1) {\n        texteCorr += `Soit $(x\\\\,;\\\\,y)$ les coordonnées du point $A'$, on a donc $\\\\overrightarrow{AA'}\\\\begin{pmatrix}x-${ecritureParentheseSiNegatif(xA)}\\\\\\\\y-${ecritureParentheseSiNegatif(yA)}\\\\end{pmatrix}$`\n        if (xA < 0 | yA < 0) {\n          texteCorr += ` soit $\\\\overrightarrow{AA'}\\\\begin{pmatrix}x${ecritureAlgebrique(-xA)}\\\\\\\\y${ecritureAlgebrique(-yA)}\\\\end{pmatrix}$.<br>`\n        } else {\n          texteCorr += '.<br>'\n        }\n        texteCorr += 'Dire que $\\\\overrightarrow{AA\\'}=\\\\vec{u}$ équivaut à résoudre :<br><br>'\n        texteCorr += '$\\\\left\\\\{\\\\begin{array}{l}'\n        texteCorr += `x${ecritureAlgebrique(-xA)}=${ux} \\\\\\\\`\n        texteCorr += `y${ecritureAlgebrique(-yA)}=${uy}`\n        texteCorr += '\\\\end{array}'\n        texteCorr += '\\\\right.$'\n        texteCorr += '$\\\\Leftrightarrow\\\\left\\\\{\\\\begin{array}{l}'\n        texteCorr += `x=${ux}${ecritureAlgebrique(xA)} \\\\\\\\`\n        texteCorr += `y=${uy}${ecritureAlgebrique(yA)}`\n        texteCorr += '\\\\end{array}'\n        texteCorr += '\\\\right.$'\n        texteCorr += '$\\\\Leftrightarrow\\\\left\\\\{\\\\begin{array}{l}'\n        texteCorr += `x=${xB} \\\\\\\\`\n        texteCorr += `y=${yB}`\n        texteCorr += '\\\\end{array}'\n        texteCorr += `\\\\right.$ soit $A'(${xB}\\\\,;\\\\,${yB})$.<br>`\n        setReponse(this, 2 * i, AbsRep)\n        setReponse(this, 2 * i + 1, OrdRep)\n        // texteCorr += `$\\\\begin{cases}x${ecritureAlgebrique(-xA)}=${ux}\\\\\\\\y${ecritureAlgebrique(-yA)}=${uy}\\\\end{cases}$`\n        // texteCorr += `$\\\\Leftrightarrow\\\\begin{cases}x=${ux}${ecritureAlgebrique(xA)}\\\\\\\\y=${uy}${ecritureAlgebrique(yA)}\\\\end{cases}$`\n        // texteCorr += `$\\\\Leftrightarrow\\\\begin{cases}x=${xB}\\\\\\\\y=${yB}\\\\end{cases}$ soit $A'(${xB}\\\\,;\\\\,${yB})$.<br>`\n      } else if (parseInt(this.sup) === 2) {\n        texteCorr += `Soit $(x\\\\,;\\\\,y)$ les coordonnées du point $A$, on a donc : $\\\\overrightarrow{AA'}\\\\begin{pmatrix}${xB}-x\\\\\\\\${yB}-y\\\\end{pmatrix}$.<br>`\n        texteCorr += 'Dire que $\\\\overrightarrow{AA\\'}=\\\\vec{u}$ équivaut à résoudre :<br><br>'\n        texteCorr += '$\\\\left\\\\{\\\\begin{array}{l}'\n        texteCorr += `${xB}-x=${ux} \\\\\\\\`\n        texteCorr += `${yB}-y=${uy}`\n        texteCorr += '\\\\end{array}'\n        texteCorr += '\\\\right.$'\n        texteCorr += '$\\\\Leftrightarrow\\\\left\\\\{\\\\begin{array}{l}'\n        texteCorr += `x=${xB}${ecritureAlgebrique(-ux)} \\\\\\\\`\n        texteCorr += `y=${yB}${ecritureAlgebrique(-uy)}`\n        texteCorr += '\\\\end{array}'\n        texteCorr += '\\\\right.$'\n        texteCorr += '$\\\\Leftrightarrow\\\\left\\\\{\\\\begin{array}{l}'\n        texteCorr += `x=${xA} \\\\\\\\`\n        texteCorr += `y=${yA}`\n        texteCorr += '\\\\end{array}'\n        texteCorr += `\\\\right.$ soit $A(${xA}\\\\,;\\\\,${yA})$.<br>`\n        setReponse(this, 2 * i, AbsRep)\n        setReponse(this, 2 * i + 1, OrdRep)\n        // texteCorr += `$\\\\begin{cases}${xB}-x=${ux}\\\\\\\\${yB}-y=${uy}\\\\end{cases}$`\n        // texteCorr += `$\\\\Leftrightarrow\\\\begin{cases}x=${xB}${ecritureAlgebrique(-ux)}\\\\\\\\y=${yB}${ecritureAlgebrique(-uy)}\\\\end{cases}$`\n        // texteCorr += `$\\\\Leftrightarrow\\\\begin{cases}x=${xA}\\\\\\\\y=${yA}\\\\end{cases}$ soit $A(${xA}\\\\,;\\\\,${yA})$.<br>`\n      }\n\n      if (this.correctionDetaillee) {\n        texteCorr += mathalea2d(Object.assign({ zoom: 1, scale: 0.6 }, fixeBordures(objets)), objets) // On trace le graphique\n      }\n      // texte += ajouteChampTexteMathLive(this, 2 * i, 'largeur15 inline', {texteAvant: '<br><br>Abscisse du point :' })\n      // texte += ajouteChampTexteMathLive(this, 2 * i + 1, 'largeur15 inline', {texteAvant: '<br><br>Ordonnée du point :' })\n      // setReponse(this, 2 * i, AbsRep)\n      // setReponse(this, 2 * i + 1, OrdRep)\n      if (this.questionJamaisPosee(i, xA, yA, xB, yB)) { // Si la question n'a jamais été posée, on en créé une autre\n        this.listeQuestions.push(texte)\n        this.listeCorrections.push(texteCorr)\n        i++\n      }\n      cpt++\n    }\n    listeQuestionsToContenu(this)\n  }\n  this.besoinFormulaireNumerique = ['Situations différentes ', 2, '1 :Calculer les coordonnées de l\\'image d\\'un point. \\n 2 :Calculer les coordonnées de l\\'antécédent d\\'un point.']\n}\n"],"names":["interactifReady","interactifType","titre","dateDeModifImportante","uuid","ref","TranslationEtCoordonnes","Exercice","i","texte","texteCorr","cpt","xA","yA","xB","yB","ux","uy","AbsRep","OrdRep","objets","randint","choice","r","repere","A","point","B","traceAetB","tracePoint","posLabelA","homothetie","longueur","posLabelB","labelA","latexParPoint","labelB","s","segment","O","o","texteParPosition","I","J","vi","vecteur","vj","k","j","colorToLatexOrHTML","nomi","nomVecteurParPosition","nomj","nomAB","ajouteChampTexteMathLive","ecritureParentheseSiNegatif","ecritureAlgebrique","setReponse","mathalea2d","fixeBordures","listeQuestionsToContenu"],"mappings":"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"}