File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/betaPatronSolide-GEPRDk6I.js.map
{"version":3,"file":"betaPatronSolide-GEPRDk6I.js","sources":["../../src/exercices/beta/betaPatronSolide.js"],"sourcesContent":["import { shuffle } from '../../lib/outils/arrayOutils'\nimport { range } from '../../lib/outils/nombres.js'\nimport Exercice from '../Exercice.js'\nimport { listeQuestionsToContenu, randint } from '../../modules/outils.js'\nimport { fixeBordures, mathalea2d } from '../../modules/2dGeneralites.js'\nimport { BoiteBuilder } from '../../lib/2d/polygones.js'\n\nexport const titre = 'Compléter des patrons de solides'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const uuid = '865e9'\nexport const ref = 'betaPatronSolide'\n// Les exports suivants sont optionnels mais au moins la date de publication semble essentielle\nexport const dateDePublication = '16/04/2022' // La date de publication initiale au format 'jj/mm/aaaa' pour affichage temporaire d'un tag\n\n/**\n * Pour l'instant on va faire les cubes et les parallélépipèdes rectangles\n * @author Jean-Claude Lhote\n * Référence\n */\n/** type Cellule = { bordG, bordH } */\n\n/** type Ligne = Cellule[] */\n/** type Patron = Ligne[] */\n\nclass ModelePatrons {\n patrons\n\n constructor (a, b, c) {\n this.patrons = [\n [\n [\n { bordG: a, bordH: b }, { bordG: a, bordH: c }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: c, bordH: a }, {\n bordG: c,\n bordH: b\n }, { bordG: null, bordH: null }\n ]\n ],\n [\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: c, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: b, bordH: a }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: a, bordH: c }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ]\n ],\n [\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: c, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: b, bordH: a }\n ],\n [\n { bordG: null, bordH: null }, { bordG: c, bordH: b }, { bordG: c, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ]\n ],\n [\n [\n { bordG: null, bordH: null }, { bordG: c, bordH: b }, { bordG: c, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: b, bordH: a }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: null, bordH: null }, {\n bordG: a,\n bordH: c\n }, { bordG: null, bordH: null }\n ]\n ],\n [\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: c, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: b, bordH: a }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: c, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ]\n ],\n [\n [\n { bordG: null, bordH: null }, { bordG: a, bordH: c }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: b, bordH: a }\n ],\n [\n { bordG: null, bordH: null }, { bordG: a, bordH: c }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ]\n ],\n [\n [\n { bordG: null, bordH: null }, { bordG: a, bordH: c }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: b, bordH: a }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: c, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ]\n ],\n [\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: null, bordH: null }, {\n bordG: a,\n bordH: c\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: b, bordH: a }\n ],\n [\n { bordG: null, bordH: null }, { bordG: a, bordH: c }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ]\n ],\n [\n [\n { bordG: null, bordH: null }, { bordG: c, bordH: b }, { bordG: c, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: b, bordH: a }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: c, bordH: a }\n ]\n ],\n [\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: b, bordH: a }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: c, bordH: a }, {\n bordG: c,\n bordH: b\n }, { bordG: c, bordH: a }\n ]\n ],\n [\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: c, bordH: a }\n ],\n [\n { bordG: null, bordH: null }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: b, bordH: a }\n ],\n [\n { bordG: null, bordH: null }, { bordG: a, bordH: c }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ]\n ]\n ]\n }\n}\n\nclass FauxPatrons {\n constructor (a, b, c) {\n this.erzatz = [\n {\n patron: [\n [\n { bordG: c, bordH: a }, { bordG: null, bordH: null }, { bordG: null, bordH: null }, {\n bordG: a,\n bordH: c\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: b, bordH: a }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }, { bordG: null, bordH: null }\n ]\n ],\n fauxCube: true, // est un faux patron même si a=b=c\n collision: [[0, 0], [0, 3]] // Les faces [0,0] et [0,3] sont les mêmes\n },\n {\n patron: [\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: c, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: c, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ]\n ],\n fauxCube: true, // est un faux patron même si a=b=c\n collision: [[1, 2], [null, null]] // il n'y a pas de collision, il manque la face opposée à la face [1,2]\n },\n {\n patron: [\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }, { bordG: null, bordH: null }\n ],\n [\n { bordG: b, bordH: a }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: a, bordH: c }, { bordG: null, bordH: null }, {\n bordG: a,\n bordH: c\n }, { bordG: null, bordH: null }\n ]\n ],\n fauxCube: true,\n collision: [[2, 1], [2, 3]]\n },\n {\n patron: [\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }, { bordG: null, bordH: null }\n ],\n [\n { bordG: b, bordH: a }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: c, bordH: a }, { bordG: null, bordH: null }, { bordG: null, bordH: null }, {\n bordG: a,\n bordH: c\n }, { bordG: null, bordH: null }\n ]\n ],\n fauxCube: true,\n collision: [[2, 0], [2, 3]]\n },\n {\n patron: [\n [\n { bordG: a, bordH: b }, { bordG: a, bordH: c }, { bordG: null, bordH: null }, {\n bordG: a,\n bordH: c\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: b, bordH: c }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }, { bordG: null, bordH: null }\n ]\n ],\n fauxCube: true,\n collision: [[0, 1], [0, 3]]\n },\n {\n patron: [\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: c, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: b, bordH: c }, { bordG: b, bordH: a }, { bordG: b, bordH: a }, {\n bordG: b,\n bordH: c\n }, { bordG: null, bordH: null }\n ],\n [\n { bordG: null, bordH: null }, { bordG: null, bordH: null }, { bordG: c, bordH: a }, {\n bordG: null,\n bordH: null\n }, { bordG: null, bordH: null }\n ]\n ],\n fauxCube: false, // Si a===c, c'est bien un patron de pave, il n'est faux que si c!==a (il faudra éviter ce cas pour les pavés)\n collision: [[1, 1], [1, 2]]\n }\n ]\n }\n}\n\nexport default class PatronsSolides extends Exercice {\n constructor () {\n super()\n this.sup = '1-2-3' // Cette ligne est très importante pour faire faire un exercice simple !\n this.nbQuestions = 3\n this.besoinFormulaireTexte = ['Trois dimensions du parallélépipède rectangle séparés par des tirets']\n }\n\n nouvelleVersion () {\n this.listeQuestions = []\n this.listeCorrections = []\n\n function formateGrille (modele) {\n const largeurs = []\n for (let x = 0, xMax; x < 5; x++) {\n xMax = 0\n for (let y = 0; y < 3; y++) {\n xMax = Math.max(xMax, modele[y][x].bordH || 0)\n }\n largeurs[x] = xMax\n }\n const hauteurs = []\n for (let y = 0, yMax; y < 3; y++) {\n yMax = 0\n for (let x = 0; x < 5; x++) {\n yMax = Math.max(yMax, modele[y][x].bordG || 0)\n }\n hauteurs[y] = yMax\n }\n return [largeurs, hauteurs]\n }\n\n function dessinePatron (modele) {\n const forme = []\n const [largeurs, hauteurs] = formateGrille(modele)\n for (let x = 0, xOffset = 0; x < 5; x++) {\n if (largeurs[x] !== 0) {\n for (let y = 0, yOffset = 0; y < 3; y++) {\n if (hauteurs[y] !== 0) {\n if (modele[y][x].bordG) {\n forme.push(new BoiteBuilder({\n xMin: xOffset,\n yMin: yOffset,\n xMax: xOffset + largeurs[x],\n yMax: yOffset + hauteurs[y]\n }).render())\n }\n yOffset += hauteurs[y]\n }\n }\n xOffset += largeurs[x]\n }\n }\n return forme\n }\n\n const dimensions = this.sup.split('-')\n const [a, b, c] = [parseInt(dimensions[0]), parseInt(dimensions[1]), parseInt(dimensions[2])]\n for (let i = 0; i < this.nbQuestions; i++) {\n /* const a = randint(1, 5)\n const b = randint(1, 5, a)\n const c = randint(1, 5, [a, b])\n */\n const mesModeles = new ModelePatrons(a, b, c)\n const mesFaux = new FauxPatrons(a, b, c)\n const nombreDeFaux = randint(1, 3)\n const nombreDeVrais = 5 - nombreDeFaux\n const vraisPatronsNumeros = shuffle(range(10)).slice(0, nombreDeVrais)\n const fauxPatronsNumeros = shuffle(range(5)).slice(0, nombreDeFaux)\n let propositions = []\n for (const indice of vraisPatronsNumeros) {\n propositions.push({ patron: dessinePatron(mesModeles.patrons[indice]), trueOrfalse: true })\n }\n for (const indice of fauxPatronsNumeros) {\n propositions.push({ patron: dessinePatron(mesFaux.erzatz[indice].patron), trueOrfalse: false })\n }\n propositions = shuffle(propositions)\n let texte = ''\n for (const proposition of propositions) {\n texte += mathalea2d(Object.assign(fixeBordures(proposition.patron), { style: 'display: inline' }), proposition.patron)\n }\n this.listeQuestions.push(texte)\n this.listeCorrections.push('')\n }\n listeQuestionsToContenu(this)\n }\n}\n"],"names":["titre","interactifReady","interactifType","uuid","ref","dateDePublication","ModelePatrons","a","b","c","__publicField","FauxPatrons","PatronsSolides","Exercice","formateGrille","modele","largeurs","x","xMax","y","hauteurs","yMax","dessinePatron","forme","xOffset","yOffset","BoiteBuilder","dimensions","i","mesModeles","mesFaux","nombreDeFaux","randint","nombreDeVrais","vraisPatronsNumeros","shuffle","range","fauxPatronsNumeros","propositions","indice","texte","proposition","mathalea2d","fixeBordures","listeQuestionsToContenu"],"mappings":"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"}