diff options
author | Norbert Preining <norbert@preining.info> | 2022-07-16 03:00:55 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-07-16 03:00:55 +0000 |
commit | 24ae0c3844b308d81bc4684e57817d43c0b29a13 (patch) | |
tree | 91058aa850845b445f48d52794ce128c9b0d419f /macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex | |
parent | 672664411215c14fc71db763da169731d3c6a361 (diff) |
CTAN sync 202207160300
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex')
-rw-r--r-- | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex | 61 |
1 files changed, 58 insertions, 3 deletions
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex index 93b14350f9..6a9397171d 100644 --- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex +++ b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-tools-eu-utilities.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{4.051b} -\def\filedate{2022/02/25} -\typeout{2022/02/25 4.051b tkz-tools-eu-utilities.tex} +\def\fileversion{4.2c} +\def\filedate{2022/07/14} +\typeout{2022/07/14 4.2c tkz-tools-eu-utilities.tex} \makeatletter \pgfkeys{/tkzClip/.cd, space/.store in = {\tkz@CLI@space}, @@ -177,5 +177,60 @@ space = {}} \tkzURotateWithNodes(#1,#3,#2)(#3) \tkzGetPoint{tkzpt} \tkzURotateWithNodes(#1,#2,#3)(#2) \tkzGetPoint{#2} \tkzSwapPoints(tkzpt,#3)} +%<---------------------------------------------------------–> +\def\tkzDotProduct(#1,#2,#3){% +\begingroup +\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}}% +\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}}% +\tkz@ax\pgf@x% +\tkz@ay\pgf@y% +\pgfextractx{\pgf@x}{\pgfpointanchor{#2}{center}}% +\pgfextracty{\pgf@y}{\pgfpointanchor{#2}{center}} +\tkz@bx\pgf@x% +\tkz@by\pgf@y% +\pgfextractx{\pgf@x}{\pgfpointanchor{#3}{center}}% +\pgfextracty{\pgf@y}{\pgfpointanchor{#3}{center}}% +\tkz@cx\pgf@x% +\tkz@cy\pgf@y% +\edef\tkz@dotprod{\fpeval{round(((\tkz@bx-\tkz@ax)*(\tkz@cx-\tkz@ax)+(\tkz@by-\tkz@ay)*(\tkz@cy-\tkz@ay))/(809.55841),5)}} +\global\let\tkzMathResult\tkz@dotprod +\endgroup} +%<---------------------------------------------------------–> + \def\tkzGetResult#1{% + \global\expandafter\edef\csname #1\endcsname{\tkzMathResult}} +%<---------------------------------------------------------–> +% #1,#2 and #3 aligned +\def\tkzIsLinear(#1,#2,#3){% +\begingroup +\tkz@@CalcLengthcm(#1,#2){tkz@la} +\tkz@@CalcLengthcm(#1,#3){tkz@lb} +\tkzDotProduct(#1,#2,#3) +\edef\tkzMathResult{\fpeval{abs(abs(\tkzMathResult)-(\tkz@la)*(\tkz@lb))}} +\ifdim \tkzMathResult pt < 0.0001 pt\relax% +\global\tkzLineartrue +\else +\global\tkzLinearfalse +\fi +\endgroup +} +%<---------------------------------------------------------–> +% syntax : vec(#2,#1) ortho vec(#3,#1) +\def\tkzIsOrtho(#1,#2,#3){% +\begingroup +\tkzDotProduct(#1,#2,#3) +\edef\tkzMathResult{\fpeval{abs(\tkzMathResult)}} +\ifdim \tkzMathResult pt < 0.0001 pt\relax% +\global\tkzOrthotrue +\else +\global\tkzOrthofalse +\fi +\endgroup +} +%<---------------------------------------------------------–> + \def\tkzHelpGrid{% + \draw[help lines] (current bounding box.south west) grid + (current bounding box.north east); + } + \makeatother \endinput
\ No newline at end of file |