Toutes les versions de cet article : [English] [français]
Généralités
Création de points
Création d’objets de type ligne
Création de surfaces
Création d’objets de type texte ou LaTeX
Création d’intersection de droites ou cercles
Création de marques de segment ou d’angle
Création de mesures
Création et utilisation d’objets numériques
Création de transformations géométriques
Création d’images par des transformations géométriques
Création de courbes ou de lieux
Création de matrices
Modification d’objets déjà créés
Animation d’une figure avec un timer
Ecouteurs d’événement
Outils divers
Toutes les fonctions de l’API peuvent être appelées de deux façons, une courte multi paramètres (mais en général incomplète) et une longue en passant en paramètre un objet comme argument.
Exemple :
addPointXY(-3, 4, ’M’, ’red’, ’X’) créera un point de coordonnées -3 et 4 dans le repère par défaut, avec pour nom M, en couleur rouge et en forme de croix. Cette syntaxe fonctionne aussi bien en JavaScript qu’en Python.
L’instruction suivante est équivalente en JavaScript :
addPointXY(x : -3, y : 4, name : ’M’, color : ’red’, pointStyle : ’X’)
En Python les noms des propriétés doivent être entre des apostrophes :
addPointXY(’x’ : -3, ’y’ : 4, ’name’ : ’M’, ’color’ : ’red’, ’pointStyle’ : ’X’)
Le passage d’un objet permet plus de possibilités, par exemple, en Python :
addPointXY(’x’ : -3, ’y’ : 4, ’name’ : ’M’, ’color’ : ’red’, ’pointStyle’ : ’X’, ’hidden’ : True)
créera le point mais il sera masqué.
Mais on peut aussi utiliser les instructions :
A = addPointXY(-3, 4, ’M’, ’red’, ’X’)
setHidden(A)
Certains paramètres optionnels peuvent être omis, par exemple :
A = addPointXY(-3, 4) créera un point de coordonnées - 3 et 4, avec un nom vide, une couleur noire et en forme de rond moyen.
A = addPointXY(-3, 4, ’red’) ne fonctionnera pas. Utiliser à la place : A = addPointXY(-3, 4, ’’, ’red’) ou la forme objet du passage de paramètres.
Les exemples ci-dessous sont donnés avec la syntaxe Python.
Il faudra les adpater pour utilsier l’API en Javascript.
Par exemple la ligne suivante (Python) :
a = addCalc(’a’, ’pi + 2’)
s’écrira en JavaScript :
const a = addCalc(’a’, ’pi + 2’)
Voici les noms des attributs de style ou de visibilité qui peuvent être affectés aux objets graphiques suivant leur nature (par exemple un point n’a pas d’attribut lineStyle) :
Nom de l’attribut | Type | Fonction |
name | chaîne de caractères | Nom d’un point ou une droite à créer (seuls les points et les droites peuvent être nommés dans MathGraph32) |
color | chaine de caractères | Couleur de base (par exemple ’black’, ’red’, ’green’ ou une couleur RVB (par exemple #8000ff) |
hidden | booléen | true pour un objet masqué, false pour un objet affiché |
offsetx | nombre | Décalage en abscisses du nom d’un point ou une droite par rapport à sa position normale (en coordonnées SVG, positif de la gauche vers la droite) |
offsety | nombre | Décalage en ordonnées du nom d’un point ou une droite par rapport à sa position normale (en coordonnées SVG, positif du haut vers le bas) |
hiddenName | booléen | true pour un nom masqué, false pour un nom affiché |
pointStyle | chaîne de caractères | Seulement pour les points : ’x’ pour une petite croix oblique, ’X’ pour une grande croix oblique, ’o’ pour un petit rond, ’O’ pour un rond moyen, ’OO’ pour un grand rond, ’<>’ pour un losange, ’[]’ pour un carré, ’.’ pour un pixel |
lineStyle | chaîne de caractères | Seulement pour les objets de type ligne : ’-’ pour un trait continu, ’.’ pour un trait pointillé, ’—’ ou ’---’ pour une succession de traits, ’-..’ , ’-...’ pour une succession de traits et de points |
thickness | nombre | Epaisseur de trait pour une ligne |
tag | string | tag MathGraph32 de l’objet créé (optionnel) |
Des fonctions sont présentes permettant de toujours utiliser la syntaxe courte multi paramètres comme setHidden, setPointStyle, setLineStyle, setThickness.
Dans les fonctions suivantes, le paramètres x et y peuvent être :
- des valeurs numériques
- des références à un objet de type calcul déjà renvoyé par une fonction de l’API comme addCalc ou addXMeasure.
- une chaîne de caractères contenant un calcul valide MathGraph32, comme par exemple ’sqrt(AB)/2’ si la mesure de la longueur AB a déjà été créée.
Il en est de même pour le paramètre z qui lui est utilisé pour une valeur complexe.
Dans les fonctions suivantes, le paramètres o, a et b peuvent être :
- des points créés précédemment avec une fonction de l’API
- des noms de points déjà créés
- le tag d’un point (si ce point n’a pas de nom).
A noter que, pour la rapidité de l’exécution passer un point en paramètre est beaucoup plus rapide que de passer son nom.
Nom de la fonction | Syntaxe courte | Explications |
addPointXY | addPointXY(x, y, name, color, pointStyle, rep) | Crée un point de coordonnées (x, y). Si la figure ne comporte qu’un repère et si le repère n’est pas précisé, il est pris par défaut. Si la figure comporte plusieurs repères, il faut donner son tag via l’attribut rep. |
addFreePoint | addFreePoint(x, y, name, color, pointStyle, rep) | Crée un point libre dont les coordonnées de départ sont x et y. Si aucun repère n’est présent dans la figure, x et y sont comprises comme coordonnées SVG, si un seul repère est présent il est utilisé par défaut. Si plusieurs repères sont présents il faut donner dans le paramètre rep le tag du repère utilisé. Pour forcer à utiliser les coordonnées SVG, utiliser la syntaxe objet avec un paramètre absCoord à true (True en Python) |
addPointZ | addPointZ(z, name, color, pointStyle, frame) | Crée un point d’affixe z. Si la figure ne comporte qu’un repère et si le repère n’est pas précisé, il est pris par défaut. Si la figure comporte plusieurs paramètres, il faut donner son tag via l’attribut rep. z peut être la référence à un calcul complexe créé via l’API ou une chaîne de caractères contenant une formule complexe valide pour MathGraph32. |
addImPointTranslation | addImPointTranslation(o, a, b, name, color, pointStyle) | Crée l’image du point o par la translation de vecteur ab |
addImPointRotation | addImPointRotation(a, o, x, name, color, pointStyle) | Crée l’image du point a dans la rotation de centre o et d’angle x |
addImPointDilation | addImPointDilation(a, o, x, name, color, pointStyle) | Crée l’image du point a dans l’homothétie de centre o et rapport x |
addImPointSymCent | addImPointSymCent(a, o, name, color, pointStyle) | Crée l’image du point a dans la symétrie de centre o |
addImPointSymAx | addImPointSymAx(a, d, name, color, pointStyle) | Crée l’image du point a dans la symétrie axiale d’axe d (d peut être une droite, demi-droite ou segment) |
addLinkedPointLine | addLinkedPointLine(d, x, y, name, color, pointStyle, rep) | Ajoute un point lié à la droite d (d peut aussi être une demi-droite ou un segment). x et y sont des constantes réelles qui donnent la position de départ du point lié sur la droite de la façon suivante : le point de coordonnées (x ; y) est projeté orthogonalement sur la droite et c’est ce projeté qui donne la position de départ du point lié. Si cette position de départ est en dehors de la fenêtre une erreur est lancée. Si la figure ne comporte qu’un repère et si le repère n’est pas précisé, il est pris par défaut. Si la figure comporte plusieurs repères, il faut donner son tag via l’attribut rep. Si la figure ne comporte pas de repère, (x, y) sont compris comme des coordonnées svg. Pour forcer l’utilisation des coordonnées SVG, utiliser la syntaxe objet pour le paramètre avec un attribut absCoord à true. |
addLinkedPointCircle | addLinkedPointCircle(d, x, y, name, color, pointStyle, rep) | Ajoute un point lié au cercle c (c peut aussi être un arc de cercle). x et y sont des constantes réelles qui donnent la position de départ du point lié sur le cercle de la façon suivante : le centre du cercle et joint au point de coordonnées (x ; y) par une demi-droite imaginaire et c’est le point d’intersection de cette demi-droite avec le cercle qui donne la position de départ du point lié. Si cette position de départ est en dehors de la fenêtre une erreur est lancée. Si la figure ne comporte qu’un repère et si le repère n’est pas précisé, il est pris par défaut. Si la figure comporte plusieurs repères, il faut donner son tag via l’attribut rep. Si la figure ne comporte pas de repère, (x, y) sont compris comme des coordonnées svg. Pour forcer l’utilisation des coordonnées SVG, utiliser la syntaxe objet pour le paramètre avec un attribut absCoord à true. |
addLinkedPointLocus | addLinkedPointLocus(elt, x, y, name, color, pointStyle, rep) | Ajoute un point lié au lieu de pointselt. x et y sont des constantes réelles qui donnent la position de départ du point lié sur le lieu de points de la façon suivante : le point du lieu le plus proche du point de coordonnées (x ; y) donne la position de départ du point lié. Si cette position de départ est en dehors de la fenêtre une erreur est lancée. Si la figure ne comporte qu’un repère et si le repère n’est pas précisé, il est pris par défaut. Si la figure comporte plusieurs repères, il faut donner son tag via l’attribut rep. Si la figure ne comporte pas de repère, (x, y) sont compris comme des coordonnées svg. Pour forcer l’utilisation des coordonnées SVG, utiliser la syntaxe objet pour le paramètre avec un attribut absCoord à true. |
Dans les fonctions suivantes, le paramètres x, y et r peuvent être :
- des valeurs numériques
- des références à un objet de type calcul déjà renvoyé par une fonction de l’API comme addCalc ou addXMeasure.
- une chaîne de caractères contenant un formule valide MathGraph32 (comme par exemple ’sqrt(AB)/2’ si la mesure de la longueur AB a déjà été créée.
Nom de la fonction | Syntaxe courte | Explications |
addLineAB | addLineAB(a, b, name, color, lineStyle, thickness) | Crée la droite passant par les points a et b |
addLinePar | addLinePar(a, d, name, color, lineStyle, thickness) | Crée la droite passant par le point a et parallèle à la droite d (d peut être aussi un segment ou une demi-droite) |
addLinePerp | addLinePerp(a, d, name, color, lineStyle, thickness) | Crée la droite passant par le point a et orthogonale à la droite d (d peut être aussi un segment ou une demi-droite) |
addLineAx | addLineAx(a, x, name, color, lineStyle, thickness) | Crée la droite passant par le point a et de coefficient directeur x |
addLineMedAB | addLineMedAB(a, b, name, color, lineStyle, thickness) | Crée la médiatrice du segment d’extrémités a et b |
addLineBisAOB | addLineBisAOB(a, o, b, name, color, lineStyle, thickness) | Crée la bissectrice de l’angle aob |
addSegment | addSegment(a, b, color, lineStyle, thickness) | Crée le segment d’extrémités a et b |
addVector | addVector(a, b, color, lineStyle, thickness | Crée un vecteur d’origine a et d’extrémité b. Pour choisir le style de flèche utiliser la syntaxe objet en passant un paramètre arrowStyle égal à ’short’ (flèche ligne courte), ’long’ (flèche ligne longue), ’shortfull’ (flèche pleine courte) ou ’longfull’ (flèche pleine longue) |
addRay | addRay(o, a, color, lineStyle, thickness) | Crée la demi-droite d’origine o et passant par a |
addCircleOA | addCircleOA(o, a, color, lineStyle, thickness) | Crée le cercle de centre o et passant par a |
addCircleOr | addCircleOr(o, r, color, lineStyle, thickness) | Crée le cercle de centre o et rayon r |
addPolygon | addPolygon(points, color, lineStyle, thickness) | Ajoute un polygone. points doit être un tableau dont les éléments sont soit des points soit des noms de points. Par exemple [A, B, C, ’D’]. |
addArcOAB | addArcOAB(o, a, b, color, lineStyle, thickness) | Crée le petit arc de centre o, débutant en a et finissant dans la direction du point b |
addArcOAx | addArcOAx(o, a, x, color, lineStyle, thickness) | Crée le petit arc de centre o, débutant en a et dont le point final est l’image de a par la rotation de centre o et angle x |
addArcMajorOAB | addArcMajorOAB(o, a, b, color, lineStyle | Crée le grand arc de centre o, débutant en a et finissant dans la direction du point b |
addArcMajorOAx | addArcMajorOAx(o, a, x, color, lineStyle, thickness) | Crée le grand arc de centre o, débutant en a et dont le point final est l’image de a par la rotation de centre o et angle x |
addArcDirectOAB | addArcDirectOAB(o, a, b, color, lineStyle, thickness) | Crée l’arc direct de centre o, débutant en a et finissant dans la direction du point b |
addArcIndirectOAB | addArcIndirectOAB(o, a, b, color, lineStyle, thickness) | Crée l’arc indirect de centre o, débutant en a et finissant dans la direction du point b |
Nom de la fonction | Syntaxe courte | Explications |
addSurface | addSurface(edge, color, fillStyle) | Crée une surface délimitée par edge (qui peut être un objet ou le tag d’un objet de type cercle, polygone, arc de cercle ou lieu de points fermé). Le style de remplissage fillStyle peut être : ’transp’ (remplissage transparent) ou ’fill’ (remplissage opaque) ou ’-’ (quadrillage horizontal) ou '|' (quadrillage vertical) ou ’\’ (remplissage oblique descendant’ ou ’/’ (remplissage oblique montant). Si le style de remplissage est omis, le remplissage est transparent. |
Nom de la fonction | Syntaxe courte | Explications |
addText | addText(text, x, y, color) | Ajoute l’affichage de texte text, de couleur color aux coordonnées x et y. Si la figure ne comporte qu’un repère et si le repère n’est pas précisé, il est pris par défaut pour x et y. Si la figure comporte plusieurs repères, il faut donner son tag via l’attribut rep en utilisant la syntaxe objet. Si la figure ne comporte pas de repère, ce sont des coordonnées SVG qui sont utilisées. Pour forcer l’utilisation de coordonnées SVG, utilisez la syntaxe objet avec le paramètre absCoord mis à true |
addLatex | addLatex(latex, x, y, color) | Ajoute l’affichage LaTeX de code latex, de couleur color aux coordonnées x et y. Si la figure ne comporte qu’un repère et si le repère n’est pas précisé, il est pris par défaut pour x et y. Si la figure comporte plusieurs repères, il faut donner son tag via l’attribut rep. Si la figure ne comporte pas de repère, ce sont des coordonnées SVG qui sont utilisées. Pour forcer l’utilisation de coordonnées SVG, utilisez la syntaxe objet avec le paramètre absCoord mis à true |
addLinkedText | addLinkedText(text, a, color) | Ajoute l’affichage de texte text lié au point a |
addLinkedLatex | addLinkedLatex(latex, a, color) | Ajoute l’affichage LaTeX de code latex lié au point a |
Pour une création de niveau plus avancée de texte ou de LaTeX, utiliser la syntaxe objet du paramètre avec les paramètres suivants :
Nom du paramètre | Type | Objet |
absCoord | booléen | Passer true pour forcer x et y à être interprétés comme des coordonnées SVG |
color | chaîne de caractères | Couleur de la police d’affichage |
fontSize | nombre entier | Taille en pixels de la police utilisée |
border | chaîne de caractères | ’none’ (sans bordure), ’simple’ (encadrement simple) ou ’3D’ (encadrement avec effet 3D) |
opaque | booléen | Passer true pour que l’affichage efface ce qu’il y a dessous (et défini avant) |
backgroundColor | chaîne de caractères | Couleur utilisée pour le fond si opaque est true (par exemple ’red’ ou ’#fefefe’ |
hAlign | chaîne de caractères | Alignement horizontal : ’left’ ou ’center’ ou ’right’ |
vAlign | chaîne de caractères | Alignement vertical : ’top’ ou ’middle’ ou ’bottom’ |
offsetX | nombre | Décalage horizontal de l’affichage (en coordonnées SVG) |
offsetX | nombre | Décalage vertical de l’affichage (en coordonnées SVG) |
hidden | booléen | true pour cacher l’affichage |
Dans ce qui suit :
les paramètres d, d2 peuvent être :
- des droites , demi-droites ou segments (ou leur nom ou tag dans le cas des droites)
les paramètres c et c2 peuvent être :
- des cercles ou arcs de cercles (ou leur tag)
Nom de la fonction | Syntaxe courte | Explications |
addIntLineLine | addIntLineLine(d, d2, name, color, pointStyle) | Ajoute l’intersection des droites (ou segments ou demi-droites) d et d2. L’objet renvoyé est un point. Le nom name lui est affecté. |
addIntLineCircle | addIntLineCircle(d, c, name, name2, color, pointStyle) | Renvoie un tableau (list en Python) de deux éléments du type [M, N] où M et N sont les deux points d’intersection de la droite d avec le cercle c. Le nom name est affecté à M et le nom name2 est affecté à N Si les deux points d’intersection existent déjà une erreur est générée. Si un des deux points d’intersection est reconnu comme déjà existant, il est renvoyé dans N et le nouveau point est renvoyé dans M. Si la droite et le cercle sont tangents le point N est considéré inexistant. Si vous voulez que deux points soient créés même s’ils existent déjà, utilisez la syntaxe objet pour le paramètre et passez à cet objet un attribut smartIntersect à false |
addIntCircleCircle | addIntCircleCircle(c, c2, name, name2, color, pointStyle) | Renvoie un tableau de deux éléments du type [M, N] où M et N sont les deux points d’intersection du cercle c avec le cercle c2. Le nom name est affecté à M et le nom name2 est affecté à N Si les deux points d’intersection existent déjà une erreur est générée. Si un des deux points d’intersection est reconnu comme déjà existant, il est renvoyé dans N et le nouveau point est renvoyé dans M. Si les deux cercles sont tangents le point N est considéré inexistant. Si vous voulez que deux points soient créés même s’ils existent déjà, utilisez la syntaxe objet pour le paramètre et passez à cet objet un attribut smartIntersect à false |
Nom de la fonction | Syntaxe courte | Explications |
addSegmentMark | addSegmentMark(elt, color, segmentMarkStyle, thickness) | Crée la marque de segment associée au segment elt, avec la couleur color et l’épaisseur thickness. segmentMarkStyle est une chaîne de caractères qui peut être ’-’ (marque simple), ’—’ (marque double), ’---’ (marque triple) ou ’x’ (marque en forme de croix) |
addAngleMark | addAngleMark(o, a, b, r, color, angleMarkStyle, thickness) | Ajoute une marque d’angle non orientée pour l’angle a o b, de rayon r (constante numérique) en pixels et de couleur color. angleMarkStyle peut être une des chaînes de caractères suivantes (’simple’ par défaut) : ’simple’ (marque simple sans trait), ’simple-’ (marque simple avec un trait), ’simple—’ (marque simple avec deux traits), ’simple---’ (marque simple avec trois traits), ’simplex’ (marque simple avec une croix), ’full’ (marque pleine simple), ’full-’ (marque pleine avec un trait), ’full—’ (marque pleine avec deux traits), ’full---’ (marque pleine avec trois traits), ’fullx’ (marque pleine avec une croix) |
Nom de la fonction | Syntaxe courte | Explications |
addXMeasure | addXMeasure(a, nameCalc, rep) | Ajoute la mesure de l’abscisse du point a dans le repère rep et donne à cette mesure le nom nameCalc. L’objet renvoyé est un objet MathGraph32 (et pas une valeur numérique). rep est le tag d’un repère de la figure. Si le paramètre rep est omis et si la figure ne contient qu’un seul repère, celui-ci est utilisé par défaut. Si la figure ne comporte pas de repère ou si elle comporte plusieurs repères et le paramètre rep est absent, une erreur est générée. |
addYMeasure | addYMeasure(a, nameCalc, rep) | Ajoute la mesure de l’ordonnée du point a dans le repère rep et donne à cette mesure le nom nameCalc. L’objet renvoyé est un objet MathGraph32 (et pas une valeur numérique). rep est le tag d’un repère de la figure. Si le paramètre rep est omis et si la figure ne contient qu’un seul repère, celui-ci est utilisé par défaut. Si la figure ne comporte pas de repère ou si elle comporte plusieurs repères et le paramètre rep est absent, une erreur est générée. |
addZMeasure | addZMeasure(a, nameCalc, rep) | Ajoute la mesure de l’affixe du point a dans le repère rep et donne à cette mesure le nom nameCalc. L’objet renvoyé est un objet MathGraph32 de nature calcul complexe (et pas une valeur numérique). rep est le tag d’un repère de la figure. Si le paramètre rep est omis et si la figure ne contient qu’un seul repère, celui-ci est utilisé par défaut. Si la figure ne comporte pas de repère ou si elle comporte plusieurs repères et le paramètre rep est absent, une erreur est générée. |
addLengthMeasure | addLengthMeasure(a, b) | Ajoute la mesure de la distance entre les points a et b. La figure doit être munie d’une longueur unité. L’objet renvoyé est un objet MathGraph32 et pas une valeur numérique. Si, par exemple, on a ajouté la mesure de la distance entre deux points M et N, on pourra utiliser addCircleOr avec comme rayon la chaine de caractères ’2*sqrt(MN)’ |
addAbsMeasure | addAbsMeasure(b, o, a) | Ajoute la mesure de l’abscisse du point b relativement au repère (o, a). Les points o, a et b doivent être nommés. S’ils ne sont pas alignés la mesure n’existe pas. |
A noter : Les valeurs renvoyées par les trois fonctions ci-dessus étant des objets MathGraph32 et pas des valeurs numériques, si vous voulez utiliser leur valeur utilisez la fonction getValue(mes) où mes est l’objet renvoyé pour addXMeasure et addYMeasure.
Mais attention : n’utilisez pas ces valeurs renvoyées par getValue et getValueComp pour créer des objets MathGraph32 dynamiques.
Nom de la fonction | Syntaxe courte | Explications |
addCalc | addCalc(nameCalc, formula) | Ajoute un calcul réel de nom nameCalc défini par la formule formula. L’objet renvoyé est un objet MathGraph32 et pas une valeur numérique. Exemple : si x est le nom d’un calcul déjà défini et si la longueur MN a été mesurée (par addLengthMeasure), on peut utiliser pour formula la chaîne de caractères sqrt(MN)*x*2/3 |
addFunc | addFunc(nameCalc, formula, varName) | Ajoute une fonction réelle MathGraph32 de une variable réelle. nameCalc est le nom de la fonction créée et formula est une chaîne de caractères définissant sa formule, la variable formelle étant varName. Si le paramètre varName est omis, ils est mis à ’x’. Exemple : si un calcul nommé m a déjà été créé dans la figure et i le paramètre varName est omis, on peut utiliser pour formula la chaîne de caractères ’sin(m*pi*x/2)’. Si un calcul ayant pour nom le contenu du paramètre varName est présent dans la figure il ne peut pas être utilisé dans formula. |
addCalcComp | addCalcComp(nameCalc, formula) | Ajoute un calcul complexe de nom nameCalc et défini par la formule formula. L’objet renvoyé est un objet MathGraph32 et pas une valeur numérique. Exemple : si m et n sont les noms de deux calculs déjà définis (réels ou complexes), on peut utiliser pour formula la chaîne de caractères ’m*2 + n*i’. |
addFuncComp | addFuncComp(nameCalc, formula, varName) | Ajoute une fonction complexe MathGraph32 de une variable complexe. nameCalc est le nom de la fonction créée et formula est une chaîne de caractères définissant sa formule, la variable formelle étant varName. Si le paramètre varName est omis, il est mis à ’z’. Exemple : si un calcul nommé m a déjà été créé dans la figure, on peut utiliser pour formula la chaîne de caractères ’(z+m*i)*2’. Si un calcul de nom z est présent dans la figure il ne peut pas être utilisé dans formula. |
addDerivative | addDerivative(calc, nameCalc) | Crée la dérivée formelle de la fonction calc (ou de nom calc) et donne à cette dérivée le nom nameCalc. Cette dérivée peut ensuite être utilisée pour définir des objets numériques comme une fonction MathGraph32 classique |
getValue | getValue(x) | Renvoie la valeur actuelle du calcul ou de la mesure réelle MathGraph32 x (ou ayant pour nom x). Attention : cette valeur ne peut pas être utilisée pour créer des objets dynamiques ans la figure. |
getMatValue | getMatValue(mat) | Renvoie un array (lignes de la matrice) dont les termes sont des array représentant les valeurs des cellules de la matrice mat. mat doit être un objet matrice de MathGraph32 créé via une des fonctions de l’API. Par exemple cette fonction pourrait renvoyer [1] pour une matrice à deux lignes et trois colonnes. |
getCalcName | getCalcName(nameCalc) | Renvoie le nom de l’objet calcul MathGraph32 calc. Attention : calc doit être un objet de type calcul MathGraph32 ou une mesure ou une fonction et pas une chaîne de caractères. |
On peut créer des transformations géométriques qui seront ensuite utilisées via AddPointIm, addLineIm, addRayIm et addCircleIm pour créer des images par cette transformation de points, droites, demi-droites, cercles (ou arcs de cercle). Si plusieurs objets de la figure utilisent la même transformation (par exemple une rotation) la figure sera plus rapide en créant d’abord la rotation puis en l’utilisant que des créer par exemple des points via addPointImRotation.
Nom de la fonction | Syntaxe courte | Explications |
addTranslation | addTranslation(a, b) | Ajoute la translation de vecteur ab |
addRotation | addRotation(o, x) | Ajoute la rotation de centre o et d’angle x |
addDilation | addDilation(o, x) | Ajoute l’hompothétie de centre o et de rapport x |
addSymCent | addSymCent(o) | Ajoute la symétrie centrale de centre o |
addSymAx | addSymAx(d) | Ajoute la symétrie axiale d’axe d. d peut être une droite, une demi-droite ou un segment |
addSimilitude | addSimilitude(o, x, y) | Ajoute la similitude directe de centre o, d’angle x et de rapport y. |
On a vu ci-dessus qu’on pouvait créer des transformations géométriques.
On peut ensuite utiliser une telle transformation pour créer l’image d’objets par cette transformation.
Nom de la fonction | Syntaxe courte | Explications |
AddPointIm | addPointIm(a, transf, name, color, pointStyle) | Crée l’image du point a par la transformation transf |
addLineIm | addLineIm(d, transf, name, color, lineStyle, thickness) | Crée l’image de la droite d par la transformation transf |
addRayIm | addRayIm(d, transf, color, lineStyle, thickness) | Crée l’image de la demi-droite d par la transformation transf |
addCircleIm | addCircleIm(c, transf, name, color, lineStyle, thickness) | Crée l’image du cercle c (ou de l’arc de cercle c) par la transformation transf |
Nom de la fonction | Syntaxe courte | Explications |
addPointLocus | addPointLocus(a, b, x, color, lineStyle, thickness) | Ajoute un lieu de points généré par le point a et par le déplacement du point lié b, avec la couleur color, le style de ligne lineStyle et l’épaisseur thickness avec un nombre de points égal à x pour générer le lieu. x doit être une valeur numérique constante et pas une référence à un calcul ou une mesure déjà créés. b doit être un point lié (à une droite, demi-droite, segment, cercle, arc de cercle ou lieu de points). |
addCurve | addCurve(calc, x, color, lineStyle, thickness, rep) | Ajoute la courbe de la fonction réelle calc (ou de nom calc) dans le repère rep avec pour couleur color, pour style de trait lineStyle, pour épaisseur thickness. Si le paramètre rep est omis et s’il y un seul repère dans la figure, celui-ci est utilisé par défaut. Si plusieurs repères sont présents, rep doit contenir le repère (or the tag of the frame). |
addObjectLocus | addObjectLocus(elt, a, x, color) | Ajoute le lieu de l’objet elt généré par les positions du point lié a avec x positions calculées (x peut être dynamique). L’objet graphique elt doit dépendre du point lié a. On peut préciser la couleur du lieu d’objets mais son style (trait ou épaisseur de trait par exemple) sont ceux de l’objet elt. |
Vous pouvez profiter de toute la puissance du calcul matriciel (à coefficients réels dans MathGraph32 en ajoutant une matrice et vous pouvez aussi créer des calculs matriciels permettant d’effectuer des opérations sur les matrices.
Une matrice se crée à l’aide de la syntaxe suivante :
Nom de la fonction | Syntaxe courte | Explications |
addMatrix | addMatrix(nameCalc, mat) | Ajoute une matrice nommée nameCalc suivant le paramètre mat |
Dans la syntaxe ci-dessus, le paramètre mat est un tableau (array, list en Python) contenant les lignes de la matrice qui elles mêmes sont des listes contenant les éléments de la matrice. Chacune des lignes doit avoir le même nombre d’éléments.
Exemple :
Si vous avez déjà créé deux calculs réels nommé a et b, la syntaxe suivante permet de créer une matrice de 2 lignes et 3 colonnes :
a = addCalc('a', 'pi + 2')
b = addCalc('b', 'a - 1')
mat = [[a, 2, 3],[4, 'b*2', 5]]
addMatrix('mat', mat)
On passe le calcul a comme élément de la première ligne et première colonne et pour l’élément de la deuxième ligne et deuxième colonne on passe la formule ’b*2’ qui est une formule MathGraph32 valide.
Un calcul matriciel se crée avec la syntaxe suivante :
Nom de la fonction | Syntaxe courte | Explications |
addCalcMat | addCalcMat(nameCalc, formula) | Ajoute un calcul matriciel de nom nameCalc et de formule formula |
Avec l’exemple ci-dessus, la ligne suivante créera une nouvelle matrice dont les termes sont le double de ceux de la matrice mat.
doublemat = addCalcMat(’doublemat’, ’2*mat’)
Nom de la fonction | Syntaxe courte | Explications | ||||||||
giveFormulaTo | giveFormulaTo(calc, formula) | Donne au calcul ou à la fonction calc (ou de nom calc) la formule contenue dans la chaîne de caractères formula | ||||||||
setFreePointPosition | setFreePointPosition(a, x, y) | Donne au point libre a la position de coordonnées SVG (x, y). x et y doivent être des constantes. | ||||||||
setVisible | setVisible(elt) | Rend l’objet elt visible s’il était masqué. elt doit être un objet graphique (ou son nom ou son tag) | ||||||||
setHidden | setHidden(elt) | Rend l’objet elt masqué s’il était visible. elt doit être un objet graphique (ou son nom ou son tag) | ||||||||
setColor | setColor(elt, color) | Donne à l’objet elt la couleur color (par exemple ’red’ ou ’#0effaa’). elt doit être un objet graphique (ou son nom ou son tag) | ||||||||
setBackgroundColor | setBackgroundColor(elt, backgroundColor) | Donne à l’affichage de texte ou de LaTeX elt la couleur de fond backgroundColor et le rend opaque. | ||||||||
setLineStyle | setLineStyle(elt, lineStyle) | Donne à l’objet elt le style de trait lineStyle (’-’ ou ’—’ ou ’-..’ ou ’-...’ ou ’---’). elt doit être un objet graphique de type ligne (ou son nom ou son tag) | ||||||||
setThickness | setThickness(elt, thickness) | Donne à l’objet graphique elt l’épaisseur de trait thickness en pixels. thickness doit être une constante. | ||||||||
setPointNameOffset | setPointNameOffset(a, offsetX, offsetY) | décale le nom du point a d’un vecteur de coordonnées (offsetX, offsetY) en coordonnées SVG | ||||||||
setPointStyle | setPointStyle(a, pointStyle) | Donne au point a le style de point défini par la chaîne de caractères pointStyle (o | O | OO | x | X | + | <> | [] | .) |
fixPoint | fixPoint(a) | Fige le point mobile a qui ne peut plus être déplacé avec la souris. a doit être un point mobile (ou son nom) : point libre ou point lié. | ||||||||
releasePoint | releasePoint(a) | Rend à nouveau le point mobile a déplaçable avec la souris. a doit être un point mobile (ou son nom) : point libre ou point lié. | ||||||||
activateTraceMode | activateTraceMode(bActivate) | bActivate doit être un booléen. S’il est à true, le mode trace est activé pour le figure. Sinon le mode trace est désactivé pour la figure. | ||||||||
setMarked | setMarked(a) | active le point a pour la trace. Si le mode trace est activé, le point a laisse une trace lors de ses déplacements. | ||||||||
setUnmarked | setUnmarked(a) | Désactive le point a pour la trace. Même si le mode trace est activé, le point a ne laisse plus une trace lors de ses déplacements. | ||||||||
removePointLink | removePointLink(a) | Le point a doit être un point lié. Retire la liaison entre le point a et l’objet auquel il est lié. Le point a devient ainsi un point libre. | ||||||||
setLinkPointPoint | setLinkPointPoint(a, b) | Le point a doit être un point libre. Transforme le point a en un point lié au point b (il suit b dans tous ses déplacements) | ||||||||
displayOnTop | displayOnTop(elt) | Reclasse l’affichage de l’objet graphique elt de façon à ce qu’il soit affiché au-dessus des autres objets de la figure. | ||||||||
reclassMax | reclassMax(elt) | Reclasse l’objet graphique elt le plus loin possible vers fin de la liste des objets créés | ||||||||
reclassMin | reclassMin(elt) | Reclasse l’objet graphique elt le plus loin possible vers le début de la liste des objets créés | ||||||||
reclassBefore | reclassBefore(elt, elt2) | Reclasse l’objet graphique elt avant l’objet graphique elt2 | ||||||||
reclassAfter | reclassAfter(elt, elt2) | Reclasse l’objet graphique elt après l’objet graphique elt2 |
The easiest way to animate a fgure is tu use function addTimerButton that adds (bu default on the top llleft corner of the figure) a Start - Stop button, button associated with a function associated with the created timer.
Function name | Short syntax | Explanations |
addTimerButton | addTimerButton(callBack, k, x, y, tag) | Adds a Start - Stop button launching a timer of frequency k (in seconds) and associated with function callBack. If only the two first parameters are supplied, the button is placed at the top left corner of the figure. Otherwise the button is placed at SVG coordinates (x, y). If parameter tag est present if is affected as MathGraph32 tag for the button (text object). |
Example of Python that will call function draw with a frequency of 1/60 second :
def draw():
global valph
valph += 0.0075
giveFormulaTo('ph', str(valph))
updateDependantDisplay(ph)
addTimerButton(draw, 1/60)
Nom de la fonction | Syntaxe courte | Explications |
addEltListener | addEltListener(elt, eventName, callBack) | Affecte à l’élément SVG représentant graphiquement l’objet elt une fonction de callBack à appeler quand l’événement de nom eventName est intercepté sur cet élément. La fonction de callback peut prendre en paramètre (ev, x, y) où ev est l’événement intercepté, et x et y les coordonnées SVG de l’endroit où cet événement a eu lieu. Exemples de valeurs pour eventName : ’mousedown’, ’mouseover’, ’touchdown’. Si vous utilisez l’éditeur de code Python vous pouvez mettre dans le paramètre callBack le nom d’une fonction Python prenant impérativement trois paramètres ev, x, y par exemple def zoomPlus(ev, x, y) : zoomFig(0, 0, 1.1). En Python, les paramètres doivent être présents même s’ils ne sont pas utilisés. |
removeEltListener | removeEltListener(elt, eventName) | Retire de l’élément SVG représentant l’objet graphique elt le listener associé à l’événement de nom eventName, s’il en existe un. |
addSvgListener | addSvgListener(eventName, callBack) | ajoute au SVG contenant la figure un écouteur d’événements sur l’événement de nom eventName. Exemples de valeurs pour eventName : ’mousedown’, ’mouseover’, ’touchdown’. Si vous utilisez l’éditeur de code Python vous pouvez mettre dans le paramètre callBack le nom d’une fonction Python prenant impérativement trois paramètres ev, x, y par exemple def zoomPlus(ev, x, y) : zoomFig(0, 0, 1.1). En Python, les paramètres doivent être présents même s’ils ne sont pas utilisés. |
removeSvgListener | removeSvgListener(eventName) | retire du SVG de la figure l’écouteur d’événement associé à l’événement de nom eventName |
Nom de la fonction | Syntaxe courte | Explications |
deleteElt | deleteElt(elt) | Détruit l’objet graphique elt et ses descendants en retirant leur éventuelle représentation graphique |
deleteObj | deleteObj(obj) | Détruit l’objet obj MathGraph32 et ses descendants en retirant leur éventuelle représentation graphique. obj doit être un objet MathGraph32 créé en utilisant l’API de MathGrph32 |
deleteAfter | deleteAfter(elt) | Détruit tous les objets créés après l’objet graphique elt et retire leur représentation graphique. |
setAngleUnity | setAngleUnity(unity) | Change l’unité d’angle de la figure. Le paramètre chaîne de caractères unity peut être ’radian’ ou ’degree’. Fonction ç utiliser de préférence en début de code, par exemple pour utiliser le radian dans une figure de base avec repère orthonormé en degrés. |
getElement | getElement(elt) | Renvoie l’objet graphique de tag elt (chaîne de caractères). Si aucun élément n’a pour tag elt, cherche un nom ou une droite de nom elt |
getFigDim | getFigDim() | Pas d’arguments pour cette fonction qui renvoie un tableau [width, height] contenant les dimensions en pixels de la figure de travail (largeur en premier) |
recalculate | recalculate(brandom) | Recalcule la figure. brandom est un booléen qui, s’il est omis est à false. Si brandom est à true les calculs de la figure utilisant la fonction rand() sont réactualisés. |
updateDependantDisplay | updateDependantDisplay(elt) | Recalcule et redessine les objets dépendants de l’objet elt. Ici elt peut être un objet graphique ou de type calcul |
addZoomButtons | addZoomButtons(k, x, y) | Ajoute en haut et à droite de la figure deux boutons pour zoomer ou dézoommer sur la figure par rapport à son centre. Les paramètres x et y sont optionnels et représentent les coordonnées SVG du bouton du haut. S’ils sont omis, le bouton est placé en haut et à droite de la figure. k est le coefficient multiplicateur d’agrandissement à utiliser (constante numérique, par exemple 1.1). A utiliser de préférence à la fin des instructions pour que ces boutons ne soient pas recouverts par les objets créés. Attention : Si on ouvre la figure générée dans MathGraph32, ces boutons seront inactifs. |
addActionButton | addActionButton(text, callBack, x, y, tag) | Ajoute un bouton qui va, quand on clique dessus, exécuter la fonction callBack. Les paramètres x, y et tag sont optionnels. Si x ou y est omis, le bouton sera placé en haut et à gauche de la figure (coordonnées (10, 40) en coordonnées SVG). Si le paramètre tag est présent il est affecté au bouton qui est un objet affichage de texte. Attention : Si on ouvre la figure générée dans MathGraph32, ces boutons seront inactifs. |
pointExist | pointExist(a) | Renvoie true si le point a de la figure existe et false sinon. |
setUnity | setUnity(a, b) | La distance entre les points a et b devient la longueur unité de la figure. Si la figure contient déjà une longueur unité, une erreur est lancée. |
getFuncImage | getFuncImage(calc, x) | Renvoie l’image de la valeur numérique x par la fonction calc. calc doit être une fonction numérique réelle MathGraph32 (d’une variable). Ne pas utiliser pour créer des objets dynamiques. |
translateFig | translateFig(x, y) | Translate toute la figure d’un vecteur de coordonnées (x, y) en coordonnées SVG |
[1] 1, 2, 3], [4, 5, 6