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/P021-Fo3aKcIM.js.map
{"version":3,"file":"P021-Fo3aKcIM.js","sources":["../../src/exercices/profs/P021.js"],"sourcesContent":["import { repere } from '../../lib/2d/reperes.js'\nimport { spline } from '../../lib/mathFonctions/Spline.js'\nimport { fixeBordures, mathalea2d } from '../../modules/2dGeneralites.js'\nimport Exercice from '../Exercice.js'\n\nexport const titre = 'Spline interpolation with tangents'\nexport const ref = 'P021'\nexport const uuid = '4c7ca'\n\n/**\n * Trace une courbe interpolee par des splines version cubiques avec tangentes\n * @author Jean-Claude Lhote\n * Référence P021\n */\nexport default function TraceCourbeSpline () {\n  Exercice.call(this) // Héritage de la classe Exercice()\n  this.titre = titre\n  this.consigne = ''\n  this.nbQuestions = 1\n  this.nbQuestionsModifiable = false\n  this.nbCols = 1 // Uniquement pour la sortie LaTeX\n  this.nbColsCorr = 1 // Uniquement pour la sortie LaTeX\n  this.sup = '(-3;-2)/(-1;0)/(1;-3)/(3;4)' // liste de points\n  this.sup2 = '(2;2)/(0;0)/(0;0)/(1;1)'\n  this.sup3 = '1/1/1/1'\n  this.tailleDiaporama = 3 // Pour les exercices chronométrés. 50 par défaut pour les exercices avec du texte\n  this.video = '' // Id YouTube ou url\n\n  this.nouvelleVersion = function () {\n    const noeuds = []\n    const listeCoords = this.sup.split('/')\n    const listePentes = this.sup2.split('/')\n    const listeVisibles = this.sup3.split('/')\n    if (listeCoords.length < 2) return\n    for (let i = 0; i < listeCoords.length; i++) {\n      const coordonnees = listeCoords[i].slice(1, -1).split(';')\n      const x = Number(coordonnees[0].replace(',', '.'))\n      const y = Number(coordonnees[1].replace(',', '.'))\n      noeuds.push({ x, y })\n    }\n    for (let i = 0; i < noeuds.length; i++) {\n      let pentes = listePentes[i].slice(1, -1).split(';')\n      if (pentes == null) {\n        pentes = [0, 0]\n      } else {\n        pentes = [Number(pentes[0].replace(',', '.')), Number(pentes[1].replace(',', '.'))]\n      }\n      noeuds[i].deriveeGauche = pentes[0]\n      noeuds[i].deriveeDroit = pentes[1]\n    }\n    for (let i = 0; i < noeuds.length; i++) {\n      noeuds[i].isVisible = !(listeVisibles[i] === null || listeVisibles[i] === '0')\n    }\n\n    const f = spline(noeuds)\n    const { xMin, xMax, yMin, yMax } = f.trouveMaxes()\n    const r = repere({ xMin, xMax, yMin, yMax })\n    const c = f.courbe({ repere: r, ajouteNoeuds: true })\n    const objets = [r, c]\n    this.contenu = mathalea2d(Object.assign({}, fixeBordures(objets)), objets)\n    this.listeQuestions[0] = this.contenu\n  }\n  this.besoinFormulaireTexte = ['List of coordinates in the form: (x0;y0)/(x1;y1)/...']\n  this.besoinFormulaire2Texte = ['List of derived numbers in the form (left0;right0)/(left1;right1)/...']\n  this.besoinFormulaire3Texte = ['Visible(1)/invisible(0) state of each node in the form 0/1/...']\n}\n"],"names":["titre","ref","uuid","TraceCourbeSpline","Exercice","noeuds","listeCoords","listePentes","listeVisibles","i","coordonnees","x","y","pentes","f","spline","xMin","xMax","yMin","yMax","repere","c","objets","mathalea2d","fixeBordures"],"mappings":"+QAKY,MAACA,EAAQ,qCACRC,EAAM,OACNC,EAAO,QAOL,SAASC,GAAqB,CAC3CC,EAAS,KAAK,IAAI,EAClB,KAAK,MAAQJ,EACb,KAAK,SAAW,GAChB,KAAK,YAAc,EACnB,KAAK,sBAAwB,GAC7B,KAAK,OAAS,EACd,KAAK,WAAa,EAClB,KAAK,IAAM,8BACX,KAAK,KAAO,0BACZ,KAAK,KAAO,UACZ,KAAK,gBAAkB,EACvB,KAAK,MAAQ,GAEb,KAAK,gBAAkB,UAAY,CACjC,MAAMK,EAAS,CAAE,EACXC,EAAc,KAAK,IAAI,MAAM,GAAG,EAChCC,EAAc,KAAK,KAAK,MAAM,GAAG,EACjCC,EAAgB,KAAK,KAAK,MAAM,GAAG,EACzC,GAAIF,EAAY,OAAS,EAAG,OAC5B,QAASG,EAAI,EAAGA,EAAIH,EAAY,OAAQG,IAAK,CAC3C,MAAMC,EAAcJ,EAAYG,CAAC,EAAE,MAAM,EAAG,EAAE,EAAE,MAAM,GAAG,EACnDE,EAAI,OAAOD,EAAY,CAAC,EAAE,QAAQ,IAAK,GAAG,CAAC,EAC3CE,EAAI,OAAOF,EAAY,CAAC,EAAE,QAAQ,IAAK,GAAG,CAAC,EACjDL,EAAO,KAAK,CAAE,EAAAM,EAAG,EAAAC,CAAC,CAAE,CACrB,CACD,QAASH,EAAI,EAAGA,EAAIJ,EAAO,OAAQI,IAAK,CACtC,IAAII,EAASN,EAAYE,CAAC,EAAE,MAAM,EAAG,EAAE,EAAE,MAAM,GAAG,EAC9CI,GAAU,KACZA,EAAS,CAAC,EAAG,CAAC,EAEdA,EAAS,CAAC,OAAOA,EAAO,CAAC,EAAE,QAAQ,IAAK,GAAG,CAAC,EAAG,OAAOA,EAAO,CAAC,EAAE,QAAQ,IAAK,GAAG,CAAC,CAAC,EAEpFR,EAAOI,CAAC,EAAE,cAAgBI,EAAO,CAAC,EAClCR,EAAOI,CAAC,EAAE,aAAeI,EAAO,CAAC,CAClC,CACD,QAASJ,EAAI,EAAGA,EAAIJ,EAAO,OAAQI,IACjCJ,EAAOI,CAAC,EAAE,UAAY,EAAED,EAAcC,CAAC,IAAM,MAAQD,EAAcC,CAAC,IAAM,KAG5E,MAAMK,EAAIC,EAAOV,CAAM,EACjB,CAAE,KAAAW,EAAM,KAAAC,EAAM,KAAAC,EAAM,KAAAC,CAAM,EAAGL,EAAE,YAAa,EAC5C,EAAIM,EAAO,CAAE,KAAAJ,EAAM,KAAAC,EAAM,KAAAC,EAAM,KAAAC,EAAM,EACrCE,EAAIP,EAAE,OAAO,CAAE,OAAQ,EAAG,aAAc,GAAM,EAC9CQ,EAAS,CAAC,EAAGD,CAAC,EACpB,KAAK,QAAUE,EAAW,OAAO,OAAO,CAAE,EAAEC,EAAaF,CAAM,CAAC,EAAGA,CAAM,EACzE,KAAK,eAAe,CAAC,EAAI,KAAK,OAC/B,EACD,KAAK,sBAAwB,CAAC,sDAAsD,EACpF,KAAK,uBAAyB,CAAC,uEAAuE,EACtG,KAAK,uBAAyB,CAAC,gEAAgE,CACjG"}