summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tkz/tkz-fct/doc/latex/TKZdoc-fct-fppgf.tex
blob: 531287c400d898173952557072f415991b681870 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
\section{Utilisation  \tkzname{pgfmath} et de \tkzname{fp.sty} }
%--------------------------------------------------------------------------->
\subsection{\tkzname{pgfmath}}

On peut faire maintenant beaucoup de tracés sans Gnuplot, voici à titre d'exemple et d'après une idée d'Herbert Voss (le membre le plus actif de la communauté Pstricks) un exemple de courbes obtenues avec seulement Tikz.

\begin{center}
\begin{tkzexample}[]
\begin{tikzpicture}
  \def\Asmall{0.7 } \def\Abig{3 } \def\B{20}%Herbert Voss
  \path[fill=blue!40!black,domain=-pi:pi,samples=500,smooth,variable=\t]%
          plot({\Abig*cos(\t r)+\Asmall*cos(\B*\t r)},%
               {0.5*\Abig*sin(\t r)+0.5*\Asmall*sin(\B*\t r)});
  \def\Asmall{0.7 } \def\Abig{3 } \def\B{10}
  \path[shift={(1,1)},fill=blue!40!black,%
        domain=-pi:pi,samples=500,smooth,variable=\t]%
        plot({\Abig*cos(\t r)+\Asmall*cos(\B*\t r)},%
             {0.5*\Abig*sin(\t r)+0.5*\Asmall*sin(\B*\t r)});
\end{tikzpicture}
\end{tkzexample}
\end{center}

\subsection{\tkzname{fp.sty}}

Le principal problème  de \tkzname{fp.sty} se produit lors de l'évaluation par exemple de $(-4)^2$ ce qui peut se traduire avec fp par~: 

\begin{tkzltxexample}[]
\begin{tikzpicture}
   \FPeval\result{(-4)^2}
\end{tikzpicture}
\end{tkzltxexample} 

ce qui donne une erreur car fp utilise les logarithmes pour faire cette évaluation. \tkzname{tkz-fct.sty} modifie la macro \tkzcname{FP@pow} pour éviter cette erreur

 Pour calculer les pentes des tangentes et pour placer des points sur les courbes, mon module traduit l'expression donnée pour Gnuplot et la stocke dans une commande \tkzcname{tkzFcta}, pour être utilisée ensuite avec les macros \tkzcname{tkzDefPointByFct}\ et \tkzcname{tkzDrawTangentLine}.
% 

mais si vous voulez placer un point de ce graphe ayant pour abscisse $x=2$, il est alors préférable de choisir la première méthode.

Sinon pour une fonction polynômiale, il sera nécessaire pour utiliser les macros relatives aux images et aux tangentes de mettre le polynôme sous la forme d'Horner.
Ainsi avec \tkzcname{tkzFct}, l'argument $x^4-2x^3+4x-5$ peut être écrit : |-5+x*(0.5+4*x*(x*(-2+x*1)))|.

Voici ce qu'il faut donc faire :

\begin{center}
\begin{tkzexample}[]
\begin{tikzpicture}
 \tkzInit[xmin=-0.2,xmax=0.2,xstep=.1,
          ymin=-12,ymax=6,ystep=2]
 \tkzGrid
 \tkzAxeXY 
 \tkzFct[domain = -.1:.2]%
 {-5+x*(0.5+4*x*(x*(-2+x*1)))}
\end{tikzpicture}
\end{tkzexample}
\end{center} 

\endinput