Certaines de ces macros sont redondantes avec les commandes de dessin qui précèdent, elles sont laissées pour compatibilité et ont été réécrites pour utiliser ce qui précède.
angleD( <B>, <A>, <C>, <r>, [,options] ).
Description : dessine l’angle BAC avec un parallélogramme de coté r.
Les options sont celles du type line (p.315).
Arc( <B>, <A>, <C>, <R>, <sens>, [options] ).
Description : trace un arc de cercle de centre <A> et de rayon <R>. L’arc est tracé partant de la droite (AB) jusqu’à la droite (AC), l’argument (facultatif) <sens> indique : le sens trigonométrique si sa valeur est 1 (valeur par défaut), le sens contraire si valeur est −1.
Les options sont celles du type path (p.314).
background( <fillstyle>, <fillcolor> ).
Description : permet de remplir le fond de la fenêtre graphique avec le style et la couleur demandée. Cette macro met à jour la variable backcolor.
bbox().
Description : permet d’ajuster la fenêtre à la "bounding box" autour du dessin courant. Cette macro est destinée à être utilisée dans la ligne de commande en bas de la fenêtre principale, et non pas dans un élément graphique.
centerView( <affixe> ).
Description : permet de centrer la fenêtre graphique sur le point représenté par <affixe>, sans changer les dimensions courantes du graphique. Cette macro est plutôt destinée à être utilisée dans la ligne de commande en bas de la fenêtre principale.
Clip( <liste> ).
Description : permet de clipper les éléments graphiques déjà dessinés avec la <liste> qui doit être une courbe fermée et simple. La macro peint l’extérieur de la courbe représentée par la <liste>.
Dbissec( <B>, <A>, <C>, <1 ou 2>, [options] ).
Description : dessine la bissectrice de l’angle BAC, intérieure si le dernier paramètre vaut 1 et extérieure pour la valeur 2.
Les options sont celles du type line (p.315).
Dcarre( <A>, <B>, <+/-1>, [options] ).
Description : dessine de carré de sommets consécutifs <A> et <B> dans le sens direct si le troisième paramètre vaut 1 (indirect pour −1).
Les options sont celles du type line (p.315).
Dcircle(<A>,<r>,Nil,[options]) ou Dcircle(<A>,<B>,<C>,[options]).
Description : trace un cercle de centre <A> et de rayon <r> lorsque le troisième paramètre est omis, sinon c’est le cercle défini par les trois points <A>, <B> et <C>.
Pour les macros Arc et Cercle, on peut s’attendre à des surprises dans le résultat final si le repère n’est pas orthonormé! Le repère est orthonormé lorsque les variables Xscale et Yscale sont égales, voir option Paramètres/Fenêtre.
Les options sont celles du type path (p.314).
Ddroite( <A>, <B>, [options] ).
Description : dessine la demi-droite [A,B).
Les options sont celles du type line (p.315).
Dmed( <A>, <B>, angle droit(0/1), [options] ).
Description : dessine la médiatrice du segment [A,B]. Si le troisième paramètre vaut 1 (0 par défaut) alors un angle droit est dessiné.
Les options sont celles du type line (p.315).
domaine1( <f(x)>, [options] ).
Description : dessine la partie du plan comprise entre la courbe Cf, l’axe Ox et les droites x = a, x = b si a et b sont précisés, sinon x =tMin et x =tMax.
Les options sont :
x := < [a,b] >, définit l’intervalle pour la variable, [tMin, tMax] par défaut, sauf si la variable ForMinToMax vaut 1, auquel cas c’est l’intervalle [Xmin,Xmax],
discont := < 0/1 >, indique s’il y a ou non des discontinuités, 0 par défaut,
nbdiv := < entier>0 >, nombre maximal de subdivisions entre deux points consécutifs, 5 par défaut,
plus les options sont celles du type line (p.315), sauf radius et close.
domaine2( <f(x)>, <g(x)>, [options] ).
Description : dessine la partie du plan comprise entre les courbes Cf, Cg et les droites x = a, x = b si a et b sont précisés, sinon x =tMin et x =tMax.
Les options sont :
x := < [a,b] >, définit l’intervalle pour la variable, [tMin, tMax] par défaut, sauf si la variable ForMinToMax vaut 1, auquel cas c’est l’intervalle [Xmin,Xmax],
nbdiv := < entier>0 >, nombre maximal de subdivisions entre deux points consécutifs, 5 par défaut,
plus les options sont celles du type line (p.315), sauf radius et close.
domaine3( <f(x)>, <g(x)>, [options] ).
Description : délimite la partie du plan comprise entre les courbes Cf et Cg avec x dans l’intervalle [tMin,tMax], en recherchant les points d’intersection.
Les options sont :
x := < [a,b] >, définit l’intervalle pour la variable, [tMin, tMax] par défaut, sauf si la variable ForMinToMax vaut 1, auquel cas c’est l’intervalle [Xmin,Xmax],
nbdiv := < entier>0 >, nombre maximal de subdivisions entre deux points consécutifs, 5 par défaut,
plus les options sont celles du type line (p.315), sauf radius et close.
| |
Dparallel( <[A, B]>, <C>, [options] ).
Description : dessine la parallèle à la droite <[A,B]> passant par <C>,
les options sont celles du type straightL (p.322).
Dparallelo( <A>, <B> , <C>, [options] ).
Description : dessine le parallèlogramme de sommets consécutifs <A>, <B> et <C>,
les options sont celles du type line (p.315).
Dperp( <[A, B]> , <C>, angle droit(0/1), [options] ).
Description : dessine la perpendiculaire à la droite <[A,B]> passant par <C>. Si le troisième paramètre vaut 1 (0 par défaut) alors un angle droit est dessiné,
les options sont celles du type straightL (p.322).
Dpolyreg( <centre>, <sommet>, <nombre de côtés> [options] ).
Description : dessine le polygone régulier défini par le <centre>, un <sommet> et le <nb de côtés>,
les options sont celles du type line (p.315).
Dpolyreg( <sommet1>, <sommet2>, <nombre de cotés +sens*i>, [options] ).
Description : dessine le polygône régulier défini par deux sommets consécutifs <sommet1> et <sommet2>, le <nb de côtés>, et le <sens> (1 pour direct et −1 pour indirect),
les options sont celles du type line (p.315).
DpqGoneReg( <centre> , <sommet>, <[p,q]>, [options] ).
Description : dessine le <p/q>-gône régulier défini par le <centre> et un <sommet>,
les options sont celles du type line (p.315).
| |
drawSet( <ensemble>, [options] ).
Description : dessine un ensemble produit par les macros capB, cupB ou setminusB,
les options sont celles du type path (p.314).
Drectangle( <A>, <B>, <C>, [options] ).
Description : dessine le rectangle de sommets consécutifs <A>, <B>, le côté opposé passant par <C>,
les options sont celles du type line (p.315).
ellipticArc( <B>, <A>, <C>, <RX>, <RY>, <sens(+/-1)> [, inclinaison] ).
Description : dessine un arc d’ellipse de centre <A>, allant de <B> à <C> de rayons <RX> et <RY>, l’axe portant le rayon <RX> ayant une certaine <inclinaison> par rapport à l’horizontale, celle-ci est en degrés et vaut 0 par défaut, le paramètre <sens> indique le sens de rotation, 1 pour le sens trigonométrique.
flecher( <liste>, <pos1, ..., posN> [, marker] ).
Description : dessine un <marker> (flèche par défaut) le long de la ligne polygonale <liste>, la position de chaque flèche (pos1, ...) est un nombre entre 0 et 1 (0 pour début de la ligne et 1 pour fin de ligne), les flèches sont dessinées dans le sens de parcourt de la ligne, pour inverser une flèche on ajoute +i à la position.
Exemple(s) : flecher(Get(Cercle(0,3)), [0,0.5] ).
LabelArc( <B>, <A>, <C>, <R>, <sens>, <"texte">, [options] ).
Description : cette macro dessine un arc de cercle de centre <A>, de rayon <R> partant de la droite (AB) jusqu’à la droite (AC), l’argument facultatif <sens> indique : le sens trigonométrique si sa valeur est 1 (valeur par défaut), le sens contraire si valeur est -1. La macro ajoute également le <"texte">. Le paramètre <options> est une liste (facultative) de la forme [ option1 := valeur1, ..., optionN :=valeurN ], les options sont :
labelpos := < inside/outside > : positionnement du label (outside par defaut)),
labelsep := < distance en cm > : distance du label à l’arc (0.25cm par défaut),
rotation := < nombre > : angle en degrés que fait le label par rapport à l’horizontale (0 par défaut).
Il est possible dans la liste des options, de modifier localement des attributs comme Color par exemple.
LabelAxe( <x ou y>, <affixe>, <label> [, [labelPos,décalage en cm], mark(0/1)] ).
Description : permet d’ajouter un label sur un des axes <x ou y>, <affixe> désigne l’affixe du point où se fait l’ajout, <label> contient le texte à ajouter. Paramètres optionnels, <[labelPos, décalage en cm]> et <mark> :
Re(<labelpos>)=1 signifie en dessous pour Ox et à droite pour Oy (par défaut pour Ox),
Re(<labelpos>)=2 signifie au dessus pour Ox et à gauche pour Oy (par défaut pour Oy),
Im(<labelpos>)=-1 signifie un décalage sur la gauche pour Ox, vers le bas pour Oy, si le décalage n’est pas précisé, il vaut 0.25 cm par défaut,
Im(<labelpos>)=1 signifie un décalage sur la droite pour Ox, vers le haut pour Oy, si le décalage n’est pas précisé, il vaut 0.25 cm par défaut,
Im(<labelpos>)=0 signifie pas de décalage (valeur par défaut),
<mark> : indique si le point doit être marqué (dans le dotsyle courant).
LabelDot( <affixe>, <"texte">, <orientation> [, ancrage visible (0/1), distance] ).
Description : cette macro affiche un texte à coté du point <affixe>. L’orientation peut être "N" pour nord, "NE" pour nord-est ...etc, ou bien une liste de la forme [longueur, direction] où direction est un complexe, dans ce deuxième cas, le paramètre optionnel <distance> est ignoré. Le point est également affiché lorsque <ancrage visible> vaut 1 (0 par défaut) et on peut redéfinir la <distance> en cm entre le point et le texte (0.25cm par défaut).
LabelSeg( <A>, <B>, <"texte">, [options] ).
Description : cette macro dessine le segment défini par <A> et <B>, et ajoute le <"texte">. Le paramètre <options> est une liste (facultative) de la forme [ option1 := valeur1, ..., optionN :=valeurN ], les options sont :
labelpos := < center/top/bottom > : positionnement du label (center par défaut),
labelsep := < distance en cm > : distance du label au segment lorsque labelpos vaut top ou bottom (0.25cm par défaut).
rotation := < nombre > : angle en degrés que fait le label par rapport à l’horizontale (par défaut le label est parallèle au segment).
Il est possible dans la liste des options, de modifier localement des attributs comme Color par exemple.
markangle( <B>, <A>, <C>, <r>, <n>, <espacement>, <longueur> ).
Description : même chose que markseg mais pour marquer un arc de cercle.
markseg( <A>, <B>, <n>, <espacement>, <longueur> [, angle] ).
Description : marque le segment [A,B] avec <n> petits segments, l’<espacement> est en unité graphique, et la <longueur> en cm. Le paramètre optionnel <angle> permet de définir en degré l’angle que feront les marques par rapport à la droite (AB) (45 degrés par défaut).
Rarc( <B>, <A>, <C>, <R>, <sens> ).
Description : comme la macro Arc sauf que l’arc de cercle est rond même si le repère n’est pas orthonormé, le rayon <R> est en centimètres.
Rcercle( <A>, <R> ) ou Rcercle( <A>, <B>, <C> ).
Description : dessine un cercle rond même si le repère n’est pas orthonormé. Dans la première forme, le rayon <R> est en centimètres.
Rellipse( <O>, <RX>, <RY> [, inclinaison] ).
Description : comme la commande Ellipse sauf que celle-ci est insensible au repère écran, les rayons sont en centimètres.
RellipticArc( <B>, <A>, <C>, <RX>, <RY>, <sens(+/-1)> [, inclinaison] ).
Description : comme la macro ellipticArc sauf que celle-ci est insensible au repère écran, les rayons sont en centimètres.
RestoreWin().
Description : restaure la fenêtre graphique ainsi que la matrice 2D enregistrées lors du dernier appel à la macro SaveWin.
SaveWin().
Description : enregistre la fenêtre graphique ainsi que la matrice 2D courantes, sur une pile. Cette macro va de paire avec la macro RestoreWin.
Exemple(s) : plusieurs graphiques sur un seul : voir ??.
Seg( <A>, <B> ).
Description : dessine le segment [A,B].
set( <nom>, <affixe centre> [, options] ).
Description : dessine un ensemble en forme de patatoïde, <affixe centre> désigne le centre de cet ensemble, et le paramètre <nom> est une chaîne contenant le nom de cet ensemble. Le paramètre <options> est une liste (facultative) de la forme [ option1 := valeur1, ..., optionN :=valeurN ], les options sont :
scale := < entier positif > : représente l’échelle (1 par défaut),
rotation := < angle en degrés > : permettant d’incliner le dessin (0 degré par défaut),
labels := < 0/1 > : pour afficher ou non le nom de l’ensemble.
labelsep := < distance en cm > : distance du label au bord de l’ensemble (0.45cm par défaut)
Il est possible dans la liste des options, de modifier des attributs comme LabelStyle par exemple.
La macro renvoie en résultat la liste des points de la courbe dessinant l’ensemble.
setB( <nom>, <affixe centre> [, options] ).
Description : dessine un ensemble en forme de patatoïde à l’aide de courbes de Bézier, <affixe centre> désigne le centre de cet ensemble, et le paramètre <nom> est une chaîne contenant le nom de cet ensemble. Le paramètre <options> est une liste (facultative) de la forme [ option1 := valeur1, ..., optionN :=valeurN ], les options sont :
scale := < entier positif > : représente l’échelle (1 par défaut),
rotation := < angle en degrés > : permettant d’incliner le dessin (0 degré par défaut),
labels := < 0/1 > : pour afficher ou non le nom de l’ensemble.
labelsep := < distance en cm > : distance du label au bord de l’ensemble (0.45cm par défaut)
Il est possible dans la liste des options, de modifier des attributs comme LabelStyle par exemple.
La macro renvoie en résultat la liste des points de contrôle de la courbe représentant l’ensemble. Cette liste peut-être utilisée ensuite pour déterminer une intersection (voir capB), une réunion (voir capB) ou une différence (voir setminusB).
size( <largeur + i*hauteur> [, ratio(Xscale/Yscale)] ).
Description : permet de fixer les tailles du graphique : <largeur> et <hauteur> (marges incluses) en cm. Si le paramètre <hauteur> est nul, alors on considère que hauteur=largeur.
Si le paramètre <ratio> est omis, les échelles sur les deux axes sont calculées pour que la figure entre au plus juste dans le cadre fixé, tout en conservant le ratio courant.
Si <ratio> est égal à 0 alors les échelles sont calculées de manière à obtenir exactement la taille souhaitée (le ratio courant n’est donc vraisemblablement pas conservé).
Le repère est orthonormé lorsque le paramètre <ratio> vaut 1.
NB : un appel aux fonctions Fenetre Marges ou à la macro view, modifiera la taille du graphique. Il est donc préférable de déterminer les marges et la fenêtre graphique avant de fixer la taille.
La largeur d’un graphique est donnée par la formule :
et la hauteur est donnée par :
sequence( <f(x)>, <u0>, <n>, [options] ).
Description : représentation graphique de la suite définie par un+1 = f(un), de premier terme <u0> et jusqu’au rang <n>. Cette macro ne représente que les "escaliers".
les options sont celles du type line (p.315).
| |
tangente( <f(x)>, <x0> [, longueur], [options] ).
Description : trace la tangente à la courbe cartésienne y = f(x) au point d’abscisse <x0>, on trace un segment de la <longueur> indiquée (en cm) ou la droite entière si la longueur est omise.
les options sont celles du type line (p.315).
tangenteP( <f(t)>, <t0> [,longueur], [options] ).
Description : trace la tangente à la courbe paramétrée par <f(t)> au point de paramètre <t0>, on trace un segment de la <longueur> indiquée (en cm) ou la droite entière si la longueur est omise.
les options sont celles du type line (p.315).
view( <xmin>, <xmax>, <ymin>, <ymax> ) ou view( <[xmin+i*ymin, xmax+i*ymax]> ).
Description : change la fenêtre graphique courante et conserve l’échelle. Attention : ceci change la taille du graphique, celle-ci peut-être modifiée avec la macro size.
Exemple(s) : dans un élément graphique utilisateur, la commande [ view(-4, 4,-3, 3), size(12) ] va fixer la fenêtre graphique à [−4,4]×[−3,3], et la taille du graphique à 12cm en conservant le ratio courant. Il est important de respecter l’ordre (view avant size).
wedge( <B>, <A>, <C>, <r>, [options] ).
Description : dessine le secteur angulaire défini par l’angle BAC avec un rayon <r>.
les options sont celles du type path (p.314).
zoom( <+/-1> ).
Description : permet de faire un zoom arrière/avant.