diff options
Diffstat (limited to 'graphics/pgf/contrib/tkz-grapheur/doc/tkz-grapheur-doc-fr.tex')
-rw-r--r-- | graphics/pgf/contrib/tkz-grapheur/doc/tkz-grapheur-doc-fr.tex | 1810 |
1 files changed, 1810 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/tkz-grapheur/doc/tkz-grapheur-doc-fr.tex b/graphics/pgf/contrib/tkz-grapheur/doc/tkz-grapheur-doc-fr.tex new file mode 100644 index 0000000000..9ea6b13200 --- /dev/null +++ b/graphics/pgf/contrib/tkz-grapheur/doc/tkz-grapheur-doc-fr.tex @@ -0,0 +1,1810 @@ +% !TeX TXS-program:compile = txs:///arara +% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} +% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') + +\documentclass[11pt,a4paper]{ltxdoc} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{tkz-grapheur} +\usepackage{amsmath} +\usepackage{fancyvrb} +\usepackage{fancyhdr} +\usepackage{hyperref} +\usepackage{nicefrac} +\usepackage{fontawesome5} +\usepackage{tcolorbox} +\tcbuselibrary{skins,minted} +\fancyhf{} +\renewcommand{\headrulewidth}{0pt} +\lfoot{\sffamily\small [tkz-grapheur]} +\rfoot{\sffamily\small - \thepage{} -} +\usepackage{hologo} +\providecommand\tikzlogo{Ti\textit{k}Z} +\providecommand\TeXLive{\TeX{}Live\xspace} +\providecommand\PSTricks{\textsf{PSTricks}\xspace} +\let\pstricks\PSTricks +\let\TikZ\tikzlogo + +\urlstyle{same} +\hypersetup{pdfborder=0 0 0} +\usepackage[margin=2cm]{geometry} +\setlength{\parindent}{0pt} +\def\TPversion{0.1.5} +\def\TPdate{22/06/2024} +\usepackage{soul} +\usepackage{codehigh} +\usepackage{tabularray} +\sethlcolor{lightgray!25} +\NewDocumentCommand\MontreCode{ m }{% + \hl{\vphantom{\texttt{pf}}\texttt{#1}}% +} +\usepackage[french]{babel} + +\renewcommand{\footnoterule}{\vfill\kern -3pt \hrule width 0.4\columnwidth \kern 2.6pt} + +\begin{document} + +\pagestyle{fancy} + +\thispagestyle{empty} + +\begin{center} + \begin{minipage}{0.88\linewidth} + \begin{tcolorbox}[colframe=yellow,colback=yellow!15] + \begin{center} + \begin{tabular}{c} + {\Huge \texttt{tkz-grapheur [fr]}}\\ + \\ + {\LARGE Un système de grapheur,}\\ + \\ + {\LARGE basé sur \textsf{\TikZ} et \textsf{xint}.}\\ + \\ + {\small \texttt{Version \TPversion{} -- \TPdate}} + \end{tabular} + \end{center} + \end{tcolorbox} +\end{minipage} +\end{center} + +\begin{center} + \begin{tabular}{c} + \texttt{Cédric Pierquet}\\ + {\ttfamily c pierquet -- at -- outlook . fr}\\ + \texttt{\url{https://forge.apps.education.fr/pierquetcedric/package-latex-tkz-grapheur}} \\ +\end{tabular} +\end{center} + +\hrule + +\vfill + +\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5,halign=center] +\begin{GraphiqueTikz}[x=0.85cm,y=0.35cm,Xmin=0,Xmax=10,Ymin=0,Ymax=16] + %préparation de la fenêtre + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]{0,1,...,10}{0,2,...,16} + %déf des fonctions avec nom courbe + nom fonction + expression + \DefinirCourbe[Nom=cf]<f>{3*x-6} + \DefinirCourbe[Nom=cg]<g>{-(x-6)^2+12} + %antécédents et intersection + \TrouverIntersections[Aff=false,Nom=K]{cf}{cg} + \TrouverAntecedents[AffDroite,Couleur=orange,Nom=I]{cg}{8} + \TrouverAntecedents[Aff=false,Nom=J]{cg}{0} + %intégrale sous une courbe, avec intersection + \TracerIntegrale% + [Couleurs=blue/purple,Bornes=noeuds,Style=hachures,Hachures=bricks]% + {g(x)}% + {(I-2)}{(J-2)} + %intégrale entre les deux courbes + \TracerIntegrale[Bornes=noeuds,Type=fct/fct]{f(x)}[g(x)]{(K-1)}{(K-2)} + %tracé des courbes et des points + \TracerCourbe[Couleur=red]{f(x)} + \TracerCourbe[Couleur=teal]{g(x)} + \PlacerPoints<\small>{(K-1)/below right/L,(K-2)/above left/M}% + \PlacerPoints[violet]<\small>{(I-1)/above left/D,(I-2)/above right/E}% + %essai de tangente + \TracerTangente[Couleurs=pink!75!black/yellow,kl=2,kr=2,AffPoint]{g}{5} + %essai d'image + \PlacerImages[Couleurs=cyan]{g}{7,7.25,7.5} + %surimpression des axes + \TracerAxesGrilles[Grads=false,Grille=false,Elargir=2.5mm]{0,1,...,10}{0,2,...,16} +\end{GraphiqueTikz} +\end{tcolorbox} + +\vspace*{5mm} + +\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5,halign=center] +\begin{GraphiqueTikz}% + [x=3.5cm,y=4cm, + Xmin=0,Xmax=3.5,Xgrille=pi/12,Xgrilles=pi/24, + Ymin=-1.05,Ymax=1.05,Ygrille=0.2,Ygrilles=0.05] + %préparation de la fenêtre + \TracerAxesGrilles[Grads=false,Elargir=2.5mm,Format=ntrig/nsqrt]% + {pi/6,pi/4,pi/3,pi/2,2*pi/3,3*pi/4,5*pi/6,pi} + {0,sqrt(2)/2,1/2,sqrt(3)/2,1,-1,-sqrt(3)/2,-1/2,-sqrt(2)/2} + %rajouter des valeurs + \RajouterValeursAxeX{0.25,1.4,3.3}{\num{0.25},\num{1.4},\num{3.3}} + %fonction trigo (déf + tracé) + \DefinirCourbe[Nom=ccos,Debut=0,Fin=pi]<fcos>{cos(x)} + \DefinirCourbe[Nom=csin,Debut=0,Fin=pi]<fsin>{sin(x)} + %intégrale + \TrouverIntersections[Aff=false,Nom=JKL]{ccos}{csin} + %\DefinirPts{FIN/pi/0} + \TracerIntegrale% + [Bornes=noeud/abs,Type=fct/fct,Couleurs=cyan/cyan!50]% + {fsin(x)}[fcos(x)]% + {(JKL-1)}{pi} + %tracé des courbes + \TracerCourbe[Couleur=red,Debut=0,Fin=pi]{fcos(x)} + \TracerCourbe[Couleur=olive,Debut=0,Fin=pi]{fsin(x)} + %antécédent(s) + \PlacerAntecedents[Couleurs=blue/teal!50!black,Traits]{ccos}{-0.25} + \PlacerAntecedents[Couleurs=red/magenta!50!black,Traits]{csin}{0.5} + \PlacerAntecedents[Couleurs=orange/orange!50!black,Traits]{csin}{sqrt(2)/2} + \PlacerAntecedents[Couleurs=green!50!black/green,Traits]{csin}{sqrt(3)/2} + %surimpression axes + \TracerAxesGrilles[Grille=false,Elargir=2.5mm,Format=ntrig/nsqrt]% + {pi/6,pi/4,pi/3,pi/2,2*pi/3,3*pi/4,5*pi/6,pi} + {0,sqrt(2)/2,1/2,sqrt(3)/2,1,-1,-sqrt(3)/2,-1/2,-sqrt(2)/2} +\end{GraphiqueTikz} +\end{tcolorbox} + +\vfill + +\hfill{\footnotesize\textit{\ttfamily À mon papa.}} + +\vspace*{5mm} + +\pagebreak + +\phantomsection + +\hypertarget{matoc}{} + +\tableofcontents + +\vspace*{5mm} + +\hrule + +\vspace*{5mm} + +\pagebreak + +\section{Introduction} + +\subsection{Description et idées générales} + +Avec ce modeste package, loin des capacités offertes par exemple par les excellents packages \MontreCode{tkz-*}\footnote{par exemple tkz-base \url{https://ctan.org/pkg/tkz-base} et tkz-fct \url{https://ctan.org/pkg/tkz-fct}.} (d'Alain Matthes) ou \MontreCode{tzplot}\footnote{CTAN : \url{https://ctan.org/pkg/tzplot}.} (de In-Sung Cho), il est possible de travailler sur des graphiques de fonctions, en langage \TikZ, de manière \textit{intuitive} et \textit{explicite}. + +\smallskip + +Concernant le fonctionnement global : + +\smallskip + +\begin{itemize} + \item des styles particuliers pour les objets utilisés ont été définis, mais ils peuvent localement être modifiés ; + \item le nom des commandes est sous forme \textit{opérationnelle}, de sorte que la construction des éléments graphiques a une forme quasi \textit{algorithmique}. +\end{itemize} + +\subsection{Fonctionnement global} + +Pour schématiser, il \textit{suffit} : + +\smallskip + +\begin{itemize} + \item de déclarer les paramètres de la fenêtre graphique ; + \item d'afficher grille/axes/graduations ; + \item de déclarer les fonctions ou les courbes d'interpolation ; + \item de déclarer éventuellement des points particuliers ; + \item de placer un nuage de points. +\end{itemize} + +\smallskip + +Il sera ensuite possible : + +\begin{itemize} + \item de tracer des courbes ; + \item de déterminer graphiquement des images ou des antécédents ; + \item de rajouter des éléments de dérivation (tangentes) ou d'intégration (domaine) ; + \item de tracer une droite d'ajustement linéaire ou la courbe d'un autre ajustement. +\end{itemize} + +\subsection{Packages utilisés, et options du package} + +Le package utilise : + +\smallskip + +\begin{itemize} + \item \MontreCode{tikz}, avec les librairies \MontreCode{calc,intersections,patterns,patterns.meta,bbox} ; + \item \MontreCode{simplekv}, \MontreCode{xintexpr}, \MontreCode{xstring}, \MontreCode{listofitems} ; + \item \MontreCode{xint-regression}\footnote{CTAN : \url{https://ctan.org/pkg/xint-regression}.} (pour les régressions, désactivable via \MontreCode{[nonxintreg]}). +\end{itemize} + +\smallskip + +Le package charge également \MontreCode{siunitx} avec les options classiques \texttt{[fr]}, mais il est possible de ne pas le charger en utilisant l'option \MontreCode{[nonsiunitx]}. + +\smallskip + +Le package charge également la librairie \TikZ\ \MontreCode{babel}, mais il est possible de ne pas la charger en utilisant l'option \MontreCode{[nontikzbabel]}. + +\smallskip + +Les différentes options sont bien évidemment cumulables. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%chargement par défaut +\usepackage{tkz-grapheur} + +%chargement sans sinuitx, à charger manuellement +\usepackage[nonsiunitx]{tkz-grapheur} + +%chargement sans tikz.babel +\usepackage[nontikzbabel]{tkz-grapheur} +\end{tcblisting} + +\pagebreak + +À noter également que certaines commandes peuvent utiliser des packages comme \MontreCode{nicefrac}, qui sera donc à charger le cas échéant. + +\smallskip + +Concernant la partie \textit{calculs} et \textit{tracés}, c'est le package \MontreCode{xint} qui s'en occupe. + +\subsection{Avertissements} + +Il est possible, dû aux calculs (multiples) effectués en interne, que le temps de compilation soir un peu \textit{allongé}. + +\smallskip + +La précision des résultats (de détermination) semble être aux environs de $10^{-4}$, ce qui devrait normalement garantir des tracés et lectures \textit{satisfaisantes}. Il est quand même conseillé d'être prudent quant aux résultats obtenus et ceux attendus. + +\subsection{Exemple introductif} + +On peut par exemple partir de l'exemple suivant, pour \textit{illustrer} le cheminement des commandes de ce package. Les commandes et la syntaxe seront détaillées dans les sections suivantes ! + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=7.5cm,y=7.5cm,Xmin=0,Xmax=1.001,Xgrille=0.1,Xgrilles=0.02, + Ymin=0,Ymax=1.001,Ygrille=0.1,Ygrilles=0.02] + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]% + {0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1} + {0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1} + \DefinirCourbe[Nom=cf,Debut=0,Fin=1]<f>{x*exp(x-1)} + \DefinirCourbe[Nom=delta,Debut=0,Fin=1]<D>{x} + \TracerIntegrale[Type=fct/fct]{f(x)}[D(x)]{0}{1} + \TracerCourbe[Couleur=red]{f(x)} + \TracerCourbe[Couleur=teal]{D(x)} + \PlacerImages[Couleurs=blue/cyan,Traits]{f}{0.8,0.9} + \PlacerAntecedents[Couleurs=green!50!black/olive,Traits]{cf}{0.5} +\end{GraphiqueTikz} +\end{tcblisting} + +\newpage + +\section{Styles de base et création de l'environnement} + +\subsection{Styles de base} + +Les styles utilisés pour les tracés sont donnés ci-dessous. + +\smallskip + +Dans une optique de \textit{simplicité}, seule la couleur des éléments peut être paramétrée, mais si l'utilisateur le souhaite, il peut redéfinir les styles proposés. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%paramètres déclarés et stockés (utilisables dans l'environnement a posteriori) +\tikzset{ + Xmin/.store in=\pflxmin,Xmin/.default=-3,Xmin=-3, + Xmax/.store in=\pflxmax,Xmax/.default=3,Xmax=3, + Ymin/.store in=\pflymin,Ymin/.default=-3,Ymin=-3, + Ymax/.store in=\pflymax,Ymax/.default=3,Ymax=3, + Origx/.store in=\pflOx,Origx/.default=0,Origx=0, + Origy/.store in=\pflOy,Origy/.default=0,Origy=0, + Xgrille/.store in=\pflgrillex,Xgrille/.default=1,Xgrille=1, + Xgrilles/.store in=\pflgrillexs,Xgrilles/.default=0.5,Xgrilles=0.5, + Ygrille/.store in=\pflgrilley,Ygrille/.default=1,Ygrille=1, + Ygrilles/.store in=\pflgrilleys,Ygrilles/.default=0.5,Ygrilles=0.5 +} +\end{tcblisting} + +On retrouve donc : + +\smallskip + +\begin{itemize} + \item l'origine du repère (\MontreCode{Origx}/\MontreCode{Origy}) ; + \item les valeurs extrêmes des axes (\MontreCode{Xmin}/\MontreCode{Xmax}/\MontreCode{Ymin}/\MontreCode{Ymax}) ; + \item les paramètres des grilles principales et secondaires (\MontreCode{Xgrille}/\MontreCode{Xgrilles}/\MontreCode{Ygrille}/\MontreCode{Ygrilles}). +\end{itemize} + +\smallskip + +Concernant les styles des \textit{objets}, ils sont donnés ci-dessous. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%styles grilles/axes +\tikzset{pflgrillep/.style={thin,lightgray}} +\tikzset{pflgrilles/.style={very thin,lightgray}} +\tikzset{pflaxes/.style={line width=0.8pt,->,>=latex}} + +%style des points (courbe / nuage /labels) +\tikzset{pflpoint/.style={line width=0.95pt}} +\tikzset{pflpointc/.style={radius=1.75pt}} +\tikzset{pflpointnuage/.style={radius=1.75pt}} +\tikzset{pflnoeud/.style={}} %pour les inner sep par exemple :-) + +%style des courbes +\tikzset{pflcourbe/.style={line width=1.05pt}} + +%style des traits (normaux, antécédents, images) +\tikzset{pfltrait/.style={line width=0.8pt}} +\tikzset{pfltraitantec/.style={line width=0.95pt,densely dashed}} +\tikzset{pfltraitimg/.style={line width=0.95pt,densely dashed,->,>=latex}} + +%style des flèches +\tikzset{pflflecheg/.style={<-,>=latex}} +\tikzset{pflfleched/.style={->,>=latex}} +\tikzset{pflflechegd/.style={<->,>=latex}} +\end{tcblisting} + +L'idée est donc de pouvoir redéfinir globalement ou localement les styles, et éventuellement de rajouter des éléments, en utilisant \mintinline{latex}|monstyle/.append style={...}|. + +\subsection{Création de l'environnement}\label{creaenvt} + +L'environnement proposé est basé sur \TikZ, de sorte que toute commande \textit{classique} liée à \TikZ\ peut être utilisée en marge des commandes du package ! + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +\begin{GraphiqueTikz}[options tikz]<clés> + %code(s) +\end{GraphiqueTikz} +\end{tcblisting} + +Les \MontreCode{[options tikz]} sont les options \textit{classiques} qui peuvent être passées à un environnement \TikZ, ainsi que les clés des \textsf{axes/grilles/fenêtre} présentées précédemment. + +\smallskip + +Les \MontreCode{<clés>} spécifiques (et optionnelles) sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{TailleGrad} : taille des graduations des axes (\MontreCode{3pt} pour 3pt \textit{dessus} et 3pt \textit{dessous}) ; + \item \MontreCode{AffCadre} : booléen (\MontreCode{false} par défaut) pour afficher un cadre qui délimite la fenêtre graphique (hors graduations éventuelles). +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz} + [x=0.075cm,y=0.03cm,Xmin=0,Xmax=160,Xgrille=20,Xgrilles=10, + Origy=250,Ymin=250,Ymax=400,Ygrille=25,Ygrilles=5] + <AffCadre> +\end{GraphiqueTikz} +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4, + Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40] + <AffCadre> +\end{GraphiqueTikz} +\end{tcblisting} + +Ce sera bien évidemment plus parlant avec les éléments graphiques rajoutés ! + +\pagebreak + +\subsection{Grilles et axes}\label{creaaxesgr} + +La première commande \textit{utile} va permettre de créer les grilles, les axes et les graduations. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\TracerAxesGrilles[clés]{gradX}{gradY} +\end{tcblisting} + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Grille} : booléen (\MontreCode{true} par défaut) pour afficher les grilles (pour une grille unique, il suffit de mettre les paramètres identiques pour \MontreCode{Xgrille}/\MontreCode{Xgrilles} ou \MontreCode{Ygrille}/\MontreCode{Ygrilles}) ; + \item \MontreCode{Elargir} : rajout à la fin des axes (\MontreCode{0} par défaut) ; + \item \MontreCode{Grads} : booléen (\MontreCode{true} par défaut) pour les graduations ; + \item \MontreCode{Police} : police globale des graduations {\MontreCode{vide} par défaut} ; + \item \MontreCode{Format} : formatage particulier (voir en dessous) des valeurs des axes. +\end{itemize} + +\smallskip + +Concernant la clé \MontreCode{Format}, elle permet de spécifier un paramétrage spécifique pour les valeurs des axes. + +\smallskip + +Elle peut être donnée sous la forme \MontreCode{fmt} pour un formatage combiné, ou sous la forme \MontreCode{fmtX/fmtY} pour différencier le formatage. + +\smallskip + +Les options possible sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{num} : formater avec \textsf{siunitx} ; + \item \MontreCode{annee} : formater en année ; + \item \MontreCode{frac} : formater en fraction \textsf{frac} ; + \item \MontreCode{dfrac} : formater en fraction \textsf{dfrac} ; + \item \MontreCode{nfrac} : formater en fraction \textsf{nicefrac} ;\hfill(à charger !) + \item \MontreCode{trig} : formater en trigo avec \textsf{frac} ; + \item \MontreCode{dtrig} : formater en trigo avec \textsf{dfrac} ; + \item \MontreCode{ntrig} : formater en trigo avec \textsf{nfrac} ; + \item \MontreCode{sqrt} : formater en racine avec \textsf{frac} ; + \item \MontreCode{dsqrt} : formater en racine avec \textsf{dfrac} ; + \item \MontreCode{nsqrt} : formater en racine avec \textsf{nicefrac}. +\end{itemize} + +\smallskip + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz} + [x=0.075cm,y=0.03cm,Xmin=0,Xmax=160,Xgrille=20,Xgrilles=10, + Origy=250,Ymin=250,Ymax=400,Ygrille=25,Ygrilles=5] + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]{0,10,...,160}{250,275,...,400} +\end{GraphiqueTikz} +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4, + Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40] + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56} +\end{GraphiqueTikz} +\end{tcblisting} + +À noter qu'il existe les clés booléennes \MontreCode{[Derriere]} (sans les graduations) et \MontreCode{[Devant]} (sans la grille) pour afficher les axes en mode \textit{sous/sur}-impression dans le cas d'intégrales par exemple. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=2.75cm,y=3cm, + Xmin=0,Xmax=3.5,Xgrille=pi/12,Xgrilles=pi/24, + Ymin=-1.05,Ymax=1.05,Ygrille=0.2,Ygrilles=0.05] + \TracerAxesGrilles[Elargir=2.5mm,Format=dtrig/nsqrt,Police=\footnotesize]% + {pi/6,pi/4,pi/3,pi/2,2*pi/3,3*pi/4,5*pi/6,pi} + {0,sqrt(2)/2,1/2,sqrt(3)/2,1,-1,-sqrt(3)/2,-1/2,-sqrt(2)/2} +\end{GraphiqueTikz} +\end{tcblisting} + +Dans le cas où le formatage ne donne pas de résultat(s) satisfaisant(s), il est possible d'utiliser une commande générique de placement des graduations. + +\pagebreak + +Dans le cas où les graduations sont \textit{naturellement} définies par les données de la fenêtre et de la grille (principale), il est possible de préciser \MontreCode{auto} dans les arguments obligatoires (dans ce cas le formatage ne sera pas possible, et \MontreCode{Format=num} sera obligatoirement utilisé). + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=1.5cm,y=6cm,Xmin=0,Xmax=7,Xgrille=0.5,Xgrilles=0.25, + Ymin=0,Ymax=1,Ygrille=0.1,Ygrilles=0.05] + \TracerAxesGrilles[Elargir=2.5mm,Dernier]{auto}{auto} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\subsection{Ajout de valeurs manuellement}\label{ajoutvals} + +Il est également possible d'utiliser une commande spécifique pour placer des valeurs sur les axes, indépendamment d'un système \textit{automatisé} de formatage. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\RajouterValeursAxeX[clés]{positions}{valeurs formatées} +\RajouterValeursAxeY[clés]{positions}{valeurs formatées} +\end{tcblisting} + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Police} : police globale des graduations {\MontreCode{vide} par défaut} ; + \item \MontreCode{Traits} : booléen pour ajouter les traits des graduations {\MontreCode{true} par défaut}. +\end{itemize} + +\smallskip + +Les arguments obligatoires correspondent aux abscisses (en langage\TikZ) et aux labels (en langage \LaTeX) des graduations. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=2.75cm,y=3cm, + Xmin=0,Xmax=3.5,Xgrille=pi/12,Xgrilles=pi/24, + Ymin=-1.05,Ymax=1.05,Ygrille=0.2,Ygrilles=0.05] + \TracerAxesGrilles[Grad=false,Elargir=2.5mm,]{}{} + \RajouterValeursAxeX + {0.15,0.6,pi/2,2.8284} + {\num{0.15},$\frac35$,$\displaystyle\frac{\pi}{2}$,$\sqrt{8}$} + \RajouterValeursAxeY + {-1,0.175,0.3,sqrt(3)/2} + {\num{-1},\num{0.175},$\nicefrac{3}{10}$,$\frac{\sqrt{3}}{2}$} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\section{Commandes spécifiques de définitions} + +\subsection{Tracer une droite}\label{tracdroite} + +L'idée est de proposer une commande pour tracer une droite, à partir : + +\begin{itemize} + \item de deux points (ou nœuds) ; + \item d'un point (ou nœud) et de la pente. +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\TracerDroite[clés]{point ou nœud}{point ou noeud ou pente} +\end{tcblisting} + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Nom} : nom éventuel du tracé (pour réutilisation) ; + \item \MontreCode{Pente} : booléen pour préciser que la pente est utilisée (\MontreCode{false} par défaut) ; + \item \MontreCode{Debut} : début du tracé (\MontreCode{\textbackslash pflxmin} par défaut) ; + \item \MontreCode{Fin} : fin du tracé (\MontreCode{\textbackslash pflxmax} par défaut) ; + \item \MontreCode{Couleur} : couleur du tracé (\MontreCode{black} par défaut). +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.8cm,y=1cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=5] + \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto} + \DefinirPts[Aff,Couleur=gray]{A/-4/3,B/2/0,C/0/-1} + \TracerDroite[Couleur=red]{(-2,-1)}{(2,4)} + \TracerDroite[Couleur=blue,Debut=-5,Fin=3]{(A)}{(B)} + \TracerDroite[Couleur=olive,Pente]{(C)}{0.25} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\subsection{Définir une fonction, tracer la courbe d'une fonction}\label{deftracfct} + +L'idée est de définir une fonction, pour réutilisation ultérieure. Cette commande \textit{crée} la fonction, sans la tracer, car dans certains cas des éléments devront être tracés au préalable. + +\smallskip + +Il existe également une commande pour tracer la courbe d'une fonction précédemment définie. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\DefinirCourbe[clés]<nom fct>{formule xint} +\TracerCourbe[clés]{formule xint} +\end{tcblisting} + +Les \MontreCode{[clés]} pour la définition ou le tracé, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Debut} : borne inférieure de l'ensemble de définition (\MontreCode{\textbackslash pflxmin} par défaut) ; + \item \MontreCode{Fin} : borne inférieure de l'ensemble de définition (\MontreCode{\textbackslash pflxmax} par défaut) ; + \item \MontreCode{Nom} : nom de la courbe (important pour la suite !) ; + \item \MontreCode{Couleur} : couleur du tracé (\MontreCode{black} par défaut) ; + \item \MontreCode{Pas} : pas du tracé (il est déterminé \textit{automatiquement} au départ mais peut être modifié) ; + \item \MontreCode{Trace} : booléen pour tracer également la courbe (\MontreCode{false} par défaut). +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4, + Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40] + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56} + %définition de la fonction + tracé de la courbe + %la fonction ln a été créée pour xint ! + \DefinirCourbe[Nom=cf,Debut=5,Fin=19]<f>{-2*x+3+24*ln(2*x)} + \TracerCourbe[Couleur=red,Debut=5,Fin=19]{f(x)} + %ou en une seule commande si "suffisant" + %\DefinirCourbe[Nom=cf,Debut=5,Fin=19,Trace]<f>{-2*x+3+24*ln(2*x)} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\subsection{Définir/tracer une courbe d'interpolation (simple)}\label{deftracinterpo} + +Il est également possible de définir une courbe via des points supports, donc une courbe d'interpolation simple. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\DefinirCourbeInterpo[clés]{liste des points support} +\TracerCourbeInterpo[clés]{liste des points support} +\end{tcblisting} + +Les \MontreCode{[clés]} pour la définition ou le tracé, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Nom} : nom de la courbe d'interpolation (important pour la suite !) ; + \item \MontreCode{Couleur} : couleur du tracé (\MontreCode{black} par défaut) ; + \item \MontreCode{Tension} : paramétrage de la \textit{tension} du tracé d'interpolation (\MontreCode{0.5} par défaut) ; + \item \MontreCode{Trace} : booléen pour tracer également la courbe (\MontreCode{false} par défaut). +\end{itemize} + +L'argument obligatoire permet quant à lui de spécifier la liste des points supports sous la forme \MontreCode{(x1,y1)(x2,y2)...}. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.8cm,y=1cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=5] + \TracerAxesGrilles[Elargir=2.5mm]{-7,-6,...,4}{-3,-2,...,5} + %courbes d'interpolation simples (avec tension diff) + \DefinirCourbeInterpo[Nom=interpotest,Couleur=blue,Trace]% + {(-6,4)(-2,-2)(3,3.5)} + \DefinirCourbeInterpo[Nom=interpotest,Couleur=red,Trace,Tension=1]% + {(-6,4)(-2,-2)(3,3.5)} +\end{GraphiqueTikz} +\end{tcblisting} + +\newpage + +\subsection{Définir/tracer une courbe d'interpolation (Hermite)}\label{deftracfctspline} + +Il est également possible de définir une courbe via des points supports, donc une courbe d'interpolation avec contrôle de la dérivée. + +\smallskip + +Certaines exploitations demandant des techniques différentes suivant le type de fonction utilisée, une clé booléenne \MontreCode{Spline} permettra au code d'adapter ses calculs suivant l'objet utilisé. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\DefinirCourbeSpline[clés]{liste des points support}[\macronomspline] +\TracerCourbeSpline[clés]{liste des points support}[\macronomspline] +\end{tcblisting} + +Les \MontreCode{[clés]} pour la définition ou le tracé, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Nom} : nom de la courbe d'interpolation (important pour la suite !) ; + \item \MontreCode{Coeffs} : modifier (voir la documentation de \textsf{ProfLycee}\footnote{CTAN : \url{https://ctan.org/pkg/proflycee}} les \textit{coefficients} du spline ; + \item \MontreCode{Couleur} : couleur du tracé (\MontreCode{black} par défaut) ; + \item \MontreCode{Trace} : booléen pour tracer également la courbe (\MontreCode{false} par défaut). +\end{itemize} + +L'argument obligatoire permet quant à lui de spécifier la liste des points supports sous la forme \MontreCode{x1/y1/f'1§x2/y2/f'2§...} avec : + +\begin{itemize} + \item \MontreCode{xi/yi} les coordonnées du point ; + \item \MontreCode{f'i} la dérivé au point support. +\end{itemize} + +\smallskip + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.8cm,y=1cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=5] + \TracerAxesGrilles[Elargir=2.5mm]{-7,-6,...,4}{-3,-2,...,5} + %définition de la liste des points support du spline + \def\LISTETEST{-6/4/-2§-5/2/-2§-4/0/-2§-2/-2/0§1/2/2§3/3.5/0.5} + %définition et tracé du spline cubique + \DefinirCourbeSpline[Nom=splinetest,Trace,Couleur=olive]{\LISTETEST} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\subsection{Définir des points sous forme de nœuds}\label{defpts} + +La seconde idée est de travailler avec des nœuds \TikZ, qui pourront être utiles pour des tracés de tangentes, des représentations d'intégrales$\ldots$ + +\smallskip + +Il est également possible de définir des nœuds pour des points \textit{image}. + +\smallskip + +Certaines commandes (explicités ultérieurement) permettent de déterminer des points particuliers des courbes sous forme de nœuds, donc il semble intéressant de pouvoir en définir directement. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%par les coordonnées +\DefinirPts[clés]{Nom1/x1/y1,Nom2/x2/y2,...} +\end{tcblisting} + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Aff} : booléen pour marquer les points (\MontreCode{false} par défaut) ; + \item \MontreCode{Couleur} : couleur des points, si \MontreCode{Aff=true} (\MontreCode{black} par défaut). +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%sous forme d'image +\DefinirImage[clés]{objet}{abscisse} +\end{tcblisting} + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Nom} : nom du nœud (\MontreCode{vide} par défaut) ; + \item \MontreCode{Spline} : booléen pour spécifier qu'un spline est utilisé (\MontreCode{false} par défaut). +\end{itemize} + +Le premier argument obligatoire est l'\textit{objet} considéré (nom de la courbe pour le spline, fonction sinon) ; le second est l'abscisse du point considéré. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4, + Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40] + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56} + %définition de la fonction + tracé de la courbe + \DefinirFonction[Nom=cf,Debut=5,Fin=19,Trace,Couleur=red]<f>{-2*x+3+24*log(2*x)} + %nœuds manuels + \DefinirPts[Aff,Couleur=brown]{A/7/42,B/16/49} + %nœud image + \DefinirImage[Nom=IMGf]{f}{14} + \MarquerPts*[Style=x,Couleur=blue]{(IMGf)} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\subsection{Marquage de points}\label{markpts} + +L'idée est de proposer de quoi marquer des points avec un style particulier. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\MarquerPts(*)[clés]<police>{liste} +\end{tcblisting} + +La version \textit{étoilée} marque les points sans les \og noms \fg, alors que la version \textit{non étoilée} les affiche : + +\begin{itemize} + \item dans le cas de la version \textit{étoilée}, la liste est à donner sous la forme \MontreCode{(ptA),(ptB),...} ; + \item sinon, la liste est à donner sous la forme \MontreCode{(ptA)/labelA/poslabelA,...}. +\end{itemize} + +\smallskip + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Couleur} : couleur (\MontreCode{black} par défaut) ; + \item \MontreCode{Style} : style des marques (\MontreCode{o} par défaut). +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}[x=1.5cm,y=1.5cm,Ymin=-2] + \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto} + \DefinirPts{A/1.75,-1.25}\MarquerPts[Couleur=pink]{(A)/A/below} %rond (par défaut) + \MarquerPts[Couleur=teal]{(1,1)/M/below} + \MarquerPts[Couleur=red,Style=x]{(1.25,1)/$A$/below} %croix + \MarquerPts[Couleur=orange,Style=+]<\small\sffamily>{(1.5,1)/K/below} %plus + \MarquerPts[Couleur=blue,Style=c]{(1.75,1)/P/below} %carré + \MarquerPts[Couleur=gray,Style=d]{(2,1)/P/below} %diamant + \MarquerPts*[Couleur=orange/yellow]{(2,2),(2.5,2.25)} %rond bicolore + \MarquerPts*[Style=+,Couleur=red]{(1,2)} + \MarquerPts*[Style=x,Couleur=blue]{(2.25,1)} + \MarquerPts*[Style=c,Couleur=magenta]{(-2,-1)} + \MarquerPts[Couleur=red,Style=x]{(-1,1)/$A$/below,(-2,2)/$B$/below left} +\end{GraphiqueTikz} +\end{tcblisting} + +À noter qu'il est également possible de modifier la taille des marques \MontreCode{o/x/+/c} via les \MontreCode{[clés]} : + +\begin{itemize} + \item \MontreCode{Taillex=...} (\MontreCode{2pt} par défaut) pour les points \textit{croix} ; + \item \MontreCode{Tailleo=...} (\MontreCode{1.75pt} par défaut) pour les points \textit{cercle} ; + \item \MontreCode{Taillec=...} (\MontreCode{2pt} par défaut) pour les points \textit{carré}. +\end{itemize} + +\pagebreak + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}[x=1cm,y=1cm,Xmin=0,Ymin=0] + \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto} + \MarquerPts[Couleur=red,Style=x,Taillex=3.5pt]{(1.25,1.25)/$A$/below} + \MarquerPts[Couleur=teal,Tailleo=2.5pt]{(2,2)/$A$/right} + \MarquerPts*[Couleur=orange,Style=c,Taillec=4pt]{(0.5,2.5)} +\end{GraphiqueTikz} +\end{tcblisting} + +\subsection{Récupérer les coordonnées de nœuds}\label{recupcoordo} + +Il est également possible, dans l'optique d'une réutilisation de coordonnées, de récupérer les coordonnées d'un nœud (défini ou déterminé). + +\smallskip + +Les calculs étant effectués en flottant en fonction des unités (re)calculées, les valeurs sont donc approchées ! + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\RecupererAbscisse{nœud}[\macrox] +\RecupererOrdonnee{nœud}[\macroy] +\RecupererCoordonnees{nœud}[\macrox][\macroy] +\end{tcblisting} + +\subsection{Placer du texte}\label{placetxt} + +À noter qu'une commande de placement de texte est disponible. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\PlacerTexte[clés]{(nœud ou coordonnées)}{texte} +\end{tcblisting} + +Les \MontreCode{[clés]} disponibles sont : + +\begin{itemize} + \item \MontreCode{Police=...} (\MontreCode{\textbackslash normalsize\textbackslash normalfont} par défaut) pour la police ; + \item \MontreCode{Couleur=...} (\MontreCode{black} par défaut) pour la couleur ; + \item \MontreCode{Position=...} (\MontreCode{vide} par défaut) pour la position du texte par rapport aux coordonnées. +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} + \begin{GraphiqueTikz}[x=1cm,y=1cm,Xmin=0,Xmax=5,Ymin=0,Ymax=1] + \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto} + \PlacerTexte[Couleur=red,Police=\LARGE,Position=right]{(1.5,0.5)}{courbe $C_1$} + \end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\section{Commandes spécifiques d'exploitation des courbes} + +\subsection{Placement d'images}\label{images} + +Il est possible de la placer des points (images) sur une courbe, avec traits de construction éventuels. + +La fonction/courbe utilisée doit avoir été déclarée précédemment pour que cette commande fonctionne. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\PlacerImages[clés]{fonction ou courbe}{liste d'abscisses} +\end{tcblisting} + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Traits} : booléen pour afficher les traits de construction (\MontreCode{false} par défaut) ; + \item \MontreCode{Couleurs} : couleur des points/traits, sous la forme \MontreCode{Couleurs} ou \MontreCode{CouleurPoint/CouleurTraits} ; + \item \MontreCode{Spline} : booléen pour préciser que la courbe utilisée est définie comme un \textsf{spline} (\MontreCode{false} par défaut). +\end{itemize} + +\smallskip + +Le premier argument obligatoire, permet de spécifier : + +\smallskip + +\begin{itemize} + \item le nom de la courbe dans la cas \MontreCode{Spline=true} ; + \item le nom de la fonction sinon. +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4, + Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40] + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56} + %définition de la fonction + tracé de la courbe + \DefinirCourbe[Nom=cf,Debut=5,Fin=19,Trace,Couleur=red]<f>{-2*x+3+24*log(2*x)} + %images + \PlacerImages[Traits,Couleurs=teal/blue]{f}{6,7,8,9,10} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\subsection{Détermination d'antécédents}\label{defanteced} + +Il est possible de déterminer graphiquement les antécédents d'un réel donné. + +La fonction/courbe utilisée doit avoir été déclarée précédemment pour que cette commande fonctionne. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\TrouverAntecedents[clés]{courbe}{k} +\end{tcblisting} + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Nom} : base du nom des \textbf{nœuds} intersection (\MontreCode{S} par défaut, ce qui donnera \textsf{S-1}, \textsf{S-2}, etc) ; + \item \MontreCode{Aff} : booleen pour afficher les points (\MontreCode{true} par défaut) ; + \item \MontreCode{Couleur} : couleur des points (\MontreCode{black} par défaut) ; + \item \MontreCode{AffDroite} : booleen pour afficher la droite horizontale (\MontreCode{false} par défaut). +\end{itemize} + +\smallskip + +Le premier argument obligatoire, permet de spécifier le \textbf{nom} de la courbe. + +\smallskip + +Le second argument obligatoire, permet de spécifier la valeur à atteindre. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4, + Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40] + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56} + %définition de la fonction + tracé de la courbe + \DefinirCourbe[Nom=cf,Debut=5,Fin=19,Trace,Couleur=red]<f>{-2*x+3+24*log(2*x)} + %antécédents + \TrouverAntecedents[Couleur=teal,AffDroite,Aff]{cf}{53} + %les deux antécédents sont aux nœuds (S-1) et (S-2) +\end{GraphiqueTikz} +\end{tcblisting} + +%Les \MontreCode{[clés]}, optionnelles, disponibles sont : +% +%\smallskip +% +%\begin{itemize} +% \item \MontreCode{Nom} : base du nom des \textbf{nœuds} intersection (\MontreCode{S} par défaut, ce qui donnera \textsf{S-1}, \textsf{S-2}, etc) ; +% \item \MontreCode{Aff} : booleen pour afficher les points (\MontreCode{true} par défaut) ; +% \item \MontreCode{Couleur} : couleur des points (\MontreCode{black} par défaut) ; +% \item \MontreCode{AffDroite} : booleen pour afficher la droite horizontale (\MontreCode{false} par défaut). +%\end{itemize} + +\pagebreak + +\subsection{Construction d'antécédents}\label{tracanteced} + +Il est possible de construire graphiquement les antécédents d'un réel donné. + +La fonction/courbe utilisée doit avoir été déclarée précédemment pour que cette commande fonctionne. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\PlacerAntecedents[clés]{courbe}{k} +\end{tcblisting} + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Couleurs} : couleur des points/traits, sous la forme \MontreCode{Couleurs} ou \MontreCode{CouleurPoint/CouleurTraits} ; + \item \MontreCode{Nom} : nom \textit{éventuel} pour les points d'intersection liés aux antécédents (\MontreCode{vide} par défaut) ; + \item \MontreCode{Traits} : booleen pour afficher les traits de construction (\MontreCode{false} par défaut). +\end{itemize} + +\smallskip + +Le premier argument obligatoire, permet de spécifier le \textbf{nom} de la courbe. + +\smallskip + +Le second argument obligatoire, permet de spécifier la valeur à atteindre. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4, + Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40] + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56} + %définition de la fonction + tracé de la courbe + \DefinirCourbe[Nom=cf,Debut=5,Fin=19,Trace,Couleur=red]<f>{-2*x+3+24*log(2*x)} + %antécédents + \PlacerAntecedents[Couleurs=teal/cyan,Traits,Nom=PO]{cf}{53} + \RecupererAbscisse{(PO-1)}[\premsol] + \RecupererAbscisse{(PO-2)}[\deuxsol] +\end{GraphiqueTikz} + +Graphiquement, les antécédents de 53 sont (environ) : + +\begin{itemize} + \item \num{\premsol} + \item \num{\deuxsol} +\end{itemize} +\end{tcblisting} + +\pagebreak + +\subsection{Intersections de deux courbes}\label{intersect} + +Il est également possible de déterminer (sous forme de nœuds) les éventuels points d'intersection de deux courbes préalablement définies. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\TrouverIntersections[clés]{courbe1}{courbe2} +\end{tcblisting} + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Nom} : base du nom des \textbf{nœuds} intersection (\MontreCode{S} par défaut, ce qui donnera \textsf{S-1}, \textsf{S-2}, etc) ; + \item \MontreCode{Aff} : booléen pour afficher les points (\MontreCode{true} par défaut) ; + \item \MontreCode{Couleur} : couleur des points (\MontreCode{black} par défaut). +\end{itemize} + +\smallskip + +Le premier argument obligatoire, permet de spécifier le \textbf{nom} de la première courbe. + +\smallskip + +Le premier argument obligatoire, permet de spécifier le \textbf{nom} de la seconde courbe. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4, + Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40] + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56} + \DefinirCourbe[Nom=cf,Debut=5,Fin=19,Trace,Couleur=red]<f>{-2*x+3+24*log(2*x)} + \DefinirCourbe[Nom=cg,Debut=5,Fin=19,Trace,Couleur=blue]<g>{0.25*(x-12)^2+46} + %intersections, nommées (TT-1) et (TT-2) + \TrouverIntersections[Nom=TT,Couleur=darkgray,Aff,Traits]{cf}{cg} + %récupération des points d'intersection + \RecupererCoordonnees{(TT-1)}[\alphaA][\betaA] + \RecupererCoordonnees{(TT-2)}[\alphaB][\betaB] +\end{GraphiqueTikz}\\ +Les solutions de $f(x)=g(x)$ sont $\alpha \approx \num{\alphaA}$ et +$\beta \approx \num{\alphaB}$.\\ +Les points d'intersection des courbes de $f$ et de $g$ sont donc +$(\ArrondirNum[2]{\alphaA};\ArrondirNum[2]{\betaA})$ et +$(\ArrondirNum[2]{\alphaB};\ArrondirNum[2]{\betaB})$. +\end{tcblisting} + +\pagebreak + +\subsection{Extremums}\label{maximum}\label{minimum} + +L'idée (encore \textit{expérimentale}) est de proposer des commandes pour extraire les extremums d'une courbe définie par le package. + +La commande crée le nœud correspondant, et il est du coup possible de récupérer ses coordonnées pour exploitation ultérieure. + +\smallskip + +Il est possible, en le spécifiant, de travailler sur les différentes courbes gérées par le package (fonction, interpolation, spline). + +Pour des courbes singulières, il est possible que les résultats ne soient pas tout à fait ceux attendus\ldots + +\smallskip + +{\small\faBomb} Pour le moment, les \textit{limitations} sont : + +\begin{itemize} + \item pas de gestion d'extremums multiples (seul le premier sera traité)\ldots + \item pas de gestion d'extremums aux bornes du tracé\ldots + \item pas de récupération automatique des paramètres de définition des courbes\ldots + \item le temps de compilation peut être plus long\ldots +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\TrouverMaximum[clés]{objet}[nœud créé] +\TrouverMinimum[clés]{objet}[nœud créé] +\end{tcblisting} + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Methode} : méthode, parmi \MontreCode{fonction/interpo/spline} pour les calculs (\MontreCode{fonction} par défaut) ; + \item \MontreCode{Debut} : début du tracé (\MontreCode{\textbackslash pflxmin} par défaut) ; + \item \MontreCode{Fin} : fin du tracé (\MontreCode{\textbackslash pflxmax} par défaut) ; + \item \MontreCode{Pas} : pas du tracé si \MontreCode{fonction} (il est déterminé \textit{automatiquement} au départ mais peut être modifié) ; + \item \MontreCode{Coeffs} : modifier les \textit{coefficients} du spline si \MontreCode{spline} ; + \item \MontreCode{Tension} : paramétrage de la \textit{tension} du tracé d'interpolation si \MontreCode{interpo}(\MontreCode{0.5} par défaut). +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}[x=1cm,y=1cm,Xmin=-1,Xmax=5,Ymin=-1,Ymax=3] + \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto} + \DefinirCourbe[Nom=cf,Debut=0.35,Fin=4.2,Trace]% + <f>{0.6*cos(4.5*(x-4)+2.1)-1.2*sin(x-4)+0.1*x+0.2} + \TrouverMaximum[Debut=0.35,Fin=4.2]{f}[cf-max] + \TrouverMaximum[Debut=3,Fin=4]{f}[cf-maxlocal] + \TrouverMinimum[Debut=1,Fin=2]{f}[cf-minlocal] + \MarquerPts*[Couleur=red,Traits]{(cf-max)} + \MarquerPts*[Couleur=blue,Traits]{(cf-maxlocal)} + \MarquerPts*[Couleur=olive,Traits]{(cf-minlocal)} + \RecupererCoordonnees{(cf-max)}[\MonMaxX][\MonMaxY] +\end{GraphiqueTikz}\\ +Le maximum est $M\approx\ArrondirNum{\MonMaxY}$, atteint en $x\approx\ArrondirNum{\MonMaxX}$ +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}[x=0.8cm,y=1cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=5] + \TracerAxesGrilles[Elargir=2.5mm]{-7,-6,...,4}{-3,-2,...,5} + \DefinirCourbeInterpo[Nom=interpotest,Couleur=red,Trace,Tension=1]% + {(-6,4)(-2,-2)(3,3.5)} + \TrouverMinimum[Methode=interpo,Tension=1]{(-6,4)(-2,-2)(3,3.5)}[interpo-min] + \MarquerPts*[Couleur=blue]{(interpo-min)} + \RecupererCoordonnees{(interpo-min)}[\MinInterpoX][\MinInterpoY] +\end{GraphiqueTikz}\\ +Le minimum est $M\approx\ArrondirNum[3]{\MinInterpoY}$, atteint en $x\approx\ArrondirNum[3]{\MinInterpoX}$ +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=1.2cm,y=1.6cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=3,Ygrille=0.5,Ygrilles=0.25] + \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto} + \def\LISTETEST{-6/2/0§-1/-2/0§2/1/0§3.5/0/-1} + \DefinirCourbeSpline[Nom=splinetest,Trace]{\LISTETEST} + \TrouverMinimum[Methode=spline]{\LISTETEST}[spline-min] + \MarquerPts*[Couleur=red]{(spline-min)} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\subsection{Intégrales (version améliorée)}\label{integr} + +On peut également travailler avec des intégrales. + +Dans ce cas il est préférable de mettre en évidence le domaine \textbf{avant} les tracés, pour éviter la surimpression par rapport aux courbes/points. + +\smallskip + +Il est possible de : + +\begin{itemize} + \item représenter une intégrale \textbf{sous} une courbe définie ; + \item représenter une intégrale \textbf{entre} deux courbes ; + \item les bornes d'intégration peuvent être des abscisses et/ou des nœuds. +\end{itemize} + +\smallskip + +{\small\faBomb} Compte-tenu des différences de traitement entre les courbes par formule, les courbes par interpolation simple ou les courbes par interpolation cubique, les arguments et clés peuvent différer suivant la configuration ! + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\TracerIntegrale[clés]<options spécifiques>{objet1}[objet2]{A}{B} +\end{tcblisting} + +Les \MontreCode{[clés]} pour la définition ou le tracé, optionnelles, disponibles sont : + +\begin{itemize} + \item \MontreCode{Couleurs} =: couleurs du remplissage, sous la forme \MontreCode{Couleur} ou \MontreCode{CouleurBord/CouleurFond} (\MontreCode{gray} par défaut) ; + \item \MontreCode{Style} : type de remplissage, parmi \MontreCode{remplissage}/\MontreCode{hachures} (\MontreCode{remplissage} par défaut) ; + \item \MontreCode{Opacite} : opacité (\MontreCode{0.5} par défaut) du remplissage ; + \item \MontreCode{Hachures} : style (\MontreCode{north west lines} par défaut) du remplissage hachures ; + \item \MontreCode{Type} : type d'intégrale parmi + \begin{itemize} + \item \MontreCode{fct} (défaut) pour une intégrale sous une courbe définie par une formule ; + \item \MontreCode{spl} pour une intégrale sous une courbe définie par un spline cublique ; + \item \MontreCode{fct/fct} pour une intégrale entre deux courbes définie par une formule ; + \item \MontreCode{fct/spl} pour une intégrale entre une courbe (dessus) définie par une formule et une courbe (dessous) définie par un spline cubique ; + \item etc + \end{itemize} + \item \MontreCode{Pas} : pas (calculé par défaut sinon) pour le tracé ; + \item \MontreCode{Jonction} : jonction des segments (\MontreCode{bevel} par défaut) ; + \item \MontreCode{Bornes} : type des bornes parmi : + \begin{itemize} + \item \MontreCode{abs} pour les bornes données par les abscisses ; + \item \MontreCode{noeuds} pour les bornes données par les nœuds ; + \item \MontreCode{abs/noeud} pour les bornes données par abscisse et nœud ; + \item \MontreCode{noeud/abs} pour les bornes données par nœud et abscisse ; + \end{itemize} + \item \MontreCode{Bord} : booléen (\MontreCode{true} par défaut) pour afficher les traits latéraux,% + \item \MontreCode{NomSpline} : macro (important !) du spline généré précédemment pour un spline en version supérieure ; + \item \MontreCode{NomSplineB} : macro (important !) du spline généré précédemment pour un spline en version inférieure ; + \item \MontreCode{NomInterpo} : nom (important !) de la courbe d'interpolation générée précédemment, en version supérieure ; + \item \MontreCode{NomInterpoB} : nom (important !) de la courbe d'interpolation générée précédemment, en version inférieure ; + \item \MontreCode{Tension} : tension pour la courbe d'interpolation générée précédemment, en version supérieure ; + \item \MontreCode{TensionB} : tension de la courbe d'interpolation générée précédemment, en version inférieure. +\end{itemize} + +\smallskip + +Le premier argument obligatoire est la fonction ou la courbe du spline ou la liste de points d'interpolation. + +\smallskip + +L'argument suivant, optionnel, est la fonction ou la courbe du spline ou la liste de points d'interpolation. + +\smallskip + +Les deux derniers arguments obligatoires sont les bornes de l'intégrale, données sous une forme en adéquation avec la clé \MontreCode{Bornes}. + +\pagebreak + +Dans le cas de courbes définies par des \textit{points}, il est nécessaire de travailler sur des intervalles sur lesquels la première courbe est \textbf{au-dessus} de la deuxième. + +Il sera sans doute intéressant de travailler avec les \textit{intersections} dans ce cas. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.6cm,y=0.06cm, + Xmin=0,Xmax=21,Xgrille=1,Xgrilles=0.5, + Ymin=0,Ymax=155,Ygrille=10,Ygrilles=5] + \TracerAxesGrilles% + [Grads=false,Elargir=2.5mm]{}{} + \DefinirCourbe[Nom=cf,Debut=1,Fin=20,Couleur=red]<f>{80*x*exp(-0.2*x)} + \TracerIntegrale + [Bornes=abs,Couleurs=blue/cyan!50]% + {f(x)}{3}{12} + \TracerCourbe[Couleur=red,Debut=1,Fin=20]{f(x)} + \TracerAxesGrilles% + [Grille=false,Elargir=2.5mm,Police=\small]{0,1,...,20}{0,10,...,150} +\end{GraphiqueTikz} +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=1.2cm,y=1.6cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=3,Ygrille=0.5,Ygrilles=0.25] + \TracerAxesGrilles[Grads=false,Elargir=2.5mm]{}{} + \def\LISTETEST{-6/2/0§-1/-2/0§2/1/0§3.5/0/-1} + \DefinirCourbeSpline[Nom=splinetest]{\LISTETEST} + \TracerIntegrale[Type=spl,Style=hachures,Couleurs=purple]{splinetest}{-5.75}{-4.75} + \TracerIntegrale[Type=spl,Couleurs=blue]{splinetest}{-2}{-1} + \TracerIntegrale[Type=spl,Couleurs=orange]{splinetest}{1}{3} + \TracerCourbeSpline[Couleur=olive]{\LISTETEST} + \TracerAxesGrilles[Grille=false,Elargir=2.5mm] + {-7,-6,...,4}% + {-3,-2.5,...,3} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\subsection{Tangentes}\label{tgte} + +L'idée de cette commande est de tracer la tangente à une courbe précédemment définie, en spécifiant : + +\begin{itemize} + \item le point (abscisse ou nœud) en lequel on souhaite travailler ; + \item éventuellement le direction (dans le cas d'une discontinuité ou d'une borne) ; + \item éventuellement le pas ($h$) du calcul ; + \item les \textit{écartements latéraux} pour tracer la tangente. +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\TracerTangente[clés]{fonction ou courbe}{point}<options traits> +\end{tcblisting} + +Les \MontreCode{[clés]} pour la définition ou le tracé, optionnelles, disponibles sont : + +\begin{itemize} + \item \MontreCode{Couleurs} =: couleurs des tracés, sous la forme \MontreCode{Couleur} ou \MontreCode{CouleurLigne/CouleurPoint} (\MontreCode{black} par défaut) ; + \item \MontreCode{DecG} =: écartement horizontal gauche pour débuter le tracé (\MontreCode{1} par défaut) ; + \item \MontreCode{DecD} =: écartement horizontal gauche pour débuter le tracé (\MontreCode{1} par défaut) ; + \item \MontreCode{AffPoint} : booléen pour afficher le point support (\MontreCode{false} par défaut) ; + \item \MontreCode{Spline} : booléen pour préciser qu'un spline est utilisé (\MontreCode{false} par défaut) ; + \item \MontreCode{h} : pas $h$ utilisé pour les calculs (\MontreCode{0.01} par défaut) ; + \item \MontreCode{Sens} : permet de sprécifier le \textit{sens} de la tangente, parmi \MontreCode{gd}/\MontreCode{g}/\MontreCode{d} (\MontreCode{gd} par défaut) ; + \item \MontreCode{Noeud} : booléen pour préciser qu'un nœud est utilisé (\MontreCode{false} par défaut). +\end{itemize} + +\smallskip + +Le premier argument obligatoire est la fonction ou la courbe du spline (le cas échéant). + +\smallskip + +Le dernier argument obligatoire est le point de travail (version abscisse ou nœud suivant la clé \MontreCode{Noeud}). + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.9cm,y=0.425cm,Xmin=4,Xmax=20,Origx=4, + Ymin=40,Ymax=56,Ygrille=2,Ygrilles=1,Origy=40] + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]{4,5,...,20}{40,42,...,56} + \DefinirCourbe[Nom=cf,Debut=5,Fin=19,Couleur=red,Trace]<f>{-2*x+3+24*log(2*x)} + \TrouverAntecedents[Couleur=teal,Nom=JKL,Aff=false]{cf}{53} + %tangente + \TracerTangente% + [Couleurs=cyan/gray,DecG=2.5,DecD=2.5,Noeud,AffPoint]{f}{(JKL-1)} +\end{GraphiqueTikz} +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.8cm,y=1cm,Xmin=-7,Xmax=4,Ymin=-3,Ymax=5] + \TracerAxesGrilles[Elargir=2.5mm]{-7,-6,...,4}{-3,-2,...,5} + \def\LISTETEST{-6/4/-0.5§-5/2/-2§-4/0/-2§-2/-2/0§1/2/2§3/3.5/0.5} + \DefinirCourbeSpline[Nom=splinetest,Trace,Couleur=olive]{\LISTETEST} + \TracerTangente[Couleurs=red,Spline,AffPoint]{splinetest}{1} + \TracerTangente% + [Couleurs=blue,Spline,DecG=1.5,DecD=1.5,AffPoint]{splinetest}{-3}% + <pflflechegd> + \TracerTangente[Sens=g,Couleurs=orange,Spline,DecG=1.5,AffPoint]{splinetest}{3} + \TracerTangente[Sens=d,Couleurs=violet,Spline,DecD=1.5,AffPoint]{splinetest}{-6} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\section{Commandes spécifiques des fonctions de densité} + +\subsection{Loi normale}\label{loinormale} + +L'idée est de proposer de quoi travailler avec des lois normales. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\DefinirLoiNormale[clés]<nom fct>{mu}{sigma} +\TracerLoiNormale[clés]{fct(x)} +\end{tcblisting} + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Nom} : nom du tracé (\MontreCode{gaussienne} par défaut) ; + \item \MontreCode{Trace} : booléen pour tracer la courbe(\MontreCode{false} par défaut) ; + \item \MontreCode{Couleur} : couleur du tracé, si demandé (\MontreCode{black} par défaut) ; + \item \MontreCode{Debut} : borne inférieure de l'ensemble de définition (\MontreCode{\textbackslash pflxmin} par défaut) ; + \item \MontreCode{Fin} : borne inférieure de l'ensemble de définition (\MontreCode{\textbackslash pflxmax} par défaut) ; + \item \MontreCode{Pas} : pas du tracé (il est déterminé \textit{automatiquement} au départ mais peut être modifié). +\end{itemize} + +À noter que l'axe vertical est à adapter en fonction des paramètres de la loi normale. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=1.25cm,y=15cm,Origx=5,Xmin=5,Xmax=15,Ymin=0,Ymax=0.3, + Ygrille=0.1,Ygrilles=0.05] + \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto} + \DefinirLoiNormale[Nom=gaussienne]<phi>{10}{1.5} + \TracerIntegrale + [Bornes=abs,Couleurs=blue/cyan!50]% + {phi(x)}{7}{13} + \TracerLoiNormale[Couleur=violet,Debut=5,Fin=15]{phi(x)} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\subsection{Loi du khi deux}\label{loikhideux} + +L'idée est de proposer de quoi travailler avec des lois normales. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\DefinirLoiKhiDeux[clés]<nom fct>{k} +\TracerLoiKhiDeux[clés]{fct(x)} +\end{tcblisting} + +Les \MontreCode{[clés]}, optionnelles, disponibles sont : + +\smallskip + +\begin{itemize} + \item \MontreCode{Nom} : nom du tracé (\MontreCode{gaussienne} par défaut) ; + \item \MontreCode{Trace} : booléen pour tracer la courbe(\MontreCode{false} par défaut) ; + \item \MontreCode{Couleur} : couleur du tracé, si demandé (\MontreCode{black} par défaut) ; + \item \MontreCode{Debut} : borne inférieure de l'ensemble de définition (\MontreCode{\textbackslash pflxmin} par défaut) ; + \item \MontreCode{Fin} : borne inférieure de l'ensemble de définition (\MontreCode{\textbackslash pflxmax} par défaut) ; + \item \MontreCode{Pas} : pas du tracé (il est déterminé \textit{automatiquement} au départ mais peut être modifié). +\end{itemize} + +À noter que l'axe vertical est à adapter en fonction du paramètre de la loi du khi deux. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}[ + x=1.5cm,y=7.5cm, + Xmin=0,Xmax=8,Xgrille=1,Xgrilles=0.5, + Ymin=0,Ymax=0.5,Ygrille=0.1,Ygrilles=0.05 + ] + \TracerAxesGrilles[Elargir=2.5mm]{auto}{auto} + \DefinirLoiKhiDeux[Couleur=red,Debut=0.25,Trace]<phiA>{1} + \DefinirLoiKhiDeux[Couleur=blue,Trace]<phiB>{2} + \DefinirLoiKhiDeux[Couleur=orange,Trace]<phiC>{3} + \DefinirLoiKhiDeux[Couleur=violet,Trace]<phiD>{4} + \DefinirLoiKhiDeux[Couleur=yellow,Trace]<phiE>{5} + \DefinirLoiKhiDeux[Couleur=teal,Trace]<phiF>{6} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\section{Commandes spécifiques des statistiques à deux variables} + +\subsection{Le nuage de points}\label{nuage} + +En marge des commandes liées aux fonctions, il est également possible de représenter des séries statistiques doubles. + +\smallskip + +Le paragraphe suivant montre que l'ajout d'une clé permet de rajouter la droite d'ajustement linéaire. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +%dans l'environnement GraphiqueTikz +\TracerNuage[clés]{ListeX}{ListeY} +\end{tcblisting} + +La \MontreCode{[clé]} optionnelle est : + +\smallskip + +\begin{itemize} + \item \MontreCode{CouleurNuage} : couleur des points du nuage (\MontreCode{black} par défaut). +\end{itemize} + +\smallskip + +Les arguments, obligatoires, permettent de spécifier : + +\smallskip + +\begin{itemize} + \item la liste des abscisses ; + \item la liste des ordonnées. +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.075cm,y=0.03cm,Xmin=0,Xmax=160,Xgrille=20,Xgrilles=10, + Origy=250,Ymin=250,Ymax=400,Ygrille=25,Ygrilles=5] + %préparation de la fenêtre + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]{0,10,...,160}{250,275,...,400} + %nuage de points + \TracerNuage[Style=x,CouleurNuage=red]{0,50,100,140}{275,290,315,350} +\end{GraphiqueTikz} +\end{tcblisting} + +\subsection{La droite de régression}\label{reglin} + +La droite de régression linéaire (obtenue par la méthode des moindres carrés) peut facilement être rajoutée, en utilisant la clé \MontreCode{TracerDroite}. + +\smallskip + +Dans ce cas, de nouvelles clés sont disponibles : + +\smallskip + +\begin{itemize} + \item \MontreCode{CouleurDroite} : couleur de la droite (\MontreCode{black} par défaut) ; + \item \MontreCode{Arrondis} : précision des coefficients (\MontreCode{vide} par défaut) ; + \item \MontreCode{Debut} : abscisse initiale du tracé (\MontreCode{\textbackslash pflxmin} par défaut) ; + \item \MontreCode{Fin} : abscisse terminale du tracé (\MontreCode{\textbackslash pflxmax} par défaut) ; + \item \MontreCode{Nom} : nom du tracé, pour exploitation ultérieure (\MontreCode{reglin} par défaut). +\end{itemize} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=0.075cm,y=0.03cm,Xmin=0,Xmax=160,Xgrille=20,Xgrilles=10, + Origy=250,Ymin=250,Ymax=400,Ygrille=25,Ygrilles=5] + \TracerAxesGrilles[Elargir=2.5mm,Police=\small]{0,10,...,160}{250,275,...,400} + %nuage et droite + \TracerNuage% + [CouleurNuage=red,CouleurDroite=brown,TracerDroite]% + {0,50,100,140}{275,290,315,350} + %image + \PlacerImages[Couleurs=cyan/magenta,Traits]{d}{120} + %antécédents + \PlacerAntecedents[Style=x,Couleurs=blue/green!50!black,Traits]{reglin}{300} +\end{GraphiqueTikz} +\end{tcblisting} + +\subsection{Autres régressions}\label{regressions} + +En partenariat avec le package \MontreCode{xint-regression}, chargé par le package (mais \textit{désactivable} via l'option \MontreCode{[nonxintreg]}), il est possible de travailler sur d'autres types de régression : + +\begin{itemize} + \item linéaire \fbox{$ax+b$} ; + \item quadratique \fbox{$ax^2+bx+c$} ; + \item cubique \fbox{$ax^3+bx^2+cx+d$} ; + \item puissance \fbox{$ax^b$} ; + \item exponentielle \fbox{$ab^x$} ou \fbox{$e^{ax+b}$} ou \fbox{$b e^{ax}$} ou \fbox{$C + be^{ax}$} ; + \item logarithmique \fbox{$a+b\ln(x)$} ; + \item hyperbolique \fbox{$a+\displaystyle\frac{b}{x}$}. +\end{itemize} + +La commande, similaire à celle de définition d'une courbe, est : + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +\TracerAjustement[clés]<non fct>{type}<arrondis>{listex}{listey} +\end{tcblisting} + +Les \MontreCode{[clés]} disponibles sont, de manière classique : + +\begin{itemize} + \item \MontreCode{Debut} : borne inférieure de l'ensemble de définition (\MontreCode{\textbackslash pflxmin} par défaut) ; + \item \MontreCode{Fin} : borne inférieure de l'ensemble de définition (\MontreCode{\textbackslash pflxmax} par défaut) ; + \item \MontreCode{Nom} : nom de la courbe (important pour la suite !) ; + \item \MontreCode{Couleur} : couleur du tracé (\MontreCode{black} par défaut) ; + \item \MontreCode{Pas} : pas du tracé (il est déterminé \textit{automatiquement} au départ mais peut être modifié). +\end{itemize} + +\pagebreak + +Le deuxième argument, optionnel et entre \MontreCode{<...>} permet de nommer la fonction de régression. + +Le troisième argument, obligatoire et entre \MontreCode{\{...\}} permet de choisir le type de régression, parmi : + +\begin{itemize} + \item \MontreCode{lin} : linéaire \fbox{$ax+b$} ; + \item \MontreCode{quad} : quadratique \fbox{$ax^2+bx+c$} ; + \item \MontreCode{cub} : cubique \fbox{$ax^3+bx^2+cx+d$} ; + \item \MontreCode{pow} : puissance \fbox{$ax^b$} ; + \item \MontreCode{expab} : exponentielle \fbox{$ab^x$} + \item \MontreCode{hyp} : hyperbolique \fbox{$a+\displaystyle\frac{b}{x}$} ; + \item \MontreCode{log} : logarithmique \fbox{$a+b\ln(x)$} ; + \item \MontreCode{exp} : exponentielle \fbox{$e^{ax+b}$} ; + \item \MontreCode{expalt} : exponentielle \fbox{$be^{ax}$} ; + \item \MontreCode{expoff=C} : exponentielle \fbox{$C + be^{ax}$}. +\end{itemize} + +Le quatrième argument, optionnel et entre \MontreCode{<...>} permet de spécifier le ou les arrondis pour les coefficients de la fonction de régression. + +Les deux derniers arguments sont les listes des valeurs de X et de Y. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\def\LISTEXX{0,50,100,140}\def\LISTEYY{275,290,315,350}% +ListeX := \LISTEXX\\ +ListeY := \LISTEYY + +\begin{GraphiqueTikz} + [x=0.05cm,y=0.04cm,Xmin=0,Xmax=160,Xgrille=20,Xgrilles=10, + Origy=250,Ymin=250,Ymax=400,Ygrille=25,Ygrilles=5] + %préparation de la fenêtre + \TracerAxesGrilles[Elargir=2.5mm,Police=\footnotesize]{auto}{auto} + %nuage de points + \TracerNuage[Style=o,CouleurNuage=red]{\LISTEXX}{\LISTEYY} + %ajustement expoffset + \TracerAjustement[Couleur=blue,Nom=ajust]<ajust>{expoff=250}{\LISTEXX}{\LISTEYY} + %exploitations + \PlacerImages[Couleurs=cyan/magenta,Traits]{ajust}{80} + \PlacerAntecedents[Style=x,Couleurs=blue/green!50!black,Traits]{ajust}{325} +\end{GraphiqueTikz} + +\xintexpoffreg[offset=250,round=3/1]{\LISTEXX}{\LISTEYY}% +On obtient $y=250+\num{\expregoffb}\text{e}^{\num{\expregoffa}x}$ +\end{tcblisting} + +\pagebreak + +\section{Codes source des exemples de la page d'accueil} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}[x=0.85cm,y=0.35cm,Xmin=0,Xmax=10,Ymin=0,Ymax=16] + %préparation de la fenêtre + \TracerAxesGrilles[Derriere,Elargir=2.5mm,Police=\small]{0,1,...,10}{0,2,...,16} + %déf des fonctions avec nom courbe + nom fonction + expression (tracés à la fin !) + \DefinirCourbe[Nom=cf]<f>{3*x-6} + \DefinirCourbe[Nom=cg]<g>{-(x-6)^2+12} + %antécédents et intersection + \TrouverIntersections[Aff=false,Nom=K]{cf}{cg} + \TrouverAntecedents[AffDroite,Couleur=orange,Nom=I]{cg}{8} + \TrouverAntecedents[Aff=false,Nom=J]{cg}{0} + %intégrale sous une courbe, avec intersection + \TracerIntegrale% + [Couleurs=blue/purple,Bornes=noeuds,Style=hachures,Hachures=bricks]% + {g(x)}% + {(I-2)}{(J-2)} + %intégrale entre les deux courbes + \TracerIntegrale[Bornes=noeuds,Type=fct/fct]% + {f(x)}[g(x)]% + {(K-1)}{(K-2)} + %tracé des courbes et des points + \TracerCourbe[Couleur=red]{f(x)} + \TracerCourbe[Couleur=teal]{g(x)} + \PlacerPoints<\small>{(K-1)/below right/L,(K-2)/above left/M}% + \PlacerPoints[violet]<\small>{(I-1)/above left/D,(I-2)/above right/E}% + %tangente + \TracerTangente[Couleurs=pink!75!black/yellow,kl=2,kr=2,AffPoint]{g}{5} + %images + \PlacerImages[Couleurs=cyan]{g}{7,7.25,7.5} + %surimpression des axes + \TracerAxesGrilles[Devant,Elargir=2.5mm]{0,1,...,10}{0,2,...,16} +\end{GraphiqueTikz} +\end{tcblisting} + +\pagebreak + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\begin{GraphiqueTikz}% + [x=3.5cm,y=4cm, + Xmin=0,Xmax=3.5,Xgrille=pi/12,Xgrilles=pi/24, + Ymin=-1.05,Ymax=1.05,Ygrille=0.2,Ygrilles=0.05] + %préparation de la fenêtre + \TracerAxesGrilles[Derriere,Elargir=2.5mm,Format=ntrig/nsqrt]{}{} + %rajouter des valeurs + \RajouterValeursAxeX{0.25,1.4,3.3}{\num{0.25},\num{1.4},\num{3.3}} + %fonction trigo (déf + tracé) + \DefinirCourbe[Nom=ccos,Debut=0,Fin=pi]<fcos>{cos(x)} + \DefinirCourbe[Nom=csin,Debut=0,Fin=pi]<fsin>{sin(x)} + %intégrale + \TrouverIntersections[Aff=false,Nom=JKL]{ccos}{csin} + \TracerIntegrale% + [Bornes=noeud/abs,Type=fct/fct,Couleurs=cyan/cyan!50]% + {fsin(x)}[fcos(x)]% + {(JKL-1)}{pi} + %tracé des courbes + \TracerCourbe[Couleur=red,Debut=0,Fin=pi]{fcos(x)} + \TracerCourbe[Couleur=olive,Debut=0,Fin=pi]{fsin(x)} + %antécédent(s) + \PlacerAntecedents[Couleurs=blue/teal!50!black,Traits]{ccos}{-0.25} + \PlacerAntecedents[Couleurs=red/magenta!50!black,Traits]{csin}{0.5} + \PlacerAntecedents[Couleurs=orange/orange!50!black,Traits]{csin}{sqrt(2)/2} + \PlacerAntecedents[Couleurs=green!50!black/green,Traits]{csin}{sqrt(3)/2} + %surimpression axes + \TracerAxesGrilles[Devant,Format=ntrig/nsqrt]% + {pi/6,pi/4,pi/3,pi/2,2*pi/3,3*pi/4,5*pi/6,pi} + {0,sqrt(2)/2,1/2,sqrt(3)/2,1,-1,-sqrt(3)/2,-1/2,-sqrt(2)/2} +\end{GraphiqueTikz} +\end{tcblisting} + +\newpage + +\section{Commandes auxiliaires} + +\subsection{Intro} + +En marge des commandes purement \textit{graphiques}, quelques commandes auxiliaires sont disponibles : + +\begin{itemize} + \item une pour formater un nombre avec une précision donnée ; + \item une pour travailler sur des nombres aléatoires, avec contraintes. +\end{itemize} + +\subsection{Arrondi formaté}\label{numarrond} + +La commande \MontreCode{\textbackslash ArrondirNum} permet de formater, grâce au package \MontreCode{siunitx}, un nombre (ou un calcul), avec une précision donnée. Cela peut être \textit{utile} pour formater des résultats obtenus grâce aux commandes de récupération des coordonnées, par exemple. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +\ArrondirNum[précision]{calcul xint} +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +\ArrondirNum{1/3}\\ +\ArrondirNum{16.1}\\ +\ArrondirNum[3]{log(10)}\\ +\end{tcblisting} + +\subsection{Nombre aléatoire sous contraintes}\label{nbalea} + +L'idée de cette deuxième commande est de pouvoir déterminer un nombre aléatoire : + +\begin{itemize} + \item entier ou décimal ; + \item sous contraintes (entre deux valeurs fixées). +\end{itemize} + +Cela peut permettre, par exemple, de travailler sur des courbes avec points \textit{aléatoires}, mais respectant certaines contraintes. + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5,listing only} +\ChoisirNbAlea(*)[precision (déf 0)]{borne inf}{borne sup}[\macro] +\end{tcblisting} + +La version étoilée prend les contraintes sous forme stricte ($\text{borne inf} < \text{macro} < \text{borne sup}$) alors que la version normale prend les contraintes sous forme large ($\text{borne inf} \leq \text{macro} \leq \text{borne sup}$). + +\smallskip + +À noter que les \textit{bornes} peuvent être des \textit{macros} existantes ! + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +%un nombre (2 chiffres après la virgule) entre 0.75 et 0.95 +%un nombre (2 chiffres après la virgule) entre 0.05 et 0.25 +%un nombre (2 chiffres après la virgule) entre 0.55 et \YrandMax +%un nombre (2 chiffres après la virgule) entre \YrandMin et 0.45 +\ChoisirNbAlea[2]{0.75}{0.95}[\YrandMax]% +\ChoisirNbAlea[2]{0.05}{0.25}[\YrandMin]% +\ChoisirNbAlea*[2]{0.55}{\YrandMax}[\YrandA]% +\ChoisirNbAlea*[2]{\YrandMin}{0.45}[\YrandB]% +%vérification +\num{\YrandMax} \& \num{\YrandMin} \& \num{\YrandA} \& \num{\YrandB} +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +%un nombre (2 chiffres après la virgule) entre 0.75 et 0.95 +%un nombre (2 chiffres après la virgule) entre 0.05 et 0.25 +%un nombre (2 chiffres après la virgule) entre 0.55 et \YrandMax +%un nombre (2 chiffres après la virgule) entre \YrandMin et 0.45 +\ChoisirNbAlea[2]{0.75}{0.95}[\YrandMax]% +\ChoisirNbAlea[2]{0.05}{0.25}[\YrandMin]% +\ChoisirNbAlea*[2]{0.55}{\YrandMax}[\YrandA]% +\ChoisirNbAlea*[2]{\YrandMin}{0.45}[\YrandB]% +%vérification +\num{\YrandMax} \& \num{\YrandMin} \& \num{\YrandA} \& \num{\YrandB} +\end{tcblisting} + +\begin{tcblisting}{listing engine=minted,minted language=latex,colframe=lightgray,colback=lightgray!5} +%la courbe est prévue pour qu'il y ait 3 antécédents +\ChoisirNbAlea[2]{0.75}{0.95}[\YrandMax]% +\ChoisirNbAlea[2]{0.05}{0.25}[\YrandMin]% +\ChoisirNbAlea*[2]{0.55}{\YrandMax}[\YrandA]% +\ChoisirNbAlea*[2]{\YrandMin}{0.45}[\YrandB]% + +\begin{GraphiqueTikz} + [x=0.075cm,y=7.5cm,Xmin=0,Xmax=150,Xgrille=10,Xgrilles=5, + Ymin=0,Ymax=1,Ygrille=0.1,Ygrilles=0.05] + \TracerAxesGrilles[Dernier,Elargir=2.5mm]{auto}{auto} + \DefinirCourbeInterpo[Couleur=red,Trace,Nom=fonctiontest,Tension=0.75] + {(0,\YrandA)(40,\YrandMin)(90,\YrandMax)(140,\YrandB)} + \TrouverAntecedents[Aff=false,Nom=ANTECED]{fonctiontest}{0.5} + \PlacerAntecedents[Couleurs=blue/teal,Traits]{fonctiontest}{0.5} + \RecupererAbscisse{(ANTECED-1)}[\Aalpha] + \RecupererAbscisse{(ANTECED-2)}[\Bbeta] + \RecupererAbscisse{(ANTECED-3)}[\Cgamma] +\end{GraphiqueTikz} + +Les solutions de $f(x)=\num{0.5}$ sont, par lecture graphique : +$\begin{cases} + \alpha \approx \ArrondirNum[0]{\Aalpha} \\ + \beta \approx \ArrondirNum[0]{\Bbeta} \\ + \gamma \approx \ArrondirNum[0]{\Cgamma} +\end{cases}$. +\end{tcblisting} + +\newpage + +\section{Liste des commandes} + +Les commandes disponibles sont : + +\NewDocumentCommand\lstcmd{ m m m }{% + \item[\texttt{#1}] : \mintinline{latex}|#2|\hfill{}page \pageref{#3} +} + +\begin{description} + \lstcmd{environnement~~}{\begin{GraphiqueTikz}...\end{GraphiqueTikz}}{creaenvt} + \lstcmd{axes et grilles}{\TracerAxesGrille}{creaaxesgr} + \lstcmd{aj val axes X~~}{\RajouterValeursAxeX}{ajoutvals} + \lstcmd{aj val axes Y~~}{\RajouterValeursAxeY}{ajoutvals} + \lstcmd{def fonction~~~}{\DefinirCourbe}{deftracfct} + \lstcmd{tracé courbe~~~}{\TracerCourbe}{deftracfct} + \lstcmd{def interpo~~~~}{\DefinirCourbeInterpo}{deftracinterpo} + \lstcmd{tracé interpo~~}{\TracerCourbeInterpo}{deftracinterpo} + \lstcmd{def spline~~~~~}{\DefinirCourbeSpline}{deftracfctspline} + \lstcmd{tracé spline~~~}{\TracerCourbeSpline}{deftracfctspline} + \lstcmd{tracé droite~~~}{\TracerDroite}{tracdroite} + \lstcmd{def points~~~~~}{\DefinirPts}{defpts} + \lstcmd{def image~~~~~~}{\DefinirImage}{defpts} + \lstcmd{marq pts~~~~~~~}{\MarquerPts}{markpts} + \lstcmd{placer txt~~~~~}{\PlacerTexte}{placetxt} + \lstcmd{récup absc~~~~~}{\RecupererAbscisse}{recupcoordo} + \lstcmd{récup ordo~~~~~}{\RecupererOrdonnee}{recupcoordo} + \lstcmd{récup coordos~~}{\RecupererCoordonnees}{recupcoordo} + \lstcmd{images~~~~~~~~~}{\PlacerImages}{images} + \lstcmd{antécédents~~~~}{\TrouverAntecedents}{defanteced} + \lstcmd{antécédents~~~~}{\PlacerAntecedents}{tracanteced} + \lstcmd{intersection~~~}{\TrouverIntersections}{intersect} + \lstcmd{maximum~~~~~~~~}{\TrouverMaximum}{maximum} + \lstcmd{minimum~~~~~~~~}{\TrouverMinimum}{minimum} + \lstcmd{intégrale~~~~~~}{\TracerIntegrale}{integr} + \lstcmd{tangente~~~~~~~}{\TracerTangente}{tgte} + \lstcmd{loi normale~~~~}{\DefinirLoiNormale}{loinormale} + \lstcmd{loi normale~~~~}{\TracerLoiNormale}{loinormale} + \lstcmd{loi khideux~~~~}{\DefinirLoiKhiDeux}{loikhideux} + \lstcmd{loi khideux~~~~}{\TracerLoiKhiDeux}{loikhideux} + \lstcmd{stats 2 var~~~~}{\TracerNuage}{nuage} + \lstcmd{regressions~~~~}{\TracerAjustement}{regressions} + \lstcmd{arrondi~~~~~~~~}{\ArrondirNum}{numarrond} + \lstcmd{nb aléat~~~~~~~}{\ChoisirNbAlea}{nbalea} +\end{description} + +\pagebreak + +\section{Historique} + +\begin{quote} +\begin{verbatim} +0.1.5 : Correction d'un bug sur les rajouts de valeurs + Nœud pour une image + [en] version ! +0.1.4 : Placement de texte +0.1.3 : Ajout de régressions avec le package xint-regression +0.1.2 : Droites + Extremums +0.1.1 : Densité loi normale et khi deux + Marquage points + Améliorations +0.1.0 : Version initiale +\end{verbatim} +\end{quote} + +\end{document}
\ No newline at end of file |