Fonctions et macros graphiques

Ces fonctions et macros créent un élément graphique au moment de leur évaluation et renvoient un résultat égal à Nil, elles ne sont utilisables que lors de la création d’un élément graphique "Utilisateur"1.

Elles peuvent être utilisées dans des macros, mais elles ne seront évaluées que si ces macros sont exécutées lors de la création d’un élément graphique "Utilisateur".

Fonctions graphiques prédéfinies

Notations:

<argument>: signifie que l’argument est obligatoire.

[, argument]: signifie que l’argument est facultatif.

Axes

view(-5,4,-5,5),Marges(0.5,0,0,0.5), size(7.5), Width:=2, Color:=lightgray, Grille(-5-5*i,(1+i)/2), Width:=4, Color:=gray, Grille(-5-5*i,(1+i)), Color:=black, Arrows:=1, Axes(-5-5*i,1+i,1+i),Arrows:=0, LabelAxe(x,-pi-5*i," - π",2-i,1), LabelAxe(x,pi-5*i,"π",2+i,1), SaveAttr(), FillStyle:=full, FillColor:=lightblue, FillOpacity:=0.5, domaine2(3*sin(x)^3, -5,-pi,pi), RestoreAttr(), Color:=red, Arrows:=0, Width:=8, Cartesienne( 3*sin(x)^3 )

(Poly-)Bezier

view(-4,4,-4,5),Marges(0,0,0,0), size(7.5), Width:=8, A:=-3+4*i, B:=3+i, C:=3-3*i, D:=-3-3*i, C1:=4.5*i,C2:=-2*i, C3:=2-i, C4:=-2, FillStyle:=full, FillColor:=lightblue,Color:=red, Bezier(A,C1,C2,B,jump,C,C3,C4,D,jump,A), FillStyle:=none, DotStyle:=cross, DotScale:=2,Color:=black, LabelDot(A,"A","N",1), LabelDot(B,"B","E",1), LabelDot(C,"C","SE",1), LabelDot(D,"D","SO",1), LabelDot(C1,"C1","E",1), LabelDot(C2,"C2","SO",1), LabelDot(C3,"C3","N",1), LabelDot(C4,"C4","N",1), LineStyle:=userdash, DashPattern:=[5,2,0.5,2], Width:=6, LineCap:=round, Ligne([A,C1,C2,B,jump,C,C3,C4,D],0)

Cartesienne

view(-2,2,-0.1,2),Marges(0.5,0.5,0.5,0.5), size(7.5), tMin:=-2, tMax:=2, Color:=darkgray, Width:=8, LineStyle:=dotted, Grille(0,0.5*(1+i)), Color:=black, LineStyle:=solid,Axes(0,1+i,1), NbPoints:=100, Width:=8, Color:=darkseagreen, Cartesienne(x*Ent(1/x),5,1)

Courbe

Droite

view(-5,5,-5,5),Marges(0,0,0,0), size(7.5), F:=sqrt(7), F’:=-F, {foyers} Width:=1, Color:=darkgray, for t from -pi to pi step 0.1 do M:=4*cos(t)+3*i*sin(t), Vn:=(M-F)/abs(M-F)+(M-F’)/abs(M-F’), Droite(M,M+Vn),{normale à l’ellipse} od, Width:=8, Color:=red, Ellipse(0,4,3), LabelDot(F,"F","S",1), LabelDot(F’,"Fʹ","S",1)

Ellipse

view(-5.25,5.25,-5.25,5.25), Marges(0,0,0,0), size(7.5), background(full,blue), Width:=4, Color:=white, inclin:=[0,35,-35], for z in inclin do Ellipse(0,5,2,z) od, Width:=2*mm, Ellipse(0,1.5,4.5), Label(-0.1, "{6cm} {3.5cm} {R T F}")

EllipticArc

view(-2.25,3.75,-2,5),Marges(0,0,0,0),size(7.5), A:=0, B:=3+i, C:=2+4*i, DotScale:=2, Width:=8, Ligne([B,A,C],0), Color:=red, LabelDot(A,"A","S",1), LabelDot(B,"B","N",1), LabelDot(C,"C","SE",1), Arrows:=1, Color:=blue, EllipticArc(B,A,C,2,1,-1), EllipticArc(B,A,C,2,3,1)

Remarque: pour un arc de cercle, il suffit de prendre <Rx> et <Ry> égaux. Mais le plus simple est d’utiliser la macro Arc qui remplace la commande Arc de l’ancienne version.

EquaDif

view(-10.5,2.5,-1.5,4.5),Marges(0,0,0,0), size(7.5,0), Arrows:=1, Width:=4, Axes(0,1+i), Arrows:=0, LabelAxe(y,4.25*i,"x"), LabelAxe(x,2,"t",2), Width:=8, Color:=red, tMin:=-10, tMax:=2, EquaDif(y+i*(t*x+y+sin(t)),0,-1+i/2, 1), Color:=black, LabelStyle:=stacked, Label(-6+2*i, "xʹʹ - txʹ - x = sin(t)
avec x(0) =  - 1 et $x'(0)=\frac12$")

Grille

Implicit

view(-5,5,-5,5),Marges(0,0,0,0), size(7.5), Arrows:=1, Width:=4, Axes(0,1+i), Arrows:=0, Width:=8, Color:=red, Implicit( sin(x*y) )

Label

view(-5,5,-5,5),Marges(0,0,0,0), size(7.5,0), C:=Cube(Origin, M(3,3,0)), S:=Sommets(C), Point3D(S), DrawPoly(C,0), k:=0, for Z in S by 2 do Inc(k,1), Label(Proj3D(Z)+ if k>4 then 0.5*i else -0.5*i fi, ["$S_",k,"$"]) od

Ligne

Marges(0,0,0,0), size(7.5), A:=-5-5*i, B:=5*i, C:=5-5*i,niv:=6, Tr:=[A,B,C,jump], {initial} for k from 1 to niv do Tr:=[hom(Tr,A,0.5),hom(Tr,B,0.5), hom(Tr,C,0.5)] od, FillStyle:=full,FillColor:=blue, Ligne(Tr,1)

Path

view(-5,5,-4,6),Marges(0,0,0,0),size(7.5), Axes(2*i,1+i),Eofill:=1, FillStyle:=full,FillOpacity:=0.9, FillColor:= blue, Width:=8, Path([-4,i,circle, -3+2*i,move,-3,-2,line, 0,2,2,-1,arc, 3,3+3*i,0.5,linearc, 1,-1+5*i,-3+2*i,bezier, closepath, ])

Point

view(2.75,4,0,1), Marges(0.75,0.5,0.5,0.5),size(7.5), Axes(Xmin+i*Ymin,0.25+0.2*i,1+i), pas:=0.001, Color:=red, DotScale:=0.1, Point( for r from Xmin to Xmax step pas do u:=0.5, for k from 1 to 25 do u:=r*u*(1-u) od, for k from 1 to 25 do u:=r*u*(1-u), r+i*u od od)

Polaire

view(-3,2,-2,3),Marges(0.25,0.25,0.25,0.25), size(7.5),Width:=4, Axes(0,1+i),NbPoints:=250,tMin:=-25,tMax:=25, courbe:=Get(Polaire((t+1)/(t-1))), ptDoubles:= courbe InterL courbe, Width:=8, Color:= blue, Ligne(courbe,0), DotStyle:=dotcircle, DotScale:=2, Point(ptDoubles), Label(1+2*i,"$r(t)=\dfrac{t+1}{t-1}$")

Spline

view(-5,5,-5,5),Marges(0.25,0.25,0.25,0.25), size(7.5),Width:=4,Axes(0,1+i), A:= -4-3*i, B:=-2+2*i, C:=1-3*i, D:=4+3*i, LabelDot(A,"A","S",1),LabelDot(B,"B","N",1), LabelDot(C,"C","S",1),LabelDot(D,"D","O",1), Width:=8,Color:=red, Spline(0,A,B,C,D,0), Ligne([-4.5+4.5*i,-4+4.5*i],0), LabelStyle:=left, Label(-3.5+4.5*i,"libre"), Color:=blue,Spline(5,A,B,C,D,5*i), Ligne([-4.5+3.5*i,-4+3.5*i],0), Label(-3.5+3.5*i,"contrainte"), Width:=4, Arrows:=1, Ligne([A,A+2,jump,D,D+2*i],0)

Commandes de dessin bitmap

La version propose quelques commandes de base pour faire du dessin bitmap. Ce dessin bitmap peut être enregistré (au format bmp) mais il n’est pas pris en compte par les autres exports du logiciel. Ces commandes ne sont fonctionnelles qu’avec la version GUI de TeXgraph. Chaque pixel est repéré son affixe x + iyx et y sont deux entiers, l’origine est en haut à gauche de la zone de dessin marges exclues, l’axe Ox est dirigé vers la droite et l’axe Oy vers le bas.

DelBitmap

MaxPixels

NewBitmap

Pixel

Pixel2Scr

Scr2Pixel

view(-1.5,1.5,-1,1),Marges(0,0,0,0),size(7.5), NewBitmap(), T:=100, m:=MaxPixels(), c:=-0.181-0.667*i, for x from 0 to Re(m) do Pixel( for y from 0 to Im(m) do N:=0, z:=Pixel2Scr(x+i*y), repeat z:=z^2+c, Inc(N,1) until (N=T) Or (abs(z)>2) od, x+i*y, MixColor(darkred,1-N/T,yellow,N/T) od ) od

Macros graphiques de TeXgraph.mac

angleD

Arc

view(-2.25,3.75,-2,5),Marges(0,0,0,0),size(7.5), A:=0, B:=3+i, C:=2+4*i, DotScale:=2, Width:=8, Ligne([B,A,C],0), Color:=red, LabelDot(A,"A","S",1), LabelDot(B,"B","N",1), LabelDot(C,"C","SE",1), Arrows:=1, Color:=blue, Arc(B,A,C,1,-1), Arc(B,A,C,2,1)

arcBezier

axes

axeX

axeY

view(-5,5,-5,5),size(7.5), LabelSize:=footnotesize, //graphique du haut SaveWin(), view(-5,5,0.25,5),Width:=6, Arrows:=1, SetMatrix([2.5*i,2/pi,2*i]), axeX(0,pi/2,Nil,Nil,1,"",2), axeY(0,1), Arrows:=0, Color:=red, Width:=8, tMin:=-2*pi, tMax:=2*pi, Cartesienne(sin(x)), Label(pi*1.65+i,"f(x) = sin(x)"),RestoreWin(), //graphique du bas SaveWin(), Color:=black, view(-5,5,-5,-0.25), SetMatrix([-5.5*i,2,i]), Width:=6, Arrows:=1, usecomma:=1, axeX([i,0],0.5), axeY([i,0],1,Nil,Nil,1,"a"), Arrows:=0, Color:=blue, Width:=8, Cartesienne(x^2+1), Label(1+4.75*i,"g(x) = x2 + a"), RestoreWin()

background

bbox

centerView

Cercle

view(-5,5,-1,3),Marges(0,0,0,0), size(7.5), Seg(-5,5), for t in [-4,-1.85,0,1.85,3] do M:=t-sin(t)+i*(1-cos(t)), I:=t+i, DotStyle:=cross, Point(I), DotStyle:=bigdot, Point(M), Cercle(I,1), Seg(M,I), Arrows:=1, Arc(M,I,t,0.5,t), Arrows:=0, LineStyle:=dashed, Seg(I,t), LineStyle:=solid od, Width:=8,Color:=red, Courbe( t-sin(t)+i*(1-cos(t)))

Clip

Dbissec

Dcarre

Ddroite

Dmed

domaine1

domaine2

domaine3

view(-5,5,-4,5),size(7.5),tMin:=-5, Axes(-5,1+i,2+2*i), tMax:=-1, Cartesienne(sin(x)), tMax:=5, Cartesienne(2*cos(x)),tMin:=-3,tMax:=3, Cartesienne(x^2), A:=-4.5+(Ymin+1.75)*i, FillStyle:=full, FillOpacity:=0.5,FillColor:=green, LabelStyle:=left, LabelSize:=footnotesize, Dcarre(A+0.25*(-1+i), A+0.25*(1+i), -1), Label(A+0.4,"domaine2 sur [ - 4 ;   - 1. 5] "), Inc(A,-0.75*i), FillColor:=blue, Dcarre(A+0.25*(-1+i), A+0.25*(1+i),-1), Label(A+0.4,"domaine3 entre 2cos(x) et x2 "), Inc(A,-0.75*i), FillColor:=red, Dcarre(A+0.25*(-1+i), A+0.25*(1+i),-1), Label(A+0.4,"domaine1 sur [1. 1 ;  4]"), FillColor:=red, domaine1(2*cos(x), 1.1, 4), FillColor:=green, domaine2(2*cos(x), sin(x),-4,-1.5), FillColor:=blue, domaine3(2*cos(x),x^2), Arrows:=2, tangente(2*cos(x),0.5,1.5)

Dparallel

Dparallelo

Dperp

Dpolyreg

ou

DpqGoneReg

view(-5,5,-6,6),Marges(0,0,0,0),size(7.5), FillStyle:=full, FillColor:=lightpink, Color:=blue, Width:=8, DpqGoneReg(-2.5+2.5*i,-2.5+0.25*i, [7,3]), Label(-2.5+5*i,"[7,3]"), DpqGoneReg(2.5+2.5*i,2.5+0.25*i, [7,2]), Label(2.5+5*i,"[7,2]"), DpqGoneReg(-2.5-2.5*i,-2.5-0.25*i, [7,1]), Label(-2.5-5*i,"[7,1]"), DpqGoneReg(2.5-2.5*i,2.5-0.25*i, [6,2]), Label(2.5-5*i,"[6,2]")

drawSet

Drectangle

ellipticArc

flecher

GradDroite

LabelArc

LabelAxe

LabelDot

LabelSeg

markangle

markseg

periodic

view(-5,5,-5,5), size(7.5), Axes(0,1+i), Width:=8, Color:=red, periodic(if t>0 then 4 else 2 fi,-1,1,5,1), Color:=blue, periodic(2*abs(t)-1,-1,1), Color:=magenta, periodic(sin(t)-3,-pi/2,pi/2)

Rarc

Rcercle

Rellipse

RellipticArc

RestoreWin

SaveWin

Seg

set

setB

size

suite

view(-0.1,1.1,-0.1,1.1),size(7.5), Arrows:=1,Axes(0,1/2+i/4),Arrows:=0, u0:=0.3,nb:=20, Width:=6, Color:=darkseagreen, Droite(1,-1,0), Color:=red, tMin:=0, tMax:=1, Width:=8, Cartesienne(4*x*(1-x)), Width:=6, Color:=blue, Label(0.5+1.05*i,"un + 1 = 4un(1 - un)"), LabelDot(u0, "u0","S",1), suite(4*x*(1-x), u0,nb)

tangente

tangenteP

view

wedge

zoom


  1. Option Elément graphique/Créer/Utilisateur du menu.