summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-01-04 22:31:15 +0000
committerKarl Berry <karl@freefriends.org>2022-01-04 22:31:15 +0000
commitb5a4f9e9c7a4017d4329cf01cba4254906b499d3 (patch)
treed0ff318d6e88ecdb5ff78ae0fd33f6f27d5a3154 /Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex
parent2826ceba9c796e6ec935ff71098328b0042b3ff3 (diff)
tkz-euclide (4jan22)
git-svn-id: svn://tug.org/texlive/trunk@61496 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex')
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex72
1 files changed, 72 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex
new file mode 100644
index 00000000000..d9636c2d83d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-angles.tex
@@ -0,0 +1,72 @@
+% tkz-tools-angles.tex
+% Copyright 2022 Alain Matthes
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% This work has the LPPL maintenance status “maintained”.
+% The Current Maintainer of this work is Alain Matthes.
+
+\def\fileversion{4.00}
+\def\filedate{2022/01/04}
+\typeout{2022/01/04 4.00 tkz-tools-angles.tex}
+\makeatletter
+%<--------------------------------------------------------------------------–>
+%<--------------------------------------------------------------------------–>
+% thanks karu : http://tex.stackexchange.com/questions/151667/tkzgetangle-strange-behavior/196224#196224 \tkzGetAngle strange behavior
+% defines \tkz@FirstAngle and \tkz@SecondAngle sens trigo
+%<--------------------------------------------------------------------------–>
+ \def\tkzNormalizeAngle(#1,#2){%
+ \begingroup
+ \pgfmathparse{#1}\xdef\tkz@FirstAngle{\pgfmathresult}%
+ \pgfmathparse{#2}\xdef\tkz@SecondAngle{\pgfmathresult}%
+ \pgfmathgreaterthan{\tkz@FirstAngle}{0}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathsubtract{\tkz@FirstAngle}{360}
+ \xdef\tkz@FirstAngle{\pgfmathresult}%
+ \fi
+ \else
+ \pgfmathgreaterthan{\tkz@FirstAngle}{\tkz@SecondAngle}
+ \ifdim\pgfmathresult pt=1 pt\relax%
+ \pgfmathadd{\tkz@SecondAngle}{360}
+ \xdef\tkz@SecondAngle{\pgfmathresult}%
+ \fi
+ \fi
+ \endgroup
+ }
+%<--------------------------------------------------------------------------–>
+% Angle
+% Recherche l'angle formé par #1 et #2 par rapport à l'horizontale
+%<--------------------------------------------------------------------------–>
+\def\tkzFindSlopeAngle(#1,#2){%
+\begingroup
+ \pgfmathanglebetweenpoints{\pgfpointanchor{#1}{center}}{%
+ \pgfpointanchor{#2}{center}}
+ \global\let\tkzAngleResult\pgfmathresult
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Angle avec trois nodes
+%<--------------------------------------------------------------------------–>
+\def\tkzFindAngle(#1,#2,#3){% new code 2016
+\begingroup
+ \tkzFindSlopeAngle(#2,#1)\tkzGetAngle{tkz@FirstAngle}
+ \tkzFindSlopeAngle(#2,#3)\tkzGetAngle{tkz@SecondAngle}
+ \tkzNormalizeAngle(\tkz@FirstAngle,\tkz@SecondAngle)
+ \edef\tkz@Angle{\fpeval{\tkz@SecondAngle-\tkz@FirstAngle}}
+ \global\let\tkzAngleResult\tkz@Angle
+\endgroup
+}
+%<--------------------------------------------------------------------------–>
+% Find angle
+%<--------------------------------------------------------------------------–>
+\def\tkzGetAngle#1{%
+ \global\expandafter\edef\csname #1\endcsname{\tkzAngleResult}
+}
+\makeatother
+\endinput \ No newline at end of file