// -------------------- sankore -------------------- // Ces fonctions permettent de dessiner le graphique directement dans sankore. // Calcule tous les points de la fonction mathématique et les place dans des tableaux. function evaluerUniboard(eq) { largeur += 100 hauteur += 100 decalageX -= 250 decalageY -= 200 borneXGauche = parseFloat(document.getElementById("borneXGauche").value) borneXDroite = parseFloat(document.getElementById("borneXDroite").value) borneYGauche = parseFloat(document.getElementById("borneYGauche").value) borneYDroite = parseFloat(document.getElementById("borneYDroite").value) multiplicateurX = (largeur)/Math.abs(borneXDroite - borneXGauche) multiplicateurY = (hauteur)/Math.abs(borneYDroite - borneYGauche) lineWidth = document.getElementById("inputTaille").value var i = 0 BoucleFor: for(x=borneXGauche; x<=(borneXDroite+0); x=x+precision){ i++ y = eval(eq) pointX[i] = Math.round((x - borneXGauche) * multiplicateurX) pointY[i] = hauteur - Math.round((y - borneYGauche) * multiplicateurY) } calculerGraphUniboard(i) } // Regarde chaque coordonnées stockées dans le tableau et dessine le graphique function calculerGraphUniboard(fin){ document.getElementById("affichage").innerHTML = "" sankore.setTool('pen') sankore.moveTo(pointX[2]+decalageX, pointY[2]+decalageY) for (i=3; ihauteur)){ sankore.moveTo(pointX[i+1]+decalageX,pointY[i+1]+decalageY) continue } sankore.drawLineTo(pointX[i]+decalageX, pointY[i]+decalageY, lineWidth) } //dessiner le cadre sankore.moveTo(0+decalageX,0+decalageY) sankore.drawLineTo(largeur+decalageX, 0+decalageY, lineWidth) sankore.drawLineTo(largeur+decalageX, hauteur+decalageY, lineWidth) sankore.drawLineTo(0+decalageX, hauteur+decalageY, lineWidth) sankore.drawLineTo(0+decalageX, 0+decalageY, lineWidth) //dessiner les axes sankore.moveTo((-borneXGauche*multiplicateurX)+decalageX, 0+decalageY) sankore.drawLineTo((-borneXGauche*multiplicateurX)+decalageX, hauteur+decalageY, lineWidth) sankore.moveTo(0+decalageX, (hauteur-(-borneYGauche*multiplicateurY))+decalageY) sankore.drawLineTo(largeur+decalageX, (hauteur-(-borneYGauche*multiplicateurY))+decalageY, lineWidth) decalageX += 250 decalageY += 200 largeur -= 100 hauteur -= 100 sankore.setTool('arrow') }