summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/proflycee/tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-05-10 03:00:55 +0000
committerNorbert Preining <norbert@preining.info>2023-05-10 03:00:55 +0000
commit5e139880c66c4b758877d1724c95670a40f8c2dc (patch)
tree2dde2243509fd19f3b50dedc6dedf8e03eab45f6 /macros/latex/contrib/proflycee/tex
parent901b036639a3dca060ae150087e7fc5f9fbb5cba (diff)
CTAN sync 202305100300
Diffstat (limited to 'macros/latex/contrib/proflycee/tex')
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty3
-rw-r--r--macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex98
2 files changed, 100 insertions, 1 deletions
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index 4056245d3e..322e4ad25d 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,7 +3,8 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2023/05/03 2.6.2 Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2023/05/09 2.6.3 Aide pour l'utilisation de LaTeX en lycee]
+% 2.6.3 Ajout d'une commande pour l'équation affine d'une droite passant par deux points
% 2.6.2 Correction de commandes pour la pseudo3d + nouvelle clé pour la trigo
% 2.6.1 Ajout de commandes pour du calcul intégral (valeur approchée + tikz)
% 2.6.0 Ajout d'une clé [Brut] pour les mesures principales + commande calcul ligne trigo
diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
index e1ccba52d6..0e8906ee96 100644
--- a/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
+++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex
@@ -531,4 +531,102 @@
{}%
}
+%==fonction affine==
+\NewDocumentCommand\AffCoeffFAm{ O{d} m }{%
+ \xintifboolexpr{#2 == 0}{}{}%
+ \xintifboolexpr{#2 == 1}{x}{}%
+ \xintifboolexpr{#2 == -1}{-x}{}%
+ \xintifboolexpr{#2 != 0 'and' #2 !=1 'and' #2 != -1}{\ConversionFraction[#1]{#2} x}{}%
+}
+
+\NewDocumentCommand\AffCoeffFAp{ O{d} m }{%
+ \xintifboolexpr{#2 == 0}%
+ {}%
+ {%
+ \xintifboolexpr{#2 > 0}{+\ConversionFraction[#1]{#2}}{\ConversionFraction[#1]{#2}}%
+ }%
+}
+
+\NewDocumentCommand\AffCoeffFloatPa{ O{d} m }{%
+ \IfDecimal{#2}%
+ {%
+ \xintifboolexpr{#2 < 0}%
+ {\left(\num{#2}\right)}%
+ {\num{#2}}%
+ }%
+ {%
+ \xintifboolexpr{#2 < 0}%
+ {\left(\ConversionFraction[#1]{#2}\right)}%
+ {\ConversionFraction[#1]{#2}}%
+ }%
+}
+
+\NewDocumentCommand\AffCoeffFloat{ O{d} m }{%
+ \IfDecimal{#2}%
+ {%
+ {\num{#2}}%
+ }%
+ {%
+ {\ConversionFraction[#1]{#2}}%
+ }%
+}
+
+\NewDocumentCommand\AffCoeffPa{ O{d} m }{%
+ \xintifboolexpr{#2 < 0}%
+ {\left(\ConversionFraction[#1]{#2}\right)}%
+ {\ConversionFraction[#1]{#2}}%
+}
+
+\NewDocumentCommand\EquationReduite{ O{d} m}{%
+ \setsepchar[*]{,*/}%
+ \readlist*\ListePoints{#2}%
+ %Les cas particuliers
+ \xintifboolexpr{\ListePoints[2,2] == \ListePoints[1,2] 'and' \ListePoints[2,3] == \ListePoints[1,3] }%
+ {
+ Les deux points donnés sont identiques, donc pas de droite\ldots
+ }%
+ {}%
+ \xintifboolexpr{\ListePoints[2,2] == \ListePoints[1,2] 'and' \ListePoints[2,3] != \ListePoints[1,3] }%
+ {
+ Étant donné que $x_{\ListePoints[1,1]} = x_{\ListePoints[2,1]}$, la droite $(\ListePoints[1,1]\ListePoints[2,1])$ est verticale, dont une équation est $x=\ConversionFraction[#1]{\ListePoints[1,2]}$.
+ }%
+ {}%
+ \xintifboolexpr{\ListePoints[2,2] != \ListePoints[1,2] 'and' \ListePoints[2,3] == \ListePoints[1,3] }%
+ {%
+ Étant donné que $y_{\ListePoints[1,1]} = y_{\ListePoints[2,1]}$, la droite $(\ListePoints[1,1]\ListePoints[2,1])$ est horizontale, dont une équation est $y=\ConversionFraction[#1]{\ListePoints[1,3]}$.
+ }%
+ {}%
+ \xintifboolexpr{\ListePoints[2,2] != \ListePoints[1,2] 'and' \ListePoints[2,3] != \ListePoints[1,3] }%
+ {%
+ \itemtomacro\ListePoints[1,1]\NomA%
+ \itemtomacro\ListePoints[2,1]\NomB%
+ \itemtomacro\ListePoints[1,2]\xA%
+ \itemtomacro\ListePoints[1,3]\yA%
+ \itemtomacro\ListePoints[2,2]\xB%
+ \itemtomacro\ListePoints[2,3]\yB%
+ \xdef\CoeffDirBrut{\xinteval{(\yB-\yA)/(\xB-\xA)}}%
+ \xdef\OrdoOrigBrut{\xinteval{\yB-(\CoeffDirBrut*\xB)}}%
+ \xdef\CoeffDirConv{\ConversionFraction{(\yB-\yA)/(\xB-\xA)}}%
+ \xdef\OrdoOrigConv{\ConversionFraction{\yB-(\CoeffDirBrut*\xB)}}%
+ Afin de déterminer l'équation réduite d'une droite passant par les points $\NomA$ et $\NomB$, on doit d'abord déterminer le coefficient directeur $m$ :
+ \[m=\frac{y_\NomB-y_\NomA}{x_\NomB-x_\NomA}=
+ \frac{\AffCoeffFloat[]{\yB}-\AffCoeffFloatPa[]{\yA}}{\AffCoeffFloat[]{\xB}-\AffCoeffFloatPa[]{\xA}}=
+ \frac{\ConversionFraction{\xinteval{\yB-\yA}}}{\ConversionFraction{\xinteval{\xB-\xA}}}=
+ \ConversionFraction{\CoeffDirBrut}\]%
+ %
+ L'équation réduite de la droite est donc de la forme $(\NomA\NomB)$ : $y=\AffCoeffFAm[#1]{\CoeffDirBrut}+p$.\par
+ %
+ Il faut enfin déterminer l'ordonnée à l'origine $p$.\par
+ %
+ On sait que la droite passe par le point $\NomA$, donc les coordonnées $\NomA\left(\AffCoeffFloat[]{\xA};\AffCoeffFloat[]{\yA}\right)$ vérifient l'équation. On a alors :
+ %
+ \[y_\NomA=\ConversionFraction{\CoeffDirBrut} \times x_\NomA+p
+ \implies
+ \AffCoeffFloat[#1]{\yA} = \ConversionFraction{\CoeffDirBrut} \times \AffCoeffFloatPa[#1]{\xA} + p \implies p = \AffCoeffFloat[#1]{\yA} - \left(\ConversionFraction{\CoeffDirBrut} \times \AffCoeffFloatPa{\xA}\right) \implies p = \OrdoOrigConv\]
+ %
+ Donc l'équation réduite de $(\NomA\NomB)$ est $y=\AffCoeffFAm[#1]{\CoeffDirBrut} \AffCoeffFAp[#1]{\OrdoOrigBrut}$.
+ }%
+ {}%
+}
+
\endinput \ No newline at end of file