Ciblage de Courbe...
[geshi.git] / docs / texgraph / chap08.html
1 <h1 id="fonctions-et-macros-graphiques">Fonctions et macros graphiques</h1>
2 <p>Ces fonctions et macros cr&#233;ent un &#233;l&#233;ment graphique au moment de leur &#233;valuation et renvoient un r&#233;sultat &#233;gal &#224; <em>Nil</em>, elles ne sont utilisables <strong>que lors de la cr&#233;ation d&#8217;un &#233;l&#233;ment graphique &quot;Utilisateur&quot;</strong><sup><a href="#fn1" class="footnoteRef" id="fnref1">1</a></sup>.</p>
3 <p>Elles peuvent &#234;tre utilis&#233;es dans des macros, mais elles ne seront &#233;valu&#233;es que si ces macros sont ex&#233;cut&#233;es lors de la cr&#233;ation d&#8217;un &#233;l&#233;ment graphique &quot;Utilisateur&quot;.</p>
4 <h2 id="fonctions-graphiques-pr&#233;d&#233;finies">Fonctions graphiques pr&#233;d&#233;finies</h3>
5 <p>Notations:</p>
6 <p>&lt;argument&gt;: signifie que l&#8217;argument est <strong>obligatoire</strong>.</p>
7 <p>[, argument]: signifie que l&#8217;argument est <strong>facultatif</strong>.</p>
8 <h3 id="Axes">Axes</h3>
9 <ul>
10 <li><p><b>Axes( &lt;origine&gt;, &lt;graduationX + i*graduationY&gt; [, position label origine] )</b>.</p></li>
11 <li><p><u>Description</u> : dessine les axes, &lt;<em>origine</em>&gt; est l&#8217;affixe du point d&#8217;intersection des axes, &lt;<em>graduationX</em>&gt; est le pas pour les graduations sur l&#8217;axe Ox, et &lt;<em>graduationY</em>&gt; celui de l&#8217;axe Oy, une graduation &#233;gale &#224; z&#233;ro signifie l&#8217;absence de graduation. La longueur des graduations est dans la variable globale <span style="color:red">xyticks</span> que l&#8217;on peut modifier, la distance des labels &#224; l&#8217;extr&#234;mit&#233; des graduations est dans la variable <span style="color:red">xylabelsep</span> qui peut &#233;galement &#234;tre modifi&#233;e.</p>
12 <p>Le troisi&#232;me param&#232;tre est facultatif, il permet de pr&#233;ciser la position des labels de l&#8217;origine (&#224; l&#8217;intersection des axes), c&#8217;est un complexe: <span class="math"><em>a</em>&#8197;+&#8197;<em>i</em><em>b</em></span>, la partie r&#233;elle concerne l&#8217;abscisse de l&#8217;origine et l&#8217;autre concerne l&#8217;ordonn&#233;e. Ces deux nombres peuvent prendre trois valeurs:</p>
13 <ul>
14 <li><p><span class="math">0</span>: le label n&#8217;appara&#238;t pas,</p></li>
15 <li><p><span class="math">1</span>: le label est affich&#233; comme celui des autres graduations,</p></li>
16 <li><p><span class="math">2</span>: le label est d&#233;cal&#233; pour ne pas chevaucher l&#8217;autre axe (valeur par d&#233;faut).</p></li>
17 </ul></li>
18 <li><p>On peut modifier dans les <em>Attributs</em>: le style de ligne, l&#8217;&#233;paisseur, la couleur et la taille des labels.</p></li>
19 </ul>
20 <blockquote>
21 <blockquote>
22 <p>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,&quot;<span class="math">&#8197;-&#8197;&#960;</span>&quot;,2-i,1), LabelAxe(x,pi-5*i,&quot;<span class="math">&#960;</span>&quot;,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 )</p>
23 </blockquote>
24 </blockquote>
25 <h3 id="poly-bezier">(Poly-)Bezier</h3>
26 <ul>
27 <li><p><b>Bezier( &lt;liste de points&gt; )</b>.</p></li>
28 <li><p><u>Description</u> : dessine une succession de courbes de {Bezier} (avec &#233;ventuellement des segments de droite). Il y a plusieurs possibilit&#233;s pour la liste de points:</p>
29 <ol>
30 <li><p>une liste de trois points <span class="math">[<em>A</em>,&#8198;<em>C</em>,&#8198;<em>B</em>]</span>, il s&#8217;agit alors d&#8217;une courbe de Bezier d&#8217;origine &lt;<em>A</em>&gt; et d&#8217;extr&#233;mit&#233; &lt;<em>B</em>&gt; avec un point de contr&#244;le &lt;<em>C</em>&gt;, c&#8217;est la courbe param&#233;tr&#233;e par:</p>
31 <p><br /><span class="math">(1&#8197;-&#8197;<em>t</em>)<sup>2</sup><em>A</em>&#8197;+&#8197;2<em>t</em>(1&#8197;-&#8197;<em>t</em>)<em>C</em>&#8197;+&#8197;<em>t</em><sup>2</sup><em>B</em></span><br /></p></li>
32 <li><p>une liste de 4 points ou plus: [A1, C1, C2, A2, C3, C4, A3...]: il s&#8217;agit alors d&#8217;une succession de courbes de Bezier &#224; 2 points de contr&#244;les, la premi&#232;re va de A1 &#224; A2, elle est contr&#244;l&#233;e par C1, C2 (param&#233;tr&#233;e par <span class="math">(1&#8197;-&#8197;<em>t</em>)<sup>3</sup><em>t</em><em>A</em>1&#8197;+&#8197;3(1&#8197;-&#8197;<em>t</em>)<sup>2</sup><em>t</em><em>C</em>1]&#8197;+&#8197;3(1&#8197;-&#8197;<em>t</em>)<em>t</em><sup>2</sup><em>C</em>2&#8197;+&#8197;<em>t</em><sup>3</sup><em>A</em>2</span>), la deuxi&#232;me va de A2 &#224; A3 et est contr&#244;l&#233;e par C3,C4 ...etc. Une exception toutefois, on peut remplacer les deux points de contr&#244;le par la constante <em>jump</em>, dans ce cas on saute directement de A1 &#224; A2 en tra&#231;ant un segment de droite.</p></li>
33 </ol></li>
34 <li><p>Le nombre de points calcul&#233;s (par courbe) est modifiable dans les <em>Attributs</em> (variable <span style="color:red">NbPoints</span>).</p></li>
35 </ul>
36 <blockquote>
37 <blockquote>
38 <p>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,&quot;<span class="math"><em>A</em></span>&quot;,&quot;N&quot;,1), LabelDot(B,&quot;<span class="math"><em>B</em></span>&quot;,&quot;E&quot;,1), LabelDot(C,&quot;<span class="math"><em>C</em></span>&quot;,&quot;SE&quot;,1), LabelDot(D,&quot;<span class="math"><em>D</em></span>&quot;,&quot;SO&quot;,1), LabelDot(C1,&quot;<span class="math"><em>C</em><sub>1</sub></span>&quot;,&quot;E&quot;,1), LabelDot(C2,&quot;<span class="math"><em>C</em><sub>2</sub></span>&quot;,&quot;SO&quot;,1), LabelDot(C3,&quot;<span class="math"><em>C</em><sub>3</sub></span>&quot;,&quot;N&quot;,1), LabelDot(C4,&quot;<span class="math"><em>C</em><sub>4</sub></span>&quot;,&quot;N&quot;,1), LineStyle:=userdash, DashPattern:=[5,2,0.5,2], Width:=6, LineCap:=round, Ligne([A,C1,C2,B,jump,C,C3,C4,D],0)</p>
39 </blockquote>
40 </blockquote>
41 <h3 id="Cartesienne">Cartesienne</h3>
42 <ul>
43 <li><p><b>Cartesienne( &lt;f(x)&gt; [, n, 1] )</b>.</p></li>
44 <li><p><u>Description</u> : trace la courbe cart&#233;sienne d&#8217;&#233;quation <span class="math"><em>y</em>&#8196;=&#8196;<em>f</em>(<em>x</em>)</span>. Le param&#232;tre optionnel &lt;<em>n</em>&gt; est un entier (&#233;gal &#224; 5 par d&#233;faut) qui permet de faire varier le pas de la mani&#232;re suivante: lorsque la distance entre deux points cons&#233;cutifs est sup&#233;rieur &#224; un certain seuil alors on calcule un point interm&#233;diaire [par dichotomie], ceci peut &#234;tre r&#233;p&#233;t&#233; n fois. Si au bout de n it&#233;rations la distance entre deux points cons&#233;cutifs est toujours sup&#233;rieure au seuil, et si la valeur optionnelle <span class="math">1</span> est pr&#233;sente, alors une discontinuit&#233; (<em>jump</em>) est ins&#233;r&#233;e dans la liste des points.</p></li>
45 </ul>
46 <blockquote>
47 <blockquote>
48 <p>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)</p>
49 </blockquote>
50 </blockquote>
51 <h3 id="Courbe">Courbe</h3>
52 <ul>
53 <li><p><b>Courbe( &lt;f(t)&gt; [, n, 1] )</b>.</p></li>
54 <li><p><u>Description</u> : trace la courbe param&#233;tr&#233;e par &lt;<em>f(t)</em>&gt; o&#249; <span class="math"><em>f</em></span> est &#224; valeurs complexes.</p>
55 <p>Le param&#232;tre optionnel &lt;<em>n</em>&gt; est un entier (&#233;gal &#224; 5 par d&#233;faut) qui permet de faire varier le pas de la mani&#232;re suivante: lorsque la distance entre deux points cons&#233;cutifs est sup&#233;rieur &#224; un certain seuil alors on calcule un point interm&#233;diaire (par dichotomie), ceci peut &#234;tre r&#233;p&#233;t&#233; <span class="math"><em>n</em></span> fois. Si au bout de <span class="math"><em>n</em></span> it&#233;rations la distance entre deux points cons&#233;cutifs est toujours sup&#233;rieure au seuil, et si la valeur optionnelle <span class="math">1</span> est pr&#233;sente, alors une discontinuit&#233; (<em>jump</em>) est ins&#233;r&#233;e dans la liste des points.</p></li>
56 </ul>
57 <h3 id="Droite">Droite</h3>
58 <ul>
59 <li><p><b>Droite( &lt;A&gt;, &lt;B&gt; [, C] )</b>.</p></li>
60 <li><p><u>Description</u> : trace la droite <span class="math">(<em>A</em><em>B</em>)</span> lorsque le troisi&#232;me argument &lt;<em>C</em>&gt; est omis, sinon c&#8217;est la droite d&#8217;&#233;quation cart&#233;sienne &lt;<em>A</em>&gt;x+&lt;<em>B</em>&gt;y=&lt;<em>C</em>&gt;.</p></li>
61 </ul>
62 <blockquote>
63 <blockquote>
64 <p>view(-5,5,-5,5),Marges(0,0,0,0), size(7.5), F:=sqrt(7), F&#8217;:=-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&#8217;)/abs(M-F&#8217;), Droite(M,M+Vn),{normale &#224; l&#8217;ellipse} od, Width:=8, Color:=red, Ellipse(0,4,3), LabelDot(F,&quot;<span class="math"><em>F</em></span>&quot;,&quot;S&quot;,1), LabelDot(F&#8217;,&quot;<span class="math"><em>F</em>&#697;</span>&quot;,&quot;S&quot;,1)</p>
65 </blockquote>
66 </blockquote>
67 <h3 id="Ellipse">Ellipse</h3>
68 <ul>
69 <li><p><b>Ellipse( &lt;A&gt;, &lt;Rx&gt;, &lt;Ry&gt; [, inclinaison] )</b>.</p></li>
70 <li><p><u>Description</u> : trace une ellipse de centre &lt;<em>A</em>&gt; de rayons &lt;<em>Rx</em>&gt; et &lt;<em>Ry</em>&gt; sur les axes respectifs <span class="math"><em>O</em><em>x</em></span> et <span class="math"><em>O</em><em>y</em></span>. Le dernier param&#232;tre &lt;<em>inclinaison</em>&gt; est un angle en degr&#233;s (nul par d&#233;faut) qui indique l&#8217;inclinaison de l&#8217;ellipse par rapport &#224; l&#8217;horizontale.</p></li>
71 </ul>
72 <blockquote>
73 <blockquote>
74 <p>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, &quot;{6cm} {3.5cm} {R&#160;T&#160;F}&quot;)</p>
75 </blockquote>
76 </blockquote>
77 <h3 id="EllipticArc">EllipticArc</h3>
78 <ul>
79 <li><p><b>EllipticArc( &lt;B&gt;, &lt;A&gt;, &lt;C&gt;, &lt;Rx&gt;, &lt;Ry&gt; [, sens] )</b>.</p></li>
80 <li><p><u>Description</u> : trace un arc d&#8217;ellipse dont les axes sont <span class="math"><em>O</em><em>x</em></span> et <span class="math"><em>O</em><em>y</em></span> et le centre &lt;<em>A</em>&gt;, le rayon sur <span class="math"><em>O</em><em>x</em></span> est &lt;<em>Rx</em>&gt;, et celui sur <span class="math"><em>O</em><em>y</em></span> est &lt;<em>Ry</em>&gt;. L&#8217;arc est trac&#233; partant de la droite <span class="math">(<em>A</em><em>B</em>)</span> jusqu&#8217;&#224; la droite <span class="math">(<em>A</em><em>C</em>)</span>, l&#8217;argument facultatif &lt;<em>sens</em>&gt; indique: le sens trigonom&#233;trique si sa valeur est <span class="math">1</span> (valeur par d&#233;faut), le sens contraire si sa valeur est <span class="math">&#8197;-&#8197;1</span>.</p></li>
81 </ul>
82 <blockquote>
83 <blockquote>
84 <p>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,&quot;<span class="math"><em>A</em></span>&quot;,&quot;S&quot;,1), LabelDot(B,&quot;<span class="math"><em>B</em></span>&quot;,&quot;N&quot;,1), LabelDot(C,&quot;<span class="math"><em>C</em></span>&quot;,&quot;SE&quot;,1), Arrows:=1, Color:=blue, EllipticArc(B,A,C,2,1,-1), EllipticArc(B,A,C,2,3,1)</p>
85 </blockquote>
86 </blockquote>
87 <p>Remarque: pour un arc de cercle, il suffit de prendre &lt;<em>Rx</em>&gt; et &lt;<em>Ry</em>&gt; &#233;gaux. Mais le plus simple est d&#8217;utiliser la macro <a href="#Arc">Arc</a> qui remplace la commande <strong>Arc</strong> de l&#8217;ancienne version.</p>
88 <h3 id="EquaDif">EquaDif</h3>
89 <ul>
90 <li><p><b>EquaDif( &lt;f(t,x,y)&gt;, &lt;t0&gt;, &lt;x0 + i*y0&gt; [, mode] )</b>.</p></li>
91 <li><p><u>Description</u> : trace une solution approch&#233;e de l&#8217;&#233;quation diff&#233;rentielle: <span class="math"><em>x</em>&#697;(<em>t</em>)&#8197;+&#8197;<em>i</em><em>y</em>&#697;(<em>t</em>)&#8196;=&#8196;<em>f</em>(<em>t</em>,&#8198;<em>x</em>,&#8198;<em>y</em>)</span> avec la condition initiale <span class="math"><em>x</em>(<em>t</em>0)&#8196;=&#8196;<em>x</em>0</span> et <span class="math"><em>y</em>(<em>t</em>0)&#8196;=&#8196;<em>y</em>0</span>. Le dernier param&#232;tre est facultatif et peut valoir 0, 1 ou 2:</p>
92 <ul>
93 <li><p>&lt;<em>mode</em>&gt;=0: la courbe repr&#233;sente les points de coordonn&#233;es <span class="math">(<em>x</em>(<em>t</em>),&#8198;<em>y</em>(<em>t</em>))</span>, c&#8217;est la valeur par d&#233;faut.</p></li>
94 <li><p>&lt;<em>mode</em>&gt;=1: la courbe repr&#233;sente les points de coordonn&#233;es <span class="math">(<em>t</em>,&#8198;<em>x</em>(<em>t</em>))</span>.</p></li>
95 <li><p>&lt;<em>mode</em>&gt;=2: la courbe repr&#233;sente les points de coordonn&#233;es <span class="math">(<em>t</em>,&#8198;<em>y</em>(<em>t</em>))</span>.</p></li>
96 </ul>
97 <p>C&#8217;est la m&#233;thode de {Runge-Kutta} d&#8217;ordre 4 qui est utilis&#233;e.</p></li>
98 <li><p><u>Exemple(s)</u> : l&#8217;&#233;quation <span class="math"><em>x</em>&#697;&#697;&#8197;-&#8197;<em>x</em>&#697;&#8197;-&#8197;<em>t</em><em>x</em>&#8196;=&#8196;sin(<em>t</em>)</span> avec la condition initiale <span class="math"><em>x</em>(0)&#8196;=&#8196;&#8197;-&#8197;1</span> et <span class="math"><em>x</em>&#697;(0)&#8196;=&#8196;1&#8197;/&#8197;2</span>, se met sous la forme: <br /><span class="math">$\begin{pmatrix}
99 X'\\Y'\end{pmatrix}=\begin{pmatrix} 0&amp;1\\t&amp;1\end{pmatrix}\begin{pmatrix}X\\Y\end{pmatrix}+
100 \begin{pmatrix}0\\\sin(t)\end{pmatrix}$</span><br /> en posant <span class="math"><em>X</em>&#8196;=&#8196;<em>x</em></span> et <span class="math"><em>Y</em>&#8196;=&#8196;<em>x</em>&#697;</span>:</p></li>
101 </ul>
102 <blockquote>
103 <blockquote>
104 <p>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,&quot;<span class="math"><em>x</em></span>&quot;), LabelAxe(x,2,&quot;<span class="math"><em>t</em></span>&quot;,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, &quot;<span class="math"><em>x</em>&#697;&#697;&#8197;-&#8197;<em>t</em><em>x</em>&#697;&#8197;-&#8197;<em>x</em>&#8196;=&#8196;sin(<em>t</em>)</span><br /> avec <span class="math"><em>x</em>(0)&#8196;=&#8196;&#8197;-&#8197;1</span> et <span class="math">$x'(0)=\frac12$</span>&quot;)</p>
105 </blockquote>
106 </blockquote>
107 <h3 id="Grille">Grille</h3>
108 <ul>
109 <li><p><b>Grille( &lt;origine&gt;, &lt;graduationX + i*graduationY&gt; )</b>.</p></li>
110 <li><p><u>Description</u> : dessine une grille, &lt;<em>origine</em>&gt; est l&#8217;affixe du point consid&#233;r&#233; comme origine, &lt;<em>graduationX</em>&gt; est le pas des graduations sur l&#8217;axe Ox, et &lt;<em>graduationY</em>&gt; celui de l&#8217;axe Oy, une graduation &#233;gale &#224; z&#233;ro signifie l&#8217;absence de graduation.</p></li>
111 <li><p>On peut modifier dans les <em>Attributs</em> le style de ligne, l&#8217;&#233;paisseur et la couleur. La grille de ne fait pas appra&#238;tre de graduations, on peut dessiner des axes par dessus.</p></li>
112 </ul>
113 <h3 id="Implicit">Implicit</h3>
114 <ul>
115 <li><p><b>Implicit( &lt;f(x,y)&gt; [, n, m] )</b>.</p></li>
116 <li><p><u>Description</u> : trace la courbe implicite d&#8217;&#233;quation <span class="math"><em>f</em>(<em>x</em>,&#8198;<em>y</em>)&#8196;=&#8196;0</span>. L&#8217;intervalle des abscisses est subdivis&#233; en &lt;<em>n</em>&gt; parties et l&#8217;intervalle des ordonn&#233;es en &lt;<em>m</em>&gt; parties, par d&#233;faut <span class="math"><em>n</em>&#8196;=&#8196;<em>m</em>&#8196;=&#8196;25</span>. Sur chaque pav&#233; ainsi obtenu on teste s&#8217;il y a un changement de signe, auquel cas on applique une dichotomie sur les bords du pav&#233;.</p></li>
117 </ul>
118 <blockquote>
119 <blockquote>
120 <p>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) )</p>
121 </blockquote>
122 </blockquote>
123 <h3 id="Label">Label</h3>
124 <ul>
125 <li><p><b>Label( &lt;affixe1&gt;, &lt;texte1&gt;,..., &lt;affixeN&gt;, &lt;texteN&gt; )</b>.</p></li>
126 <li><p><u>Description</u> : place la cha&#238;ne de caract&#232;res &lt;<em>texte1</em>&gt; &#224; la position &lt;<em>affixe1</em>&gt; ... etc. Les param&#232;tres &lt;<em>texte1</em>&gt;,..., &lt;<em>texteN</em>&gt; sont donc interpr&#233;t&#233;s comme des <a href="#chaine">cha&#238;nes de caract&#232;res</a>.</p></li>
127 </ul>
128 <blockquote>
129 <blockquote>
130 <p>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&gt;4 then 0.5*i else -0.5*i fi, [&quot;<span class="math">$S_&quot;,k,&quot;$</span>&quot;]) od</p>
131 </blockquote>
132 </blockquote>
133 <h3 id="Ligne">Ligne</h3>
134 <ul>
135 <li><p><b>Ligne( &lt;liste&gt;, &lt;ferm&#233;e&gt; [, rayon] )</b>.</p></li>
136 <li><p><u>Description</u> : trace la ligne polygonale d&#233;finie par la liste, si le param&#232;tre &lt;<em>ferm&#233;e</em>&gt; vaut 1, la ligne polygonale sera ferm&#233;e, si sa valeur est 0 la ligne est ouverte. Si l&#8217;argument &lt;<em>rayon</em>&gt; est pr&#233;cis&#233; (0 par d&#233;faut), alors les &quot;angles&quot; de la ligne polygonale sont arrondis avec un arc de cercle dont le rayon correspond &#224; l&#8217;argument &lt;<em>rayon</em>&gt;.</p></li>
137 </ul>
138 <blockquote>
139 <blockquote>
140 <p>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)</p>
141 </blockquote>
142 </blockquote>
143 <h3 id="Path">Path</h3>
144 <ul>
145 <li><p><b>Path( &lt;liste&gt; [, ferm&#233; (0/1)]</b></p></li>
146 <li><p><u>Description</u> : trace le chemin repr&#233;sent&#233; par &lt;<em>liste</em>&gt; et ferme la derni&#232;re composante de celui-ci si l&#8217;argument optionnel vaut <span class="math">1</span> (sa valeur par d&#233;faut est <span class="math">0</span>). La liste est une succession de points (affixes) et d&#8217;instructions indiquant &#224; quoi correspondent ces points, ces instructions sont:</p>
147 <ul>
148 <li><p><strong>line</strong>: relie les points par une ligne polygonale,</p></li>
149 <li><p><strong>linearc</strong>: relie les points par une ligne polygonale mais les angles sont arrondis par un arc de cercle, la valeur pr&#233;c&#233;dent la commande linearc est interpr&#233;t&#233;e comme le rayon de ces arcs.</p></li>
150 <li><p><strong>arc</strong>: dessine un arc de cercle, ce qui n&#233;cessite quatre arguments: 3 points et le rayon, plus &#233;ventuellement un cinqui&#232;me argument: le sens (+/- 1), le sens par d&#233;faut est 1 (sens trigonom&#233;trique).</p></li>
151 <li><p><strong>ellipticArc</strong>: dessine un arc d&#8217;ellipse, ce qui n&#233;cessite cinq arguments: 3 points, le rayonX, le rayonY, plus &#233;ventuellement un sixi&#232;me argument: le sens (+/- 1), le sens par d&#233;faut est 1 (sens trigonom&#233;trique), plus &#233;ventuellement un septi&#232;me argument: l&#8217;inclinaison en degr&#233;s du grand axe par rapport &#224; l&#8217;horizontale.</p></li>
152 <li><p><strong>curve</strong>: relie les points par une spline cubique naturelle.</p></li>
153 <li><p><strong>bezier</strong>: relie le premier et le quatri&#232;me point par une courbe de b&#233;zier (les deuxi&#232;me et troisi&#232;me points sont les points de contr&#244;le).</p></li>
154 <li><p><strong>circle</strong>: desine un cercle, ce qui necessite deux arguments: un point et le centre, ou bien trois arguments qui sont trois points du cercle.</p></li>
155 <li><p><strong>ellipse</strong>: dessine une ellipse, les arguments sont: un point, le centre, rayon rX, rayon rY, inclinaison du grand axe en degr&#233;s par rapport &#224; l&#8217;horizontale (facultatif).</p></li>
156 <li><p><strong>move</strong>: indique un d&#233;placement sans trac&#233;.</p></li>
157 <li><p><strong>closepath</strong>: ferme la composante en cours.</p></li>
158 </ul>
159 <p>Par convention, le premier point du tron&#231;on num&#233;ro n+1 est le dernier point du tron&#231;on num&#233;ro n.</p></li>
160 <li><p><u>Exemple(s)</u> : </p></li>
161 </ul>
162 <blockquote>
163 <blockquote>
164 <p>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, ])</p>
165 </blockquote>
166 </blockquote>
167 <h3 id="Point">Point</h3>
168 <ul>
169 <li><p><b>Point( &lt;A1&gt;, ..., &lt;An&gt; )</b>.</p></li>
170 <li><p><u>Description</u> : repr&#233;sente le nuage de points &lt;<em>A1</em>&gt; ... &lt;<em>An</em>&gt;.</p></li>
171 </ul>
172 <blockquote>
173 <blockquote>
174 <p>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)</p>
175 </blockquote>
176 </blockquote>
177 <h3 id="Polaire">Polaire</h3>
178 <ul>
179 <li><p><b>Polaire( &lt;r(t)&gt; [, n, 0/1] )</b>.</p></li>
180 <li><p><u>Description</u> : trace la courbe polaire d&#8217;&#233;quation <span class="math">&#961;&#8196;=&#8196;<em>r</em>(<em>t</em>)</span>, &lt;<em>expression</em>&gt;. Le param&#232;tre optionnel &lt;<em>n</em>&gt; est un entier (&#233;gal &#224; 5 par d&#233;faut) qui permet de faire varier le pas de la mani&#232;re suivante: lorsque la distance entre deux points cons&#233;cutifs est sup&#233;rieur &#224; un certain seuil alors on calcule un point interm&#233;diaire (par dichotomie), ceci peut &#234;tre r&#233;p&#233;t&#233; <span class="math"><em>n</em></span> fois. Si au bout de <span class="math"><em>n</em></span> it&#233;rations la distance entre deux points cons&#233;cutifs est toujours sup&#233;rieure au seuil, et si la valeur optionnelle <span class="math">1</span> est pr&#233;sente, alors une discontinuit&#233; (<em>jump</em>) est ins&#233;r&#233;e dans la liste des points.</p></li>
181 </ul>
182 <blockquote>
183 <blockquote>
184 <p>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,&quot;<span class="math">$r(t)=\dfrac{t+1}{t-1}$</span>&quot;)</p>
185 </blockquote>
186 </blockquote>
187 <h3 id="Spline">Spline</h3>
188 <ul>
189 <li><p><b>Spline( &lt;V0&gt;, &lt;A0&gt;,..., &lt;An&gt;, &lt;Vn&gt; )</b>.</p></li>
190 <li><p><u>Description</u> : trace la spline cubique passant par les points &lt;<em>A0</em>&gt; jusqu&#8217;&#224; &lt;<em>An</em>&gt;. &lt;<em>V0</em>&gt; et &lt;<em>Vn</em>&gt; d&#233;signent les vecteurs vitesses aux extr&#233;mit&#233;s [contraintes], si l&#8217;un d&#8217;eux est nul alors l&#8217;extr&#233;mit&#233; correspondante est consid&#233;r&#233;e comme libre (sans contrainte).</p></li>
191 </ul>
192 <blockquote>
193 <blockquote>
194 <p>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,&quot;<span class="math"><em>A</em></span>&quot;,&quot;S&quot;,1),LabelDot(B,&quot;<span class="math"><em>B</em></span>&quot;,&quot;N&quot;,1), LabelDot(C,&quot;<span class="math"><em>C</em></span>&quot;,&quot;S&quot;,1),LabelDot(D,&quot;<span class="math"><em>D</em></span>&quot;,&quot;O&quot;,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,&quot;libre&quot;), 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,&quot;contrainte&quot;), Width:=4, Arrows:=1, Ligne([A,A+2,jump,D,D+2*i],0)</p>
195 </blockquote>
196 </blockquote>
197 <h2 id="commandes-de-dessin-bitmap">Commandes de dessin bitmap</h3>
198 <p>La version propose quelques commandes de base pour faire du dessin bitmap. Ce dessin bitmap peut &#234;tre enregistr&#233; (au format <em>bmp</em>) mais il n&#8217;est pas pris en compte par les autres exports du logiciel. Ces commandes ne sont fonctionnelles qu&#8217;avec la version GUI de TeXgraph. Chaque pixel est rep&#233;r&#233; son affixe <span class="math"><em>x</em>&#8197;+&#8197;<em>i</em><em>y</em></span> o&#249; <span class="math"><em>x</em></span> et <span class="math"><em>y</em></span> sont deux entiers, l&#8217;origine est en haut &#224; gauche de la zone de dessin <strong>marges exclues</strong>, l&#8217;axe <span class="math"><em>O</em><em>x</em></span> est dirig&#233; vers la droite et l&#8217;axe <span class="math"><em>O</em><em>y</em></span> vers le bas.</p>
199 <h3 id="DelBitmap">DelBitmap</h3>
200 <ul>
201 <li><p><b>DelBitmap()</b>.</p></li>
202 <li><p><u>Description</u> : d&#233;truit le bitmap en cours.</p></li>
203 </ul>
204 <h3 id="MaxPixels">MaxPixels</h3>
205 <ul>
206 <li><p><b>MaxPixels()</b>.</p></li>
207 <li><p><u>Description</u> : renvoie la taille de la zone graphique en pixels sous la forme: <span style="font-style:italic">maxX+i*maxY</span>, ainsi pour les coordonn&#233;es des pixels (coordonn&#233;es enti&#232;res), l&#8217;intervalle des abscisses est <span style="font-style:italic">[0 .. maxX]</span> et celui des ordonn&#233;es <span style="font-style:italic">[0 .. maxY]</span>. Chaque pixel est rep&#233;r&#233; par des coordonn&#233;es enti&#232;res, donc chaque pixel a une affixe <span class="math"><em>a</em>&#8197;+&#8197;<em>i</em><em>b</em></span> avec <span class="math"><em>a</em></span> dans <span style="font-style:italic">[0 .. maxX]</span> et <span class="math"><em>b</em></span> dans <span style="font-style:italic">[0 .. maxY]</span>. L&#8217;origine &#233;tant le coin sup&#233;rieur gauche de la zone graphique <strong>marges exclues</strong>.</p></li>
208 </ul>
209 <h3 id="NewBitmap">NewBitmap</h3>
210 <ul>
211 <li><p><b>NewBitmap( [fond] )</b>.</p></li>
212 <li><p><u>Description</u> : permet de cr&#233;er un nouveau bitmap (vide). Par d&#233;faut la couleur du fond est le blanc.</p></li>
213 </ul>
214 <h3 id="Pixel">Pixel</h3>
215 <ul>
216 <li><p><b>Pixel( &lt;liste&gt; )</b>.</p></li>
217 <li><p><u>Description</u> : permet de d&#8217;allumer une &lt;<em>liste</em>&gt; de pixels. Cette liste est de la forme: <span style="font-style:italic">[affixe, couleur, affixe, couleur, ...]</span>. Les affixes des pixels sont de la forme <span class="math"><em>a</em>&#8197;+&#8197;<em>i</em><em>b</em></span> avec <span class="math"><em>a</em></span> et <span class="math"><em>b</em></span> des entiers positifs ou nuls, l&#8217;origine &#233;tant le coin sup&#233;rieur gauche de la zone graphique <strong>marges exclues</strong>.</p></li>
218 </ul>
219 <h3 id="Pixel2Scr">Pixel2Scr</h3>
220 <ul>
221 <li><p><b>Pixel2Scr( &lt;affixe&gt; )</b>.</p></li>
222 <li><p><u>Description</u> : permet de convertir l&#8217;&lt;<em>affixe</em>&gt; d&#8217;un pixel (coordonn&#233;es enti&#232;res) en affixe dans le rep&#232;re de l&#8217;utilisateur &#224; l&#8217;&#233;cran.</p></li>
223 </ul>
224 <h3 id="Scr2Pixel">Scr2Pixel</h3>
225 <ul>
226 <li><p><b>Scr2Pixel( &lt;affixe&gt; )</b>.</p></li>
227 <li><p><u>Description</u> : permet de convertir l&#8217;&lt;<em>affixe</em>&gt; d&#8217;un point dans le rep&#232;re de l&#8217;utilisateur &#224; l&#8217;&#233;cran en coordonn&#233;es enti&#232;res (affixe du pixel correspondant au point).</p></li>
228 <li><p><u>Exemple(s)</u> : un ensemble de Julia, la commande est &#224; placer dans un &#233;l&#233;ment graphique utilisateur. L&#8217;image <em>png</em> a &#233;t&#233; obtenue &#224; partir du bouton <em>snapshot</em> de l&#8217;interface graphique en prenant l&#8217;export <em>bmp</em> puis une conversion en <em>png</em>:</p></li>
229 </ul>
230 <blockquote>
231 <blockquote>
232 <p>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)&gt;2) od, x+i*y, MixColor(darkred,1-N/T,yellow,N/T) od ) od</p>
233 </blockquote>
234 </blockquote>
235 <h2 id="macros-graphiques-de-texgraph.mac">Macros graphiques de TeXgraph.mac</h3>
236 <h3 id="angleD">angleD</h3>
237 <ul>
238 <li><p><b>angleD( &lt;B&gt;, &lt;A&gt;, &lt;C&gt;, &lt;r&gt; )</b>.</p></li>
239 <li><p><u>Description</u> : dessine l&#8217;angle <span class="math">$\widehat{BAC}$</span> avec un parall&#232;logramme de cot&#233; r.</p></li>
240 </ul>
241 <h3 id="Arc">Arc</h3>
242 <ul>
243 <li><p><b>Arc( &lt;B&gt;, &lt;A&gt;, &lt;C&gt;, &lt;R&gt; [, sens] )</b>.</p></li>
244 <li><p><u>Description</u> : trace un arc de cercle de centre &lt;<em>A</em>&gt; et de rayon &lt;<em>R</em>&gt;. L&#8217;arc est trac&#233; partant de la droite <span class="math">(<em>A</em><em>B</em>)</span> jusqu&#8217;&#224; la droite <span class="math">(<em>A</em><em>C</em>)</span>, l&#8217;argument facultatif &lt;<em>sens</em>&gt; indique: le sens trigonom&#233;trique si sa valeur est <span class="math">1</span> (valeur par d&#233;faut), le sens contraire si valeur est <span class="math">&#8197;-&#8197;1</span>.</p></li>
245 </ul>
246 <blockquote>
247 <blockquote>
248 <p>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,&quot;<span class="math"><em>A</em></span>&quot;,&quot;S&quot;,1), LabelDot(B,&quot;<span class="math"><em>B</em></span>&quot;,&quot;N&quot;,1), LabelDot(C,&quot;<span class="math"><em>C</em></span>&quot;,&quot;SE&quot;,1), Arrows:=1, Color:=blue, Arc(B,A,C,1,-1), Arc(B,A,C,2,1)</p>
249 </blockquote>
250 </blockquote>
251 <h3 id="arcBezier">arcBezier</h3>
252 <ul>
253 <li><p><b>arcBezier( &lt;B&gt;, &lt;A&gt;, &lt;C&gt;, &lt;r&gt; [,sens] )</b>.</p></li>
254 <li><p><u>Description</u> : a le m&#234;me effet que la macro graphique <span style="font-style:italic">Arc</span> mais l&#8217;arc est dessin&#233; avec des courbes de Bezier.</p></li>
255 </ul>
256 <h3 id="axes-1">axes</h3>
257 <ul>
258 <li><p><b>axes( &lt;[origine, etendueX, etendueY]&gt;, &lt;gradX+i*gradY&gt; [, subdivX+i*subdivY, posOriginX+i*posOriginY, num, &quot;texte&quot;, den, firstnum] )</b>.</p></li>
259 <li><p><u>Description</u> : pour tracer et graduer les axes passant par &lt;<em>origine</em>&gt; (affixe), elle s&#8217;utilise comme la commande <a href="#Axes">Axes</a> et utilise donc les variables <em>xylabelpos</em> et <em>xyticks</em>. Par d&#233;faut les axes occupent toute la fen&#234;tre si les param&#232;tres optionnels &lt;<em>etendueX</em>&gt; et &lt;<em>etendueY</em>&gt; sont omis. Le param&#232;tre &lt;<em>etendueX</em>&gt; repr&#233;sente sous forme complexe l&#8217;intervalle des abcisses: <code>xmin+i*xmax</code>, de m&#234;me pour les ordonn&#233;es avec le param&#232;tre &lt;<em>etendueY</em>&gt;, les axes sont alors limit&#233;s &#224; ces intervalles. Remarque: pour pr&#233;ciser une valeur de &lt;<em>etendueY</em>&gt; sans pr&#233;ciser de valeur pour &lt;<em>etendueX</em>&gt;, il suffit de mettre <em>jump</em> &#224; la place de &lt;<em>etendueX</em>&gt; (et non pas <em>Nil</em>!).</p></li>
260 <li><p>Le param&#232;tre optionnel &lt;<em>subdivX+i*subdivY</em>&gt; indique le nombre de subdivisions par unit&#233; sur chaque axe (0 par d&#233;faut).</p></li>
261 <li><p>Le param&#232;tre optionnel &lt;<em>posOriginX+i*posOriginY</em>&gt; permet de positionner le label de l&#8217;origine:</p>
262 <ul>
263 <li><p>&lt;<em>posOriginX</em>&gt;=0: pas de label &#224; l&#8217;origine (idem pour &lt;<em>posOriginY</em>&gt;=0),</p></li>
264 <li><p>&lt;<em>posOriginX</em>&gt;=1: label normal &#224; l&#8217;origine (idem pour &lt;<em>posOriginY</em>&gt;=1),,</p></li>
265 <li><p>&lt;<em>posOriginX</em>&gt;=2: label d&#233;cal&#233; &#224; droite de l&#8217;origine et en haut pour &lt;<em>posOriginY</em>&gt;=2 (valeurs par d&#233;faut),</p></li>
266 <li><p>&lt;<em>posOriginX</em>&gt;=-2 label d&#233;cal&#233; &#224; gauche de l&#8217;origine et en bas pour &lt;<em>posOriginY</em>&gt;=-2.</p></li>
267 </ul></li>
268 <li><p>Sur les 2 axes, chaque label est multipli&#233; par la fraction &lt;<em>num/den</em>&gt; (1 par d&#233;faut), ajout&#233; &#224; &lt;<em>firstnum/den</em>&gt; (l&#8217;origine par d&#233;faut) et accompagn&#233; du &lt;<em>&quot;texte&quot;</em>&gt; au num&#233;rateur. Pour que le s&#233;parateur d&#233;cimal soit la virgule &#224; la place du point, il suffit de mettre la variable <span style="font-style:italic;color:red">usecomma</span> &#224; la valeur <span class="math">1</span>. Cette macro est &#233;galement sensible aux variables <span style="font-style:italic;color:red">dollar</span> (pour ajouter ou non des $ autour des labels des graduations), et <span style="font-style:italic;color:red">nbdeci</span> qui fixe le nombre de d&#233;cimales affich&#233;es.</p></li>
269 <li><p><u>Exemple(s)</u> : pour avoir des axes gradu&#233;s en <span class="math">&#960;&#8197;/&#8197;2</span> en <span class="math">&#960;&#8197;/&#8197;2</span>: <span style="color:red">axes(0, pi*(1+i)/2, 1+i, 2+2*i, 1, &quot;&#92;pi&quot;, 2, 0)</span>. Contrairement &#224; la commande Axes, cette macro est sensible aux modifications de la matrice courante.</p></li>
270 </ul>
271 <h3 id="axeX">axeX</h3>
272 <ul>
273 <li><p><b>axeX( &lt;[origine, posOrigine, etendue]&gt;, &lt;Xpas&gt; [, Subdiv, labelPos , num, &quot;&quot;texte&quot;&quot;, den, firstnum] )</b>.</p></li>
274 <li><p><u>Description</u> : pour tracer et graduer un axe des abscisses passant par &lt;<em>origine</em>&gt; et avec un pas de &lt;<em>Xpas</em>&gt;. Le param&#232;tre &lt;<em>etendue</em>&gt; repr&#233;sente sous forme complexe l&#8217;intervalle des abscisses <span style="font-style:italic">xmin+i*xmax</span>, si celui-ci est omis, alors le trac&#233; occupe la fen&#234;tre. Remarque: pour pr&#233;ciser une valeur de &lt;<em>etendue</em>&gt; sans pr&#233;ciser de valeur pour &lt;<em>posOrigine</em>&gt;, il suffit de mettre <em>jump</em> &#224; la place de &lt;<em>posOrigine</em>&gt; (et non pas <em>Nil</em>!).</p></li>
275 <li><p>&lt;<em>Subdiv</em>&gt; est le nombre de subdivisions par unit&#233;, chaque abscisse est multipli&#233;e par la fraction &lt;<em>num/den</em>&gt; (1 par d&#233;faut), ajout&#233;e &#224; &lt;<em>firstnum/den</em>&gt; (l&#8217;origine par d&#233;faut) et accompagn&#233;e du &lt;<em>&quot;texte&quot;</em>&gt; au num&#233;rateur. Pour que le s&#233;parateur d&#233;cimal soit la virgule &#224; la place du point, il suffit de mettre la variable <span style="font-style:italic;color:red">usecomma</span> &#224; la valeur <span class="math">1</span>. Cette macro est &#233;galement sensible aux variables <span style="font-style:italic;color:red">dollar</span> (pour ajouter ou non des $ autour des labels des graduations), et <span style="font-style:italic;color:red">nbdeci</span> qui fixe le nombre de d&#233;cimales affich&#233;es.</p></li>
276 <li><p>Les param&#232;tres optionnels &lt;<em>posOrigine</em>&gt; et &lt;<em>labelpos</em>&gt; permettent de positionner les labels:</p>
277 <ul>
278 <li><p>&lt;<em>posOrigine</em>&gt;=0: pas de label &#224; l&#8217;origine,</p></li>
279 <li><p>&lt;<em>posOrigine</em>&gt;=1: label normal &#224; l&#8217;origine,</p></li>
280 <li><p>&lt;<em>posOrigine</em>&gt;=2: label d&#233;cal&#233; &#224; droite &#224; l&#8217;origine (valeur par d&#233;faut),</p></li>
281 <li><p>&lt;<em>posOrigine</em>&gt;=-2 label d&#233;cal&#233; &#224; gauche &#224; l&#8217;origine,</p></li>
282 <li><p>&lt;<em>labelPos</em>&gt;=0 : pas de label du tout,</p></li>
283 <li><p>&lt;<em>Re(labelpos)</em>&gt;=top: labels au-dessus,</p></li>
284 <li><p>Re(&lt;<em>labelPos</em>&gt;)=bottom : labels en-dessous (valeur par d&#233;faut),</p></li>
285 <li><p>Im(&lt;<em>Im(labelPos</em>&gt;)=1: labels orthogonaux &#224; l&#8217;axe.</p></li>
286 </ul></li>
287 </ul>
288 <h3 id="axeY">axeY</h3>
289 <ul>
290 <li><p><b>axeY(&lt;[origine, posOrigine, etendue]&gt;, &lt;Ypas&gt; [, Subdiv, labelPos , num, &quot;&quot;texte&quot;&quot;, den, firstnum] )</b>.</p></li>
291 <li><p><u>Description</u> : pour tracer et graduer un axe des abscisses passant par &lt;<em>origine</em>&gt; et avec un pas de &lt;<em>Ypas</em>&gt;. Le param&#232;tre &lt;<em>etendue</em>&gt; repr&#233;sente sous forme complexe l&#8217;intervalle des ordonn&#233;es <span style="font-style:italic">ymin+i*ymax</span>, si celui-ci est omis, alors le trac&#233; occupe la fen&#234;tre. Remarque: pour pr&#233;ciser une valeur de &lt;<em>etendue</em>&gt; sans pr&#233;ciser de valeur pour &lt;<em>posOrigine</em>&gt;, il suffit de mettre <em>jump</em> &#224; la place de &lt;<em>posOrigine</em>&gt; (et non pas <em>Nil</em>!).</p></li>
292 <li><p>&lt;<em>Subdiv</em>&gt; est le nombre de subdivisions par unit&#233;, chaque ordonn&#233;e est multipli&#233;e par la fraction &lt;<em>num/den</em>&gt; (1 par d&#233;faut), ajout&#233;e &#224; &lt;<em>firstnum/den</em>&gt; (l&#8217;origine par d&#233;faut) et accompagn&#233;e du &lt;<em>&quot;texte&quot;</em>&gt; au num&#233;rateur. Pour que le s&#233;parateur d&#233;cimal soit la virgule &#224; la place du point, il suffit de mettre la variable <span style="font-style:italic;color:red">usecomma</span> &#224; la valeur <span class="math">1</span>. Cette macro est &#233;galement sensible aux variables <span style="font-style:italic;color:red">dollar</span> (pour ajouter ou non des $ autour des labels des graduations), et <span style="font-style:italic;color:red">nbdeci</span> qui fixe le nombre de d&#233;cimales affich&#233;es.</p></li>
293 <li><p>Les param&#232;tres optionnels &lt;<em>posOrigine</em>&gt; et &lt;<em>labelpos</em>&gt; permettent de positionner les labels:</p>
294 <ul>
295 <li><p>&lt;<em>posOrigine</em>&gt;=0: pas de label &#224; l&#8217;origine,</p></li>
296 <li><p>&lt;<em>posOrigine</em>&gt;=1: label normal &#224; l&#8217;origine,</p></li>
297 <li><p>&lt;<em>posOrigine</em>&gt;=2: label d&#233;cal&#233; vers le haut &#224; l&#8217;origine (valeur par d&#233;faut),</p></li>
298 <li><p>&lt;<em>posOrigine</em>&gt;=-2 label d&#233;cal&#233; vers le bas &#224; l&#8217;origine,</p></li>
299 <li><p>&lt;<em>labelPos</em>&gt;=0 : pas de label du tout,</p></li>
300 <li><p>&lt;<em>Re(labelpos)</em>&gt;=left: labels &#224; gauche de l&#8217;axe (valeur par d&#233;faut),</p></li>
301 <li><p>Re(&lt;<em>labelPos</em>&gt;=right : labels &#224; droite de l&#8217;axe,</p></li>
302 <li><p>Im(&lt;<em>labelPos</em>&gt;)=1: labels orthogonaux &#224; l&#8217;axe.</p></li>
303 </ul></li>
304 </ul>
305 <blockquote>
306 <blockquote>
307 <p>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,&quot;&quot;,2), axeY(0,1), Arrows:=0, Color:=red, Width:=8, tMin:=-2*pi, tMax:=2*pi, Cartesienne(sin(x)), Label(pi*1.65+i,&quot;<span class="math"><em>f</em>(<em>x</em>)&#8196;=&#8196;sin(<em>x</em>)</span>&quot;),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,&quot;a&quot;), Arrows:=0, Color:=blue, Width:=8, Cartesienne(x^2+1), Label(1+4.75*i,&quot;<span class="math"><em>g</em>(<em>x</em>)&#8196;=&#8196;<em>x</em><sup>2</sup>&#8197;+&#8197;<em>a</em></span>&quot;), RestoreWin()</p>
308 </blockquote>
309 </blockquote>
310 <h3 id="background">background</h3>
311 <ul>
312 <li><p><b>background( &lt;fillstyle&gt;, &lt;fillcolor&gt; )</b>.</p></li>
313 <li><p><u>Description</u> : permet de remplir le fond de la fen&#234;tre graphique avec le style et la couleur demand&#233;e. Cette macro met &#224; jour la variable <span style="font-style:italic;color:red">backcolor</span>.</p></li>
314 </ul>
315 <h3 id="bbox">bbox</h3>
316 <ul>
317 <li><p><b>bbox()</b>.</p></li>
318 <li><p><u>Description</u> : permet d&#8217;ajuster la fen&#234;tre &#224; la &quot;bounding box&quot; autour du dessin courant. Cette macro est destin&#233;e &#224; &#234;tre utilis&#233;e dans la ligne de commande en bas de la fen&#234;tre principale, et non pas dans un &#233;l&#233;ment graphique.</p></li>
319 </ul>
320 <h3 id="centerView">centerView</h3>
321 <ul>
322 <li><p><b>centerView( &lt;affixe&gt; )</b>.</p></li>
323 <li><p><u>Description</u> : permet de centrer la fen&#234;tre graphique sur le point repr&#233;sent&#233; par &lt;<em>affixe</em>&gt;, sans changer les dimensions courantes du graphique. Cette macro est plut&#244;t destin&#233;e &#224; &#234;tre utilis&#233;e dans la ligne de commande en bas de la fen&#234;tre principale.</p></li>
324 </ul>
325 <h3 id="Cercle">Cercle</h3>
326 <ul>
327 <li><p><b>Cercle( &lt;A&gt;, &lt;r&gt; [, B] )</b>.</p></li>
328 <li><p><u>Description</u> : trace un cercle de centre &lt;<em>A</em>&gt; et de rayon &lt;<em>r</em>&gt; lorsque le troisi&#232;me param&#232;tre est omis, sinon c&#8217;est le cercle d&#233;fini par les trois points &lt;<em>A</em>&gt;, &lt;<em>r</em>&gt; et &lt;<em>B</em>&gt;.</p>
329 <p>Pour les macros <span style="font-style:italic">Arc</span> et <span style="font-style:italic">Cercle</span>, on peut s&#8217;attendre &#224; des surprises dans le r&#233;sultat final si le rep&#232;re n&#8217;est pas orthonorm&#233;! Le rep&#232;re est orthonorm&#233; lorsque les variables <span style="font-style:italic;color:red">Xscale</span> et <span style="font-style:italic;color:red">Yscale</span> sont &#233;gales, voir option <a href="#param">Param&#232;tres/Fen&#234;tre</a>.</p></li>
330 </ul>
331 <blockquote>
332 <blockquote>
333 <p>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)))</p>
334 </blockquote>
335 </blockquote>
336 <h3 id="Clip">Clip</h3>
337 <ul>
338 <li><p><b>Clip( &lt;liste&gt; )</b>.</p></li>
339 <li><p><u>Description</u> : permet de clipper les &#233;l&#233;ments graphiques d&#233;j&#224; dessin&#233;s avec la &lt;<em>liste</em>&gt; qui doit &#234;tre une courbe ferm&#233;e et simple. La macro peint l&#8217;ext&#233;rieur de la courbe repr&#233;sent&#233;e par la &lt;<em>liste</em>&gt;.</p></li>
340 </ul>
341 <h3 id="Dbissec">Dbissec</h3>
342 <ul>
343 <li><p><b>Dbissec( &lt;B&gt;, &lt;A&gt;, &lt;C&gt;, &lt;1 ou 2&gt; )</b>.</p></li>
344 <li><p><u>Description</u> : dessine la bissectrice de l&#8217;angle <span class="math">$\widehat{BAC}$</span>, int&#233;rieure si le dernier param&#232;tre vaut <span class="math">1</span> et ext&#233;rieure pour la valeur <span class="math">2</span>.</p></li>
345 </ul>
346 <h3 id="Dcarre">Dcarre</h3>
347 <ul>
348 <li><p><b>Dcarre( &lt;A&gt;, &lt;B&gt;, &lt;+/-1&gt; [, rayon] )</b>.</p></li>
349 <li><p><u>Description</u> : dessine de carr&#233; de sommets cons&#233;cutifs &lt;<em>A</em>&gt; et &lt;<em>B</em>&gt; dans le sens direct si le troisi&#232;me param&#232;tre vaut <span class="math">1</span> (indirect pour <span class="math">&#8197;-&#8197;1</span>). Si le param&#232;tre &lt;<em>rayon</em>&gt; est pr&#233;sent, alors les &#248;g coins&#160;de la figure seront arrondis par un arc de cercle ayant le rayon mentionn&#233;.</p></li>
350 </ul>
351 <h3 id="Ddroite">Ddroite</h3>
352 <ul>
353 <li><p><b>Ddroite( &lt;A&gt;, &lt;B&gt; )</b>.</p></li>
354 <li><p><u>Description</u> : dessine la demi-droite <span class="math">[<em>A</em>,&#8198;<em>B</em>)</span>.</p></li>
355 </ul>
356 <h3 id="Dmed">Dmed</h3>
357 <ul>
358 <li><p><b>Dmed( &lt;A&gt;, &lt;B&gt; [, angle droit(0/1)] )</b>.</p></li>
359 <li><p><u>Description</u> : dessine la m&#233;diatrice du segment <span class="math">[<em>A</em>,&#8198;<em>B</em>]</span>. Si le troisi&#232;me param&#232;tre vaut <span class="math">1</span> (<span class="math">0</span> par d&#233;faut) alors un angle droit est dessin&#233;.</p></li>
360 </ul>
361 <h3 id="domaine1">domaine1</h3>
362 <ul>
363 <li><p><b>domaine1( &lt;f(x)&gt; [, a, b] )</b>.</p></li>
364 <li><p><u>Description</u> : dessine la partie du plan comprise entre la courbe Cf, l&#8217;axe <span class="math"><em>O</em><em>x</em></span> et les droites <span class="math"><em>x</em>&#8196;=&#8196;<em>a</em></span>, <span class="math"><em>x</em>&#8196;=&#8196;<em>b</em></span> si a et b sont pr&#233;cis&#233;s, sinon <span class="math"><em>x</em>&#8196;=&#8196;</span><span style="font-style:italic">tMin</span> et <span class="math"><em>x</em>&#8196;=&#8196;</span><span style="font-style:italic">tMax</span>.</p></li>
365 </ul>
366 <h3 id="domaine2">domaine2</h3>
367 <ul>
368 <li><p><b>domaine2( &lt;f(x)&gt;, &lt;g(x)&gt; [, a, b] )</b>.</p></li>
369 <li><p><u>Description</u> : dessine la partie du plan comprise entre les courbes Cf, Cg et les droites <span class="math"><em>x</em>&#8196;=&#8196;<em>a</em></span>, <span class="math"><em>x</em>&#8196;=&#8196;<em>b</em></span> si a et b sont pr&#233;cis&#233;s, sinon <span class="math"><em>x</em>&#8196;=&#8196;</span><span style="font-style:italic">tMin</span> et <span class="math"><em>x</em>&#8196;=&#8196;</span><span style="font-style:italic">tMax</span>.</p></li>
370 </ul>
371 <h3 id="domaine3">domaine3</h3>
372 <ul>
373 <li><p><b>domaine3( &lt;f(x)&gt;, &lt;g(x)&gt; )</b>.</p></li>
374 <li><p><u>Description</u> : d&#233;limite la partie du plan comprise entre les courbes Cf et Cg avec <span class="math"><em>x</em></span> dans l&#8217;intervalle <span style="font-style:italic">[tMin,tMax]</span>, en recherchant les points d&#8217;intersection.</p></li>
375 </ul>
376 <blockquote>
377 <blockquote>
378 <p>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,&quot;domaine2 sur <span class="math">[&#8197;-&#8197;4 ;&#8198; &#8197;-&#8197;1.&#8198;5]</span> &quot;), Inc(A,-0.75*i), FillColor:=blue, Dcarre(A+0.25*(-1+i), A+0.25*(1+i),-1), Label(A+0.4,&quot;domaine3 entre <span class="math">2cos(<em>x</em>)</span> et <span class="math"><em>x</em><sup>2</sup></span> &quot;), Inc(A,-0.75*i), FillColor:=red, Dcarre(A+0.25*(-1+i), A+0.25*(1+i),-1), Label(A+0.4,&quot;domaine1 sur <span class="math">[1.&#8198;1 ;&#8198; 4]</span>&quot;), 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)</p>
379 </blockquote>
380 </blockquote>
381 <h3 id="Dparallel">Dparallel</h3>
382 <ul>
383 <li><p><b>Dparallel( &lt;[A, B]&gt; , &lt;C&gt; )</b>.</p></li>
384 <li><p><u>Description</u> : dessine la parall&#232;le &#224; la droite &lt;<em>[A,B]</em>&gt; passant par &lt;<em>C</em>&gt;.</p></li>
385 </ul>
386 <h3 id="Dparallelo">Dparallelo</h3>
387 <ul>
388 <li><p><b>Dparallelo( &lt;A&gt;, &lt;B&gt; , &lt;C&gt; [, rayon] )</b>.</p></li>
389 <li><p><u>Description</u> : dessine le parall&#232;logramme de sommets cons&#233;cutifs &lt;<em>A</em>&gt;, &lt;<em>B</em>&gt; et &lt;<em>C</em>&gt;. Si le param&#232;tre &lt;<em>rayon</em>&gt; est pr&#233;sent, alors les &#248;g coins&#160;de la figure seront arrondis par un arc de cercle ayant le rayon mentionn&#233;.</p></li>
390 </ul>
391 <h3 id="Dperp">Dperp</h3>
392 <ul>
393 <li><p><b>Dperp( &lt;[A, B]&gt; , &lt;C&gt; [, angle droit(0/1)] )</b>.</p></li>
394 <li><p><u>Description</u> : dessine la perpendiculaire &#224; la droite &lt;<em>[A,B]</em>&gt; passant par &lt;<em>C</em>&gt;. Si le troisi&#232;me param&#232;tre vaut <span class="math">1</span> (<span class="math">0</span> par d&#233;faut) alors un angle droit est dessin&#233;.</p></li>
395 </ul>
396 <h3 id="Dpolyreg">Dpolyreg</h3>
397 <ul>
398 <li><p><b>Dpolyreg( &lt;centre&gt; , &lt;sommet&gt;, &lt;nombre de c&#244;t&#233;s&gt; [, rayon] )</b>.</p></li>
399 <li><p><u>Description</u> : dessine le polyg&#244;ne r&#233;gulier d&#233;fini par le &lt;<em>centre</em>&gt;, un &lt;<em>sommet</em>&gt; et le &lt;<em>nb de c&#244;t&#233;s</em>&gt;. Si le param&#232;tre &lt;<em>rayon</em>&gt; est pr&#233;sent, alors les &#248;g coins&#160;de la figure seront arrondis par un arc de cercle ayant le rayon mentionn&#233;.</p></li>
400 </ul>
401 <p><div style="text-align:center">ou</div></p>
402 <ul>
403 <li><p><b>Dpolyreg( &lt;sommet1&gt;, &lt;sommet2&gt;, &lt;nombre de cot&#233;s +sens*i&gt; [, rayon] )</b>.</p></li>
404 <li><p><u>Description</u> : dessine le polyg&#244;ne r&#233;gulier d&#233;fini par deux sommets cons&#233;cutifs &lt;<em>sommet1</em>&gt; et &lt;<em>sommet2</em>&gt;, le &lt;<em>nb de c&#244;t&#233;s</em>&gt;, et le &lt;<em>sens</em>&gt; (<span class="math">1</span> pour direct et <span class="math">&#8197;-&#8197;1</span> pour indirect). Si le param&#232;tre &lt;<em>rayon</em>&gt; est pr&#233;sent, alors les &#248;g coins&#160;de la figure seront arrondis par un arc de cercle ayant le rayon mentionn&#233;.</p></li>
405 </ul>
406 <h3 id="DpqGoneReg">DpqGoneReg</h3>
407 <ul>
408 <li><p><b>DpqGoneReg( &lt;centre&gt; , &lt;sommet&gt;, &lt;[p,q]&gt; )</b>.</p></li>
409 <li><p><u>Description</u> : dessine le &lt;<em>p/q</em>&gt;-g&#244;ne r&#233;gulier d&#233;fini par le &lt;<em>centre</em>&gt; et un &lt;<em>sommet</em>&gt;.</p></li>
410 </ul>
411 <blockquote>
412 <blockquote>
413 <p>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,&quot;[7,3]&quot;), DpqGoneReg(2.5+2.5*i,2.5+0.25*i, [7,2]), Label(2.5+5*i,&quot;[7,2]&quot;), DpqGoneReg(-2.5-2.5*i,-2.5-0.25*i, [7,1]), Label(-2.5-5*i,&quot;[7,1]&quot;), DpqGoneReg(2.5-2.5*i,2.5-0.25*i, [6,2]), Label(2.5-5*i,&quot;[6,2]&quot;)</p>
414 </blockquote>
415 </blockquote>
416 <h3 id="drawSet">drawSet</h3>
417 <ul>
418 <li><p><b>drawSet( &lt;ensemble&gt; )</b>.</p></li>
419 <li><p><u>Description</u> : dessine un ensemble produit par les macros <a href="#capB">capB</a>, <a href="#cupB">cupB</a> ou <a href="#setminusB">setminusB</a>.</p></li>
420 </ul>
421 <h3 id="Drectangle">Drectangle</h3>
422 <ul>
423 <li><p><b>Drectangle( &lt;A&gt;, &lt;B&gt; , &lt;C&gt; [, rayon] )</b>.</p></li>
424 <li><p><u>Description</u> : dessine le rectangle de sommets cons&#233;cutifs &lt;<em>A</em>&gt;, &lt;<em>B</em>&gt;, le c&#244;t&#233; oppos&#233; passant par &lt;<em>C</em>&gt;. Si le param&#232;tre &lt;<em>rayon</em>&gt; est pr&#233;sent, alors les &#248;g coins&#160;de la figure seront arrondis par un arc de cercle ayant le rayon mentionn&#233;.</p></li>
425 </ul>
426 <h3 id="ellipticarc-1">ellipticArc</h3>
427 <ul>
428 <li><p><b>ellipticArc( &lt;B&gt;, &lt;A&gt;, &lt;C&gt;, &lt;RX&gt;, &lt;RY&gt;, &lt;sens(+/-1)&gt; [, inclinaison] )</b>.</p></li>
429 <li><p><u>Description</u> : dessine un arc d&#8217;ellipse de centre &lt;<em>A</em>&gt;, allant de &lt;<em>B</em>&gt; &#224; &lt;<em>C</em>&gt; de rayons &lt;<em>RX</em>&gt; et &lt;<em>RY</em>&gt;, l&#8217;axe portant le rayon &lt;<em>RX</em>&gt; ayant une certaine &lt;<em>inclinaison</em>&gt; par rapport &#224; l&#8217;horizontale, celle-ci est en degr&#233;s et vaut 0 par d&#233;faut, le param&#232;tre &lt;<em>sens</em>&gt; indique le sens de rotation, 1 pour le sens trigonom&#233;trique.</p></li>
430 </ul>
431 <h3 id="flecher">flecher</h3>
432 <ul>
433 <li><p><b>flecher( &lt;liste&gt;, &lt;pos1, ..., posN&gt; )</b>.</p></li>
434 <li><p><u>Description</u> : dessine des fl&#232;ches le long de la ligne polygonale &lt;<em>liste</em>&gt;, la position de chaque fl&#232;che (pos1, ...) est un nombre entre <span class="math">0</span> et <span class="math">1</span> (<span class="math">0</span> pour d&#233;but de la ligne et <span class="math">1</span> pour fin de ligne), les fl&#232;ches sont dessin&#233;es dans le sens de parcourt de la ligne, pour inverser une fl&#232;che on ajoute +i &#224; la position.</p></li>
435 <li><p><u>Exemple(s)</u> : <span style="color:red">flecher(Get(Cercle(0,3)), [0,0.5] )</span></p></li>
436 </ul>
437 <h3 id="GradDroite">GradDroite</h3>
438 <ul>
439 <li><p><b>GradDroite( &lt;[A, origine + i*posOrigine, etendue]&gt;, &lt;[u, unit]&gt;, &lt;hautDiv&gt;, &lt;subdiv&gt; [, poslab, orientation, num, &quot;&quot;texte&quot;&quot;, den, firstnum] )</b></p></li>
440 <li><p><u>Description</u> : gradue la droite passant par &lt;<em>A</em>&gt; et dirig&#233;e par le vecteur &lt;<em>u</em>&gt; (celui-ci n&#8217;est pas forc&#233;ment unitaire), &lt;<em>hautdiv</em>&gt; est la hauteur des graduations en cm, &lt;<em>subdiv</em>&gt; est le nombre de subdivisions par unit&#233;.</p>
441 <p>Param&#232;tres optionnels:</p>
442 <ul>
443 <li><p>&lt;<em>origin</em>&gt;: indique la graduation de l&#8217;origine &lt;<em>A</em>&gt; (0 par d&#233;faut),</p></li>
444 <li><p>&lt;<em>posOrigin</em>&gt;: indique la position du label &#224; l&#8217;origine &lt;<em>A</em>&gt;, plusieurs cas:</p>
445 <ul>
446 <li><p>&lt;<em>posOrigin</em>&gt;=0: pas de label &#224; l&#8217;origine,</p></li>
447 <li><p>&lt;<em>posOrigin</em>&gt;=1: label normal &#224; l&#8217;origine (comme les autres)</p></li>
448 <li><p>&lt;<em>posOrigin</em>&gt;=2: label &#224; l&#8217;origine d&#233;cal&#233; dans le sens du vecteur &lt;<em>u</em>&gt; (valeur par d&#233;faut),</p></li>
449 <li><p>&lt;<em>posOrigin</em>&gt;=-2: label &#224; l&#8217;origine d&#233;cal&#233; dans le sens oppos&#233; du vecteur &lt;<em>u</em>&gt;.</p></li>
450 </ul></li>
451 <li><p>&lt;<em>etendue</em>&gt;: repr&#233;sente l&#8217;intervalle des graduations sous forme complexe: <span style="font-style:italic">min+i*max</span>, le trac&#233; de l&#8217;axe sera limit&#233; &#224; cet intervalle. Si ce param&#232;tre est omis, le trac&#233; occupera la fen&#234;tre.</p></li>
452 <li><p>&lt;<em>unit</em>&gt;: indique le pas des graduations sur l&#8217;axe (1 par d&#233;faut), cette valeur doit &#234;tre positive.</p></li>
453 <li><p>&lt;<em>poslab</em>&gt; indique la position des labels par rapport &#224; l&#8217;axe, ce param&#232;tre prend les valeurs <span style="color:red">top</span> ou <span style="color:red">bottom</span>,</p></li>
454 <li><p>&lt;<em>orientation</em>&gt;: orientation des labels, la valeur <span class="math"><em>i</em></span> signifie que les labels sont orthogonaux &#224; l&#8217;axe, sinon l&#8217;orientation repr&#233;sente le <span style="font-style:italic;color:red">LabelStyle</span> (left, right, top, ...),</p></li>
455 <li><p>chaque graduation est multipli&#233;e par la fraction &lt;<em>num/den</em>&gt; (1 par d&#233;faut), ajout&#233;e &#224; &lt;<em>firstnum/den</em>&gt; (l&#8217;origine par d&#233;faut) et accompagn&#233;e du &lt;<em>&quot;texte&quot;</em>&gt; au num&#233;rateur. Pour avoir une virgule comme sp&#233;rateur d&#233;cimal au lieu du point, il faut mettre la variable <span style="font-style:italic;color:red">usecomma</span> &#224; la valeur <span class="math">1</span>. Cette macro est &#233;galement sensible aux variables <span style="font-style:italic;color:red">dollar</span> (pour ajouter ou non des $ autour des labels des graduations), et <span style="font-style:italic;color:red">nbdeci</span> qui fixe le nombre de d&#233;cimales affich&#233;es. Le nombre maximal de graduations est fix&#233; par la variable <span style="font-style:italic;color:red">maxGrad</span> qui vaut <span class="math">100</span> par d&#233;faut.</p></li>
456 </ul></li>
457 <li><p><u>Exemple(s)</u> : <span style="color:red">GradDroite([0,1+2*i],[1,0.5], xyticks, 1, bottom, i)</span>: signifie que la graduation de l&#8217;origine sera 1 avec un label d&#233;cal&#233; &#224; droite, les graduations iront de 0.5 en 0.5, les labels seront sous l&#8217;axe et orthogonaux &#224; l&#8217;axe.</p></li>
458 </ul>
459 <h3 id="LabelArc">LabelArc</h3>
460 <ul>
461 <li><p><b>LabelArc( &lt;B&gt;, &lt;A&gt;, &lt;C&gt;, &lt;R&gt;, &lt;sens&gt;, &lt;&quot;texte&quot;&gt;, [, options] )</b>.</p></li>
462 <li><p><u>Description</u> : cette macro dessine un arc de cercle de centre &lt;<em>A</em>&gt;, de rayon &lt;<em>R</em>&gt; partant de la droite <span class="math">(<em>A</em><em>B</em>)</span> jusqu&#8217;&#224; la droite <span class="math">(<em>A</em><em>C</em>)</span>, l&#8217;argument facultatif &lt;<em>sens</em>&gt; indique: le sens trigonom&#233;trique si sa valeur est 1 (valeur par d&#233;faut), le sens contraire si valeur est -1. La macro ajoute &#233;galement le &lt;<em>&quot;texte&quot;</em>&gt;. Le param&#232;tre &lt;<em>options</em>&gt; est une liste (facultative) de la forme <span style="font-style:italic">[ option1:= valeur1, ..., optionN:=valeurN ]</span>, les options sont:</p>
463 <ul>
464 <li><p><span style="color:blue">labelpos := &lt; inside/outside &gt;</span>: positionnement du label (outside par defaut)),</p></li>
465 <li><p><span style="color:blue">labelsep := &lt; distance en cm &gt;</span>: distance du label &#224; l&#8217;arc (0.25cm par d&#233;faut).</p></li>
466 <li><p><span style="color:blue">rotation := &lt; nombre &gt;</span>: angle en degr&#233;s que fait le label par rapport &#224; l&#8217;horizontale (<span class="math">0</span> par d&#233;faut).</p></li>
467 </ul>
468 <p>Il est possible dans la liste des options, de modifier des attributs comme <span style="font-style:italic;color:red">Color</span> par exemple.</p></li>
469 </ul>
470 <h3 id="LabelAxe">LabelAxe</h3>
471 <ul>
472 <li><p><b>LabelAxe( &lt;x ou y&gt;, &lt;affixe&gt;, &lt;label&gt; [, [labelPos,d&#233;calage en cm], mark(0/1)] )</b>.</p></li>
473 <li><p><u>Description</u> : permet d&#8217;ajouter un label sur un des axes &lt;<em>x ou y</em>&gt;, &lt;<em>affixe</em>&gt; d&#233;signe l&#8217;affixe du point o&#249; se fait l&#8217;ajout, &lt;<em>label</em>&gt; contient le texte &#224; ajouter. Param&#232;tres optionnels, &lt;<em>[labelPos, d&#233;calage en cm]</em>&gt; et &lt;<em>mark</em>&gt;:</p>
474 <ul>
475 <li><p>Re(&lt;<em>labelpos</em>&gt;)=1 signifie en dessous pour Ox et &#224; droite pour Oy (par d&#233;faut pour Ox),</p></li>
476 <li><p>Re(&lt;<em>labelpos</em>&gt;)=2 signifie au dessus pour Ox et &#224; gauche pour Oy (par d&#233;faut pour Oy),</p></li>
477 <li><p>Im(&lt;<em>labelpos</em>&gt;)=-1 signifie un d&#233;calage sur la gauche pour Ox, vers le bas pour Oy, si le d&#233;calage n&#8217;est pas pr&#233;cis&#233;, il vaut 0.25 cm par d&#233;faut,</p></li>
478 <li><p>Im(&lt;<em>labelpos</em>&gt;)=1 signifie un d&#233;calage sur la droite pour Ox, vers le haut pour Oy, si le d&#233;calage n&#8217;est pas pr&#233;cis&#233;, il vaut 0.25 cm par d&#233;faut,</p></li>
479 <li><p>Im(&lt;<em>labelpos</em>&gt;)=0 signifie pas de d&#233;calage (valeur par d&#233;faut),</p></li>
480 <li><p>&lt;<em>mark</em>&gt;: indique si le point doit &#234;tre marqu&#233; (dans le dotsyle courant).</p></li>
481 </ul></li>
482 </ul>
483 <h3 id="LabelDot">LabelDot</h3>
484 <ul>
485 <li><p><b>LabelDot( &lt;affixe&gt;, &lt;&quot;texte&quot;&gt;, &lt;orientation&gt; [, DrawDot, distance] )</b>.</p></li>
486 <li><p><u>Description</u> : cette macro affiche un texte &#224; cot&#233; du point &lt;<em>affixe</em>&gt;. L&#8217;orientation peut &#234;tre &quot;N&quot; pour nord, &quot;NE&quot; pour nord-est ...etc, ou bien une liste de la forme [longueur, direction] o&#249; direction est un complexe, dans ce deuxi&#232;me cas, le param&#232;tre optionnel &lt;<em>distance</em>&gt; est ignor&#233;. Le point est &#233;galement affich&#233; lorsque &lt;<em>DrawDot</em>&gt; vaut <span class="math">1</span> (0 par d&#233;faut) et on peut red&#233;finir la &lt;<em>distance</em>&gt; en cm entre le point et le texte (0.25cm par d&#233;faut).</p></li>
487 </ul>
488 <h3 id="LabelSeg">LabelSeg</h3>
489 <ul>
490 <li><p><b>LabelSeg( &lt;A&gt;, &lt;B&gt;, &lt;&quot;texte&quot;&gt;, [, options] )</b>.</p></li>
491 <li><p><u>Description</u> : cette macro dessine le segment d&#233;fini par &lt;<em>A</em>&gt; et &lt;<em>B</em>&gt;, et ajoute le &lt;<em>&quot;texte&quot;</em>&gt;. Le param&#232;tre &lt;<em>options</em>&gt; est une liste (facultative) de la forme <span style="font-style:italic">[ option1:= valeur1, ..., optionN:=valeurN ]</span>, les options sont:</p>
492 <ul>
493 <li><p><span style="color:blue">labelpos := &lt; center/top/bottom &gt;</span>: positionnement du label (center par d&#233;faut),</p></li>
494 <li><p><span style="color:blue">labelsep := &lt; distance en cm &gt;</span>: distance du label au segment lorsque labelpos vaut top ou bottom (0.25cm par d&#233;faut).</p></li>
495 <li><p><span style="color:blue">rotation := &lt; nombre &gt;</span>: angle en degr&#233;s que fait le label par rapport &#224; l&#8217;horizontale (par d&#233;faut le label est parall&#232;le au segment).</p></li>
496 </ul>
497 <p>Il est possible dans la liste des options, de modifier des attributs comme <span style="font-style:italic;color:red">Color</span> par exemple.</p></li>
498 </ul>
499 <h3 id="markangle">markangle</h3>
500 <ul>
501 <li><p><b>markangle( &lt;B&gt;, &lt;A&gt;, &lt;C&gt;, &lt;r&gt;, &lt;n&gt;, &lt;espacement&gt;, &lt;longueur&gt; )</b>.</p></li>
502 <li><p><u>Description</u> : m&#234;me chose que <a href="#markseg">markseg</a> mais pour marquer un arc de cercle.</p></li>
503 </ul>
504 <h3 id="markseg">markseg</h3>
505 <ul>
506 <li><p><b>markseg( &lt;A&gt;, &lt;B&gt;, &lt;n&gt;, &lt;espacement&gt;, &lt;longueur&gt; [, angle] )</b>.</p></li>
507 <li><p><u>Description</u> : marque le segment <span class="math">[<em>A</em>,&#8198;<em>B</em>]</span> avec &lt;<em>n</em>&gt; petits segments, l&#8217;&lt;<em>espacement</em>&gt; est en unit&#233; graphique, et la &lt;<em>longueur</em>&gt; en cm. Le param&#232;tre optionnel &lt;<em>angle</em>&gt; permet de d&#233;finir en degr&#233; l&#8217;angle que feront les marques par rapport &#224; la droite <span class="math">(<em>A</em><em>B</em>)</span> (45 degr&#233;s par d&#233;faut).</p></li>
508 </ul>
509 <h3 id="periodic">periodic</h3>
510 <ul>
511 <li><p><b>periodic( &lt;f(x)&gt;, &lt;a&gt;, &lt;b&gt; [, divisions, discontinuit&#233;s] )</b>.</p></li>
512 <li><p><u>Description</u> : trace la courbe de la fonction p&#233;riodique d&#233;finie par <span class="math"><em>y</em>&#8196;=&#8196;<em>f</em>(<em>x</em>)</span> sur la p&#233;riode <span class="math">[<em>a</em>;&#8198;<em>b</em>]</span>, puis translate le motif pour couvrir l&#8217;intervalle [tMin; tMax]. Les deux param&#232;tres optionnels sont identiques &#224; ceux des courbes param&#233;tr&#233;es (nombre de divisions et discontinuit&#233;s).</p></li>
513 </ul>
514 <blockquote>
515 <blockquote>
516 <p>view(-5,5,-5,5), size(7.5), Axes(0,1+i), Width:=8, Color:=red, periodic(if t&gt;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)</p>
517 </blockquote>
518 </blockquote>
519 <h3 id="Rarc">Rarc</h3>
520 <ul>
521 <li><p><b>Rarc( &lt;B&gt;, &lt;A&gt;, &lt;C&gt;, &lt;R&gt;, &lt;sens&gt; )</b>.</p></li>
522 <li><p><u>Description</u> : comme la macro <a href="#Arc">Arc</a> sauf que l&#8217;arc de cercle est rond m&#234;me si le rep&#232;re n&#8217;est pas orthonorm&#233;, le rayon &lt;<em>R</em>&gt; est en centim&#232;tres.</p></li>
523 </ul>
524 <h3 id="Rcercle">Rcercle</h3>
525 <ul>
526 <li><p><b>Rcercle( &lt;A&gt;, &lt;R&gt; )</b> ou <strong>Rcercle( &lt;A&gt;, &lt;B&gt;, &lt;C&gt; )</strong>.</p></li>
527 <li><p><u>Description</u> : dessine un cercle rond m&#234;me si le rep&#232;re n&#8217;est pas orthonorm&#233;. Dans la premi&#232;re forme, le rayon &lt;<em>R</em>&gt; est en centim&#232;tres.</p></li>
528 </ul>
529 <h3 id="Rellipse">Rellipse</h3>
530 <ul>
531 <li><p><b>Rellipse( &lt;O&gt;, &lt;RX&gt;, &lt;RY&gt; [, inclinaison] )</b>.</p></li>
532 <li><p><u>Description</u> : comme la commande <a href="#Ellipse">Ellipse</a> sauf que celle-ci est insensible au rep&#232;re &#233;cran, les rayons sont en centim&#232;tres.</p></li>
533 </ul>
534 <h3 id="RellipticArc">RellipticArc</h3>
535 <ul>
536 <li><p><b>RellipticArc( &lt;B&gt;, &lt;A&gt;, &lt;C&gt;, &lt;RX&gt;, &lt;RY&gt;, &lt;sens(+/-1)&gt; [, inclinaison] )</b>.</p></li>
537 <li><p><u>Description</u> : comme la macro <a href="#ellipticArc">ellipticArc</a> sauf que celle-ci est insensible au rep&#232;re &#233;cran, les rayons sont en centim&#232;tres.</p></li>
538 </ul>
539 <h3 id="RestoreWin">RestoreWin</h3>
540 <ul>
541 <li><p><b>RestoreWin()</b>.</p></li>
542 <li><p><u>Description</u> : restaure la fen&#234;tre graphique ainsi que la matrice 2D enregistr&#233;es lors du dernier appel &#224; la macro <a href="#SaveWin">SaveWin</a>.</p></li>
543 </ul>
544 <h3 id="SaveWin">SaveWin</h3>
545 <ul>
546 <li><p><b>SaveWin()</b>.</p></li>
547 <li><p><u>Description</u> : enregistre la fen&#234;tre graphique ainsi que la matrice 2D courantes, sur une pile. Cette macro va de paire avec la macro <a href="#RestoreWin">RestoreWin</a>.</p></li>
548 <li><p><u>Exemple(s)</u> : plusieurs graphiques sur un seul: voir <a href="#axeXY">cet exemple</a>.</p></li>
549 </ul>
550 <h3 id="Seg">Seg</h3>
551 <ul>
552 <li><p><b>Seg( &lt;A&gt;, &lt;B&gt; )</b>.</p></li>
553 <li><p><u>Description</u> : dessine le segment <span class="math">[<em>A</em>,&#8198;<em>B</em>]</span>.</p></li>
554 </ul>
555 <h3 id="set">set</h3>
556 <ul>
557 <li><p><b>set( &lt;nom&gt;, &lt;affixe centre&gt; [, options] )</b>.</p></li>
558 <li><p><u>Description</u> : dessine un ensemble en forme de patato&#239;de, &lt;<em>affixe centre</em>&gt; d&#233;signe le centre de cet ensemble, et le param&#232;tre &lt;<em>nom</em>&gt; est une cha&#238;ne contenant le nom de cet ensemble. Le param&#232;tre &lt;<em>options</em>&gt; est une liste (facultative) de la forme <span style="font-style:italic">[ option1:= valeur1, ..., optionN:=valeurN ]</span>, les options sont:</p>
559 <ul>
560 <li><p><span style="color:blue">scale := &lt; entier positif &gt;</span>: repr&#233;sente l&#8217;&#233;chelle (1 par d&#233;faut),</p></li>
561 <li><p><span style="color:blue">rotation := &lt; angle en degr&#233;s &gt;</span>: permettant d&#8217;incliner le dessin (0 degr&#233; par d&#233;faut),</p></li>
562 <li><p><span style="color:blue">labels := &lt; 0/1 &gt;</span>: pour afficher ou non le nom de l&#8217;ensemble.</p></li>
563 <li><p><span style="color:blue">labelsep := &lt; distance en cm &gt;</span>: distance du label au bord de l&#8217;ensemble (0.45cm par d&#233;faut)</p></li>
564 </ul>
565 <p>Il est possible dans la liste des options, de modifier des attributs comme <span style="color:red">LabelStyle</span> par exemple.</p></li>
566 <li><p>La macro renvoie en r&#233;sultat la liste des points de la courbe dessinant l&#8217;ensemble.</p></li>
567 </ul>
568 <h3 id="setB">setB</h3>
569 <ul>
570 <li><p><b>setB( &lt;nom&gt;, &lt;affixe centre&gt; [, options] )</b>.</p></li>
571 <li><p><u>Description</u> : dessine un ensemble en forme de patato&#239;de &#224; l&#8217;aide de courbes de B&#233;zier, &lt;<em>affixe centre</em>&gt; d&#233;signe le centre de cet ensemble, et le param&#232;tre &lt;<em>nom</em>&gt; est une cha&#238;ne contenant le nom de cet ensemble. Le param&#232;tre &lt;<em>options</em>&gt; est une liste (facultative) de la forme <span style="font-style:italic">[ option1:= valeur1, ..., optionN:=valeurN ]</span>, les options sont:</p>
572 <ul>
573 <li><p><span style="color:blue">scale := &lt; entier positif &gt;</span>: repr&#233;sente l&#8217;&#233;chelle (1 par d&#233;faut),</p></li>
574 <li><p><span style="color:blue">rotation := &lt; angle en degr&#233;s &gt;</span>: permettant d&#8217;incliner le dessin (0 degr&#233; par d&#233;faut),</p></li>
575 <li><p><span style="color:blue">labels := &lt; 0/1 &gt;</span>: pour afficher ou non le nom de l&#8217;ensemble.</p></li>
576 <li><p><span style="color:blue">labelsep := &lt; distance en cm &gt;</span>: distance du label au bord de l&#8217;ensemble (0.45cm par d&#233;faut)</p></li>
577 </ul>
578 <p>Il est possible dans la liste des options, de modifier des attributs comme <span style="color:red">LabelStyle</span> par exemple.</p></li>
579 <li><p>La macro renvoie en r&#233;sultat la liste des points de contr&#244;le de la courbe repr&#233;sentant l&#8217;ensemble. Cette liste peut-&#234;tre utilis&#233;e ensuite pour d&#233;terminer une intersection (voir <a href="#capB">capB</a>), une r&#233;union (voir <a href="#capB">capB</a>) ou une diff&#233;rence (voir <a href="#setminusB">setminusB</a>).</p></li>
580 </ul>
581 <h3 id="size">size</h3>
582 <ul>
583 <li><p><b>size( &lt;largeur + i*hauteur&gt; [, ratio(Xscale/Yscale)] )</b></p></li>
584 <li><p><u>Description</u> : permet de fixer les tailles du graphique: &lt;<em>largeur</em>&gt; et &lt;<em>hauteur</em>&gt; (marges incluses) en cm. Si le param&#232;tre &lt;<em>hauteur</em>&gt; est nul, alors on consid&#232;re que hauteur=largeur.</p>
585 <p>Si le param&#232;tre &lt;<em>ratio</em>&gt; est omis, les &#233;chelles sur les deux axes sont calcul&#233;es pour que la figure entre au plus juste dans le cadre fix&#233;, tout en conservant le ratio courant.</p>
586 <p>Si &lt;<em>ratio</em>&gt; est &#233;gal &#224; <span class="math">0</span> alors les &#233;chelles sont calcul&#233;es de mani&#232;re &#224; obtenir exactement la taille souhait&#233;e (le ratio courant n&#8217;est donc vraisemblablement pas conserv&#233;).</p>
587 <p>Le rep&#232;re est orthonorm&#233; lorsque le param&#232;tre &lt;<em>ratio</em>&gt; vaut 1.</p>
588 <p><strong>NB</strong>: un appel aux fonctions <span style="font-style:italic">Fenetre</span> <span style="font-style:italic">Marges</span> ou &#224; la macro <span style="font-style:italic">view</span>, modifiera la taille du graphique. Il est donc pr&#233;f&#233;rable de d&#233;terminer les marges et la fen&#234;tre graphique <strong>avant</strong> de fixer la taille.</p>
589 <p>La largeur d&#8217;un graphique est donn&#233;e par la formule:</p>
590 <p><div style="text-align:center"><span style="font-style:italic">(Xmax-Xmin)*Xscale+margeG+margeD</span></div></p>
591 <p>et la hauteur est donn&#233;e par:</p>
592 <p><div style="text-align:center"><span style="font-style:italic">(Ymax-Ymin)*Yscale+margeH+margeB</span></div></p></li>
593 </ul>
594 <h3 id="suite">suite</h3>
595 <ul>
596 <li><p><b>suite( &lt;f(x)&gt;, &lt;u0&gt;, &lt;n&gt; )</b>.</p></li>
597 <li><p><u>Description</u> : repr&#233;sentation graphique de la suite d&#233;finie par <span class="math"><em>u</em><sub><em>n</em>&#8197;+&#8197;1</sub>&#8196;=&#8196;<em>f</em>(<em>u</em><sub><em>n</em></sub>)</span>, de premier terme &lt;<em>u0</em>&gt; et jusqu&#8217;au rang &lt;<em>n</em>&gt;. Cette macro ne repr&#233;sente que les &quot;escaliers&quot;.</p></li>
598 </ul>
599 <blockquote>
600 <blockquote>
601 <p>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,&quot;<span class="math"><em>u</em><sub><em>n</em>&#8197;+&#8197;1</sub>&#8196;=&#8196;4<em>u</em><sub><em>n</em></sub>(1&#8197;-&#8197;<em>u</em><sub><em>n</em></sub>)</span>&quot;), LabelDot(u0, &quot;<span class="math"><em>u</em><sub>0</sub></span>&quot;,&quot;S&quot;,1), suite(4*x*(1-x), u0,nb)</p>
602 </blockquote>
603 </blockquote>
604 <h3 id="tangente">tangente</h3>
605 <ul>
606 <li><p><b>tangente( &lt;f(x)&gt;, &lt;x0&gt; [, longueur] )</b>.</p></li>
607 <li><p><u>Description</u> : trace la tangente &#224; la courbe cart&#233;sienne <span class="math"><em>y</em>&#8196;=&#8196;<em>f</em>(<em>x</em>)</span> au point d&#8217;abscisse &lt;<em>x0</em>&gt;, on trace un segment de la &lt;<em>longueur</em>&gt; indiqu&#233;e (en cm) ou la droite enti&#232;re si la longueur est omise.</p></li>
608 </ul>
609 <h3 id="tangenteP">tangenteP</h3>
610 <ul>
611 <li><p><b>tangenteP( &lt;f(t)&gt;, &lt;t0&gt; [,longueur] )</b>.</p></li>
612 <li><p><u>Description</u> : trace la tangente &#224; la courbe param&#233;tr&#233;e par &lt;<em>f(t)</em>&gt; au point de param&#232;tre &lt;<em>t0</em>&gt;, on trace un segment de la &lt;<em>longueur</em>&gt; indiqu&#233;e (en cm) ou la droite enti&#232;re si la longueur est omise.</p></li>
613 </ul>
614 <h3 id="view">view</h3>
615 <ul>
616 <li><p><b>view( &lt;xmin&gt;, &lt;xmax&gt;, &lt;ymin&gt;, &lt;ymax&gt; )</b> ou <strong>view( &lt;[xmin+i*ymin, xmax+i*ymax]&gt; )</strong></p></li>
617 <li><p><u>Description</u> : change la fen&#234;tre graphique courante et conserve l&#8217;&#233;chelle. Attention: ceci change la taille du graphique, celle-ci peut-&#234;tre modifi&#233;e avec la macro <a href="#size">size</a>.</p></li>
618 <li><p><u>Exemple(s)</u> : dans un &#233;l&#233;ment graphique utilisateur, la commande <span style="color:red">[ view(-4, 4,-3, 3), size(12) ]</span> va fixer la fen&#234;tre graphique &#224; <span class="math">[&#8197;-&#8197;4,&#8198;4]&#8197;&#215;&#8197;[&#8197;-&#8197;3,&#8198;3]</span>, et la taille du graphique &#224; 12cm en conservant le ratio courant. Il est important de respecter l&#8217;ordre (view avant size).</p></li>
619 </ul>
620 <h3 id="wedge">wedge</h3>
621 <ul>
622 <li><p><b>wedge( &lt;B&gt;, &lt;A&gt;, &lt;C&gt;, &lt;r&gt; )</b></p></li>
623 <li><p><u>Description</u> : dessine le secteur angulaire d&#233;fini par l&#8217;angle <span class="math">$\widehat{BAC}$</span> avec un rayon &lt;<em>r</em>&gt;.</p></li>
624 </ul>
625 <h3 id="zoom">zoom</h3>
626 <ul>
627 <li><p><b>zoom( &lt;+/-1&gt; )</b></p></li>
628 <li><p><u>Description</u> : permet de faire un zoom arri&#232;re/avant.</p></li>
629 </ul>
630 <div class="footnotes">
631 <hr />
632 <ol>
633 <li id="fn1"><p>Option <span style="font-style:italic">El&#233;ment graphique/Cr&#233;er/Utilisateur</span> du menu. <a href="#fnref1" class="footnoteBackLink" title="Jump back to footnote 1">&#8617;</a></p></li>
634 </ol>
635 </div>

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.