Invitation à PGF-TikZ. · 2017. 9. 1. · Invitation à PGF-TikZ. Guy LAVILLE Université de Caen...

15
K

Transcript of Invitation à PGF-TikZ. · 2017. 9. 1. · Invitation à PGF-TikZ. Guy LAVILLE Université de Caen...

  • Invitation à PGF-TikZ.

    Guy LAVILLE

    Université de Caen

    LMNO

    31 mai 2016

    Résumé

    P�e�t�i�t�e p�r�és��e�n�t�a�t�i�o�n� �d�e �d�es�s��i�ns �e�n� �l�i�g�n�e �d�a�ns �l�e �c�o�d�e LATEX : �u�t�i�l�is��a�t�i�o�n� �d�ePGF-T�i�k�z. L'�a�u�t�e�u�r� �d�e �c�e �d�o�c�u�m�e�n�t �n�'�es��t �q��u�'�u�n� s��i�mp�l�e �u�t�i�l�is��a�t�e�u�r� s��t�a�n�d�a�r�d�.N'�o�u�b�l�i�e�z p�as �d�e p�r�e�n�d�r�e �d�'�a�b�o�r�d� �u�n�e �b�o�n�n�e K �a�v�a�n�t �v�o�t�r�e �l�e�c�t�u�r�e !

    Table des matières

    1 Introduction. 3

    2 Droites, cercles. 3

    3 Graphe et formule. 4

    4 Quelques calculs. 4

    4.1 Triangle : médianes, médiatrices, hauteurs, Euler. . . . . . . . . . . . . . . . 44.2 Triangle : bissectrices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    5 Courbes. 9

    5.1 Axes de coordonnées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95.2 Tracé de courbes en paramétriques. . . . . . . . . . . . . . . . . . . . . . . . 95.3 Courbe à points de contrôle. . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    6 Importation d'une image. 11

    6.1 Le château d'Azay le Rideau. . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    7 Importation d'image dans tikz. 11

    7.1 Le potager de Villandry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127.2 Commentaire dans une image. . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    1

  • TABLE DES FIGURES 2

    8 Figures de l'exposé intégrales divergentes. 14

    Table des �gures

    1 Segments et légendes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Formule dans une �gure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Droite et cercle d'Euler. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Bissectrices, cercle inscrit et cercle d'Euler. . . . . . . . . . . . . . . . . . . 75 Axes et couleurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Intersections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 foreach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Variations de courbures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Azay le Rideau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1210 Le potager de Villandry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1311 Examen oral. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312 Contour d'intégration, ξ > 0. . . . . . . . . . . . . . . . . . . . . . . . . . . 1413 Encadrement de sin(θ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

  • 1 INTRODUCTION. 3

    1 Introduction.

    Mettre le code des dessins dans le code LATEX lui même présente des avantages.

    1. modi�cation des codes simultanément

    2. manipulation des �gures

    3. fontes LATEX dans les dessins

    4. si on change la taille du dessin, on ne veut pas changer, en général, la taille des textesdans ce dessin

    Nous utiliserons ici, Tikz et PGF de TillTantau. Le manuel de base est [1]Attention dans le préambule, pour les dessins :

    %Dessins

    \usepackage{graphicx}

    \usepackage{tikz,pgfplots}

    % caption ne fonctionne que pour les flottants:

    \makeatletter

    \def\captionof#1#2{{\def\@captype{#1}#2}}

    \makeatother

    \usetikzlibrary{calc} % calculs avec tikz

    \usetikzlibrary{intersections,through}

    \usetikzlibrary{quotes,angles}

    \usetikzlibrary{shapes.callouts}

    \pgfplotsset{compat=1.6} % pour éviter les pb de versions

    Pour la tasse de café :

    \usepackage{marvosym}

    2 Droites, cercles.

    Un petit cercle et une petite el-

    lipse dans le texte.

    γ

    β

    α

    ϕ ψ

    origine•

    Figure 1 � Segments et légendes.

    Un petit cercle \tikz{\draw (0,0) circle (0.3);}

    et une petite ellipse \tikz{\draw[red,thick] (0,0)

    ellipse (0.4 and 0.2) ;} dans le texte.

    \begin{tikzpicture}

    \draw (0,1) -- (4,1) node[below]{$\gamma$}

    (0,1.5) -- (4,1.5) node[right]{$\beta$}

    (0,2.5)-- (4,2.5) node[above]{$\alpha$} ;

    \draw[red] (0,0) -- (1.5,3.5) node[above left]

    {$\varphi$}

    (4,0) -- (2.5,3.5)node[above right]{$\psi$};

    \node at (0,0){origine}; %le mot est centré en (0,0)

    \node at (0,0){$\bullet$} ;

    \end{tikzpicture}

    \captionof{figure}{\caption{Segments et légendes.}}

  • 3 GRAPHE ET FORMULE. 4

    3 Graphe et formule.

    ∫ 21

    1x dx

    hyperbole

    A

    B

    C

    D

    Figure 2 � Formule dans

    une �gure.

    \begin{tikzpicture}[scale=2]

    \fill[color=green]

    (1,0) -- (1,1) % segment de A à B

    -- plot [domain=1:2] (\x,1/\x) % courbe de B à C

    -- (2,0) -- cycle; % C à D puis A

    \draw[line width=2pt,->] (0,0)--(2.5,0);

    \draw[line width=2pt,->] (0,0)--(0,3);

    \draw[line width=2pt] plot [domain=0.35:2.5] (\x,1/\x);

    \draw (1,0.3) node[right]{$\int_1^2 \frac{1}{x}\; dx$};

    \draw (1.6,0.8) node[left,scale=1.2,rotate=-45]

    {hyperbole} ;

    \node[below] at (1,0) {$A$} ;

    \node[left] at (1,1) {$B$};

    \node at (2,0.6) {$C$};

    \node[below] at (2,0) {$D$};

    \end{tikzpicture}

    \captionof{figure}{\caption{Formule dans une figure.}}

    4 Quelques calculs.

    Attention à charger les bonnes librairies.

    4.1 Triangle : médianes, médiatrices, hauteurs, Euler.

    % Données numériques:

    % Coordonnées de A, B, C

    \def\Ax{0.5} \def\Ay{1}

    \def\Bx{-2} \def\By{-1.2}

    \def\Cx{2} \def\Cy{-1.2}

    %longueur de construction

    \def\d{2}

    %marquage orthogonalité

    \def\orth{0.07}

  • 4 QUELQUES CALCULS. 5

    A

    B C

    Cm

    Am

    Bm

    / /

    •G

    O•

    Ah

    BhCh

    H•

    E •

    Figure 3 � Droite et cercle d'Euler.

    \begin{center}

    \begin{tikzpicture}[scale=2] \label{triangleeuler}

    % le triangle -------------

    \coordinate[label=above:${\color{red}A}$](A) at (\Ax,\Ay);

    \coordinate[label=left:${\color{red}B}$](B) at (\Bx,\By);

    \coordinate[label=right:${\color{red}C}$](C) at (\Cx,\Cy);

    \draw[name path=triangle,line width=2pt,red] (A)--(B)--(C)-- cycle ; % sinon, il boucle

    %les médianes------------------------

    \coordinate (Cm) at ($1/2*(A)+1/2*(B)$);

    \draw[magenta] (C)--(Cm) node[above left]{$C_m$} ;

    \coordinate (Am) at ($1/2*(B)+1/2*(C)$);%calcul du milieu

    \draw[magenta] (A)--(Am) node[below]{$A_m$} ;

    \coordinate (Bm) at ($(C)!0.5!(A)$); %autre façon de calculer le milieu

    \draw[magenta] (B)--(Bm)node[right]{$B_m$} ;

    %signe de milieu

    \node[magenta] at ($(B)!0.25!(C)$){$/$} ;

    \node[magenta] at ($(B)!0.75!(C)$){$/$} ;

    %centre de gravité-----------------------

    \coordinate (G) at (barycentric cs:A=1,B=1 ,C=1);

    \node at (G){{\color{magenta}$\bullet$}};

    \node[above left] at (G){{\color{magenta}$G$}};

    %calculs d'un point virtuel sur les médiatrices----

    \coordinate (AM) at ($(Am)!\d!90:(C)$);

  • 4 QUELQUES CALCULS. 6

    \coordinate (BM) at ($(Bm)!\d!90:(A)$);

    \coordinate (CM) at ($(Cm)!\d!90:(B)$);

    %cercle circonscrit-------------------------

    \coordinate(O)at(intersection of Am--AM and Cm--CM);

    \node[left] at (O){$O$};

    \node[draw,circle through=(A)]at(O){$\bullet$};

    %tracé des médiatrices------------------

    \draw (Am)--(O);

    \draw (Bm)--(O);

    \draw (Cm)--(O);

    %tracé des hauteurs---------

    %Première méthode; calcul d'un point virtuel sur les hauteur

    \coordinate (Ahh) at ($(A)+(Am)-(O)$); %point+vecteur

    \coordinate(Ah) at (intersection of B--C and A--Ahh);

    \draw (A)--(Ah) node[below]{$A_h$} ;

    %signe d'orthogonalité en Ah

    \coordinate (Ahr)at ($(Ah)!\orth!(C)$);

    \coordinate (Aha)at ($(Ah)!\orth!(A)$);

    \draw (Aha)-|(Ahr) ;

    %Deuxième méthode, projection orthogonale de C sur AB

    \coordinate(Bh) at ($(C)!(B)!(A)$);

    \draw (B)--(Bh) node[right]{$B_h$} ;

    %Deuxième méthode, projection orthogonale de C sur AB

    \coordinate(Ch) at ($(A)!(C)!(B)$);

    \draw (C)--(Ch) node[left]{$C_h$} ;

    \coordinate (H) at (intersection of A--Ah and B--Bh);

    \node[right]at (H){$H$}; %orthocentre

    \node at (H) {$\bullet$};

    % alignement

    \draw (O)--(H) ;

    %centre du cercle d'Euler

    \coordinate (E) at (barycentric cs:A=0,G=-3,O=1) ;

    \node[above left] at (E) {{\color{MidnightBlue}$E$}} ;

    \node[draw,MidnightBlue,circle through=(Am)]at(E){{\color{MidnightBlue}$\bullet$}};

    \end{tikzpicture}

    \captionof{figure}{\caption{Droite et cercle d'Euler.}}

    \end{center}

  • 4 QUELQUES CALCULS. 7

    4.2 Triangle : bissectrices.

    A

    B C

    BbCb

    Ab

    I

    IA

    IBIC

    •E •

    β

    β

    Figure 4 � Bissectrices, cercle inscrit et cercle d'Euler.

    \begin{tikzpicture}[scale=2]

    % le triangle---------------------

    \coordinate[label=above:$A$](A) at (\Ax,\Ay);

    \coordinate[label=left:$B$](B) at (\Bx,\By);

    \coordinate[label=right:$C$](C) at (\Cx,\Cy);

    \draw[name path=triangle,line width=2pt,red] (A)--(B)--(C)-- cycle ; % sinon, il boucle

    %bissectrices-----------------------------------------

    %cercle virtuel de centre B

    \path[name path=cB] (B) circle (2);

    %intersection cercle côtés

    \path [name intersections={of = cB and triangle, by={a,b}}];

    %milieu de la base du triangle isocèle

    \coordinate (Bbb) at ($1/2*(a)+1/2*(b)$);

  • 4 QUELQUES CALCULS. 8

    %pied de la bissectrice

    \coordinate (Bb) at (intersection of B--Bbb and A--C);

    \draw[OliveGreen] (B)--(Bb) node[right]{$B_b$};

    %cercle virtuel de centre C

    \path[name path=cC] (C) circle (2);

    %intersection cercle côtés

    \path [name intersections={of = cC and triangle, by={c,d}}];

    %milieu de la base du triangle isocèle

    \coordinate (Cbb) at ($1/2*(c)+1/2*(d)$);

    %pied de la bissectrice

    \coordinate (Cb) at (intersection of C--Cbb and B--A);

    \draw[OliveGreen] (C)--(Cb) node[left]{$C_b$};

    %cercle virtuel de centre A

    \path[name path=cA] (A) circle (2);

    %intersection cercle côtés

    \path [name intersections={of = cA and triangle, by={e,f}}];

    %milieu de la base du triangle isocèle

    \coordinate (Abb) at ($1/2*(e)+1/2*(f)$);

    %pied de la bissectrice

    \coordinate (Ab) at (intersection of A--Abb and C--B);

    \draw[OliveGreen] (A)--(Ab) node[below]{$A_b$};

    %cercle circonscrit--------------------------------

    %centre

    \coordinate (I) at (intersection of B--Bb and C--Cb);

    \node[above right] at (I) {$I$};

    \coordinate[label=below right:$I_A$](I_A) at ($(B)!(I)!(C)$);

    \draw (I)--(I_A) ;

    \coordinate[label=above right:$I_B$](I_B) at ($(C)!(I)!(A)$);

    \draw (I)--(I_B) ;

    \coordinate[label=above left:$I_C$](I_C) at ($(A)!(I)!(B)$);

    \draw (I)--(I_C) ;

    \node[draw,circle through=(I_A)]at(I){{\color{green} $\bullet$}};

    %cercle d'Euler tangent au cercle inscrit

    \node[above left] at (E) {{\color{MidnightBlue}$E$}} ;

    \node[draw,MidnightBlue,circle through=(Am)]at(E){{\color{MidnightBlue}$\bullet$}};

    %marquage égalité angles

    \draw pic["$\beta$", draw=OliveGreen, , angle eccentricity=1.3, angle radius=1.2cm]

    {angle=I--B--A}; %les angles sont orinetés

    \draw pic["$\beta$", draw=OliveGreen, , angle eccentricity=1.3, angle radius=1.2cm]

    {angle=C--B--I};

    \end{tikzpicture}

    \captionof{figure}{\caption{Bissectrices, cercle inscrit et cercle d'Euler.}}

  • 5 COURBES. 9

    5 Courbes.

    5.1 Axes de coordonnées.

    Nous pouvons les faire soit avec des segments terminés par des �èches, soit en utilisantaxis.

    −3 −2 −1 1 2 3x

    y

    Exemple axes

    0

    0.2

    0.4

    0.6

    0.8

    1

    Figure 5 � Axes et couleurs.

    \begin{tikzpicture}[scale=0.7]

    \begin{axis}[title={Exemple axes},

    xmin=-5,xmax=5,ymin=-5,ymax=5,

    axis lines = middle,xlabel=$x$,ylabel=$y$,

    xtick={-3,-2,...,3},yticklabel=\empty,

    minor tick num=1,colorbar,];

    \end{axis}

    \end{tikzpicture}

    \captionof{figure}{\caption{Axes et couleurs.}}

    5.2 Tracé de courbes en paramétriques.

    x

    y

    A B CD

    Figure 6 � Intersections.

    \begin{tikzpicture}

    \draw[->] (-0.1,0) -- (5.5,0) node[right] {$x$};

    \draw[->] (0,-2.5) -- (0,2.5) node[above] {$y$};

    \draw[name path=line] (0,0.2)--(5,0.5);

    \draw[name path=sin,scale=0.5,domain=0:10,

    smooth,variable=\x,blue]

    plot (\x,{sin(\x r)*sqrt(\x)});% degrés par défaut

    \draw[scale=0.5,domain=-3:3,smooth,variable=\t,red]

    plot (\t*\t,\t);

    \path [name intersections={of=sin and

    line,by={A,B,C,D}}];

    \node at (A) {A} ;

    \node at (B) {B} ;

    \node at (C) {C} ;

    \node at (D) {D} ;

    \end{tikzpicture}

    \captionof{figure}{\caption{Intersections.}}

  • 5 COURBES. 10

    x

    y

    ••

    •••

    Figure 7 � foreach.

    \begin{tikzpicture}[scale=0.5]

    \draw[blue,samples=300,domain=-4.5:4.5,variable=\t]

    plot (\t^2 r:\t); %forcer les radians

    \draw[->] (-4.5,0) -- (4.5,0) node[right] {$x$};

    \draw[->] (0,-4.5) -- (0,4.5) node[above] {$y$};

    \foreach \n in {1,5,9}

    {\node at (0,{sqrt(\n*pi/2)}) {$\bullet$};};

    \foreach \n in {3,7,11}

    {\node at (0,{-sqrt(\n*pi/2)}) {$\bullet$};};

    \end{tikzpicture}

    \captionof{figure}{\caption{foreach.}}

    5.3 Courbe à points de contrôle.

    Tige plus ou moins rigide passant par quatre points.

    A

    BC

    D

    Figure 8 � Variations de courbures.

    \begin{tikzpicture}

    \draw[->] (-2.5,0)--(2.5,0);

    \draw[->] (0,-2.5)--(0,2.5);

    \coordinate[label=above:${\color{red}A}$](A) at (0.5,1);

    \coordinate[label=left:${\color{red}B}$](B) at (-2,-1.2);

    \coordinate[label=below right:${\color{red}C}$](C) at (2,-1.2);

    \coordinate[label=left:${\color{red}D}$] (D) at (0.5,-0.3);

    \draw[thick,red] plot[smooth, tension=2] coordinates {(A) (B) (C) (D)};

    \draw[thick,blue] plot[smooth, tension=.3] coordinates {(A) (B) (C) (D)};

    \draw[thick] (A) ..controls(B) and (C)..(D) ;%Bézier

    \end{tikzpicture}

    \captionof{figure}{\caption{Variations de courbures.}}

  • 6 IMPORTATION D'UNE IMAGE. 11

    6 Importation d'une image.

    6.1 Le château d'Azay le Rideau.

    Il faut indiquer le chemin pour que latex trouve l'image. Ici l'image est dans le dossier du�chier .tex. Code :

    \begin{center}

    \includegraphics[scale=0.5]{AzayLeRideau}

    \end{center}

    7 Importation d'image dans tikz.

    Nous pouvons écrire ou dessiner sur une image.Par exemple, commenter un image.

  • 7 IMPORTATION D'IMAGE DANS TIKZ. 12

    haut combleslucarnes passantes poivrière

    e�et miroir

    Figure 9 � Azay le Rideau.Importer d'abord l'image, mettre une grille de repérage, faire les tracés, enlever la grille.

    \begin{tikzpicture}

    \node at (0,0) {\includegraphics[scale=0.4]{AzayLeRideau}};

    %\draw[help lines,thick,black] (-6,-6) grid (6,6);

    %\node at (0,0){$\bullet$};

    \draw[

  • 7 IMPORTATION D'IMAGE DANS TIKZ. 13

    Figure 10 � Le potager de Villandry.

    7.2 Commentaire dans une image.

    ∫ ∞0

    sin(x2)dx = ? limA→+∞

    ∫ A0

    sin(x2)dx =1

    2

    √π

    2

    Résidus!

    Figure 11 � Examen oral.

    \begin{tikzpicture}

    \node at (0,0) {\includegraphics[scale=0.8]{LuckyLukeCollinesNoires}};

    %\node at (0,0){$\bullet$};

    %\draw[help lines,thick,black] (-6,-6) grid (6,6);

    \node[right] at (-5.2,2.2){$\displaystyle \int_0^\infty \sin(x^2) dx=$?};

    \node[right] at (-0.5,2.3){$\displaystyle \lim_{A\rightarrow+\infty}

  • 8 FIGURES DE L'EXPOSÉ INTÉGRALES DIVERGENTES. 14

    \int_0^A \sin(x^2) dx=\frac{1}{2}\sqrt{\frac{\pi}{2}}$} ;

    \node [draw,rectangle callout, fill=white,callout relative pointer={(-0.4,-1)}]

    at (-4.7,0.5) {Résidus!}; %ajout d'un phylactère

    \end{tikzpicture}

    D'après Morris et Goscinny, Lucky Luke, les collines noires ed. Dupuis.

    8 Figures de l'exposé intégrales divergentes.

    Le code suivant est très critiquable. Le dessin ne dépend que de trois paramètres réels :R, a, �, et aussi de la prolongation des axes. Il ne faut donc n'introduire que ces 4

    paramètres au début. Je laisse le code tel que je l'avais écrit.

    γ1

    −R Rγ2

    γ3

    a− ε a+ εγ4•

    Figure 12 � Contour d'intégration, ξ >0.

    \begin{tikzpicture}[scale=1.1]

    \draw (-3,0) -- (3,0);

    \draw[red,thick,fill=yellow,->]

    (2.5,0) arc(0:180:2.5);

    \draw(2,2) node{$\gamma_1$};

    \draw(-2.5,-0.2) node{$-R$};

    \draw(2.5,-0.2) node{$R$};

    \draw[red,thick,->] (-2.5,0)--(1-0.2,0);

    \draw(-0.4,0.2) node{$\gamma_2$};

    \draw[red,thick,fill=white,] (1.5,0)--(2.5,0);

    \draw(2,0.2) node{$\gamma_4$};

    \draw (1.25-0.1,0) node {$\bullet$};

    \draw (0,-1) -- (0,3);

    \end{tikzpicture}

    \captionof{figure}{\caption

    {Contour d'intégration, $\xi>0$.}}

  • RÉFÉRENCES 15

    θ

    2θ/π

    Figure 13 � Encadrement de

    sin(θ).

    \begin{tikzpicture}[scale=1.5]

    \clip (-0.1,-0.1) rectangle (2.3,2.3);

    \draw[thick,->] (0,0) -- (2,0);

    \draw[thick,->] (0,0) -- (0,1.7);

    \draw [red,thick,domain=0:2]

    plot(\x,{sin(\x r)});

    \draw [thick,domain=0:1.5] plot(\x,\x)

    node[above]{$\theta$} ;

    \draw [thick,domain=0:1.7] plot(\x,2*\x/pi)

    node[above right]{$2\theta/\pi$} ;

    \end{tikzpicture}

    Références

    [1] http://www.texample.net/media/pgf/builds/pgfmanualCVS2012-11-04.pdf

    http://www.texample.net/media/pgf/builds/pgfmanualCVS2012-11-04.pdf

    Introduction.Droites, cercles.Graphe et formule.Quelques calculs.Triangle: médianes, médiatrices, hauteurs, Euler.Triangle: bissectrices.

    Courbes.Axes de coordonnées.Tracé de courbes en paramétriques.Courbe à points de contrôle.

    Importation d'une image.Le château d'Azay le Rideau.

    Importation d'image dans tikz.Le potager de Villandry.Commentaire dans une image.

    Figures de l'exposé intégrales divergentes.