diff options
Diffstat (limited to 'Master/texmf-dist/tex')
43 files changed, 754 insertions, 248 deletions
diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-angles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-angles.tex index 36764224418..07e35c0cb94 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-angles.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-angles.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tool-eu-angles.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tool-eu-angles.tex} \makeatletter %<--------------------------------------------------------------------------–> % tkzSetUpArc diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-circles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-circles.tex index 8a9764d7630..9f933d81776 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-circles.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-circles.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-draw-circles.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-draw-circles.tex} \makeatletter %<--------------------------------------------------------------------------–> % tkzSetUpCircle diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-compass.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-compass.tex index 76f3a888be1..d42d713738a 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-compass.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-compass.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-compass.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-compass.tex} \makeatletter %<--------------------------------------------------------------------------–> % Author Alain Matthes diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-lines.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-lines.tex index 216bc15fcb9..0d02cb215e5 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-lines.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-lines.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-draw-lines.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-draw-lines.tex} \makeatletter %<--------------------------------------------------------------------------–> diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-points.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-points.tex index eeffaecff2c..ed09b0d08a6 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-points.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-points.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-points.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-points.tex} \makeatletter %<---------------------------------------------------------------------------> % tkzSetUpPoint définit la forme d'un point diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-polygons.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-polygons.tex index a0f59a0a654..575a017e967 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-polygons.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-polygons.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-polygons.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-polygons.tex} \makeatletter %<--------------------------------------------------------------------------–> % Polygon diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-protractor.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-protractor.tex index fb995eead7a..01e5a61fc19 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-protractor.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-protractor.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-protractor.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-protractor.tex} \makeatletter %<--------------------------------------------------------------------------–> % !!! idea from Y. Combe !!! diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-sectors.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-sectors.tex index 685ee592423..389a660ce27 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-sectors.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-sectors.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-sectors.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-sectors.tex} \makeatletter %<----------------------- Sectors ------------------------------–> \gdef\tkz@nums{0} diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-show.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-show.tex index 2f5d97bc986..727fb8347d6 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-show.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-draw-eu-show.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-show.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-show.tex} \makeatletter %<--------------------------------------------------------------------------–> % finding specific points in a triangle diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg index a67e46e31a1..f01d5808a3a 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.cfg @@ -16,9 +16,9 @@ % and save the file in a directory part of your TEXINPUTS environment % variable. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-euclide.cfg} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-euclide.cfg} %<------ colors ---------------------------------------–> \def\tkz@backgroundcolor{white} \def\tkz@textcolor{black} diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty index 3b2c9f43652..454605887ee 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-euclide.sty @@ -10,11 +10,11 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. %------------------------------------------------------------------------------- -\def\fileversion{5.00c} -\def\filedate{2023/11/03} -\typeout{2023/11/03 5.00c tkz-euclide.sty} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-euclide.sty} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{tkz-euclide}[ 2023/11/03 5.00c for pure Euclidean Geometry ] +\ProvidesPackage{tkz-euclide}[ 2023/01/24 5.01c for pure Euclidean Geometry ] \newif\if@tkzlua \@tkzluafalse \DeclareOption{lua}{\@tkzluatrue} diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex index 3e536edc330..918161e00b5 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-marks.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-lib-eu-marks.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-lib-eu-marks.tex} \makeatletter %<--------------------------------------------------------------------------–> % Création des symboles diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex index 522e2051620..7beadbb97cb 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-lib-eu-shape.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-lib-eu-shape.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-lib-eu-shape.tex} %<--------------------------------------------------------------------------–> % Création des symboles %<--------------------------------------------------------------------------–> diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex index 3d2fedacc2d..1ec777e71bb 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-axesmin.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-axesmin} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-axesmin} \makeatletter \def\removedot#1.{#1} diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex index b4f7f8ebaf1..b33e43bfc4a 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles-by.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-circles.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-circles.tex} \makeatletter %<--------------------------------------------------------------------------–> % tkzCircle center and one point diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex index 4428f407f59..8f8f7ef830a 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-circles.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-circles.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-circles.tex} \makeatletter %<--------------------------------------------------------------------------–> % tkzCircle center and one point diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex index c6c1be300de..a25e114c836 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-grids.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-grids.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-grids.tex} \makeatletter %<--------------------------------------------------------------------------–> % Setup Grid diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex index 5d5e2934fe5..e5a0f519af4 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-lines.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-lines.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-lines.tex} \makeatletter %<--------------------------------------------------------------------------–> % les lignes diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex index 2af038e9571..8733eb999d8 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-by.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-eu-points-by.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-eu-points-by.tex} \makeatletter %<--------------------------------------------------------------------------–> % Transformations Géométriques diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex index a5aa32776ab..956ddddc8b3 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-rnd.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-points-rnd.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-points-rnd.tex} %<--------------------------------------------------------------------------–> \makeatletter %<-------------------------------------------------------------------------–> diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex new file mode 100644 index 00000000000..174342a4449 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex @@ -0,0 +1,628 @@ +% tkz-obj-eu-points.tex +% Copyright 2023 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{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-el-points.tex} +\makeatletter +%add ExCenter +%<--------------------------------------------------------------------------–> +% Specific points +%<--------------------------------------------------------------------------–> +% barycentre +%<--------------------------------------------------------------------------–> +\def\tkzDefBarycentricPoint(#1){% +\begingroup + \path[coordinate] (barycentric cs:#1) coordinate (tkzPointResult); +\endgroup +} +\let\tkzDefBCPoint\tkzDefBarycentricPoint + +%<--------------------------------------------------------------------------–> +% milieu de deux points +%<--------------------------------------------------------------------------–> +% possible \coordinate (#3) at ($(#1)!0.5!(#2)$); +%<--------------------------------------------------------------------------–> +% \def\tkzDefMidPoint(#1,#2){% +% \begingroup +% \path (#1) -- (#2) coordinate[pos=.5](tkzPointResult); +% \endgroup +% } +\def\tkzDefMidPoint(#1,#2){% +\begingroup + \pgf@process{\pgfpointanchor{#1}{center}}% + \tkz@ax\pgf@x% + \tkz@ay\pgf@y% + \pgf@process{\pgfpointanchor{#2}{center}}% + \tkz@bx\pgf@x% + \tkz@by\pgf@y% + \advance\tkz@bx by\tkz@ax\relax% + \advance\tkz@by by\tkz@ay\relax% + \divide\tkz@bx by2\relax% + \divide\tkz@by by2\relax + \pgfcoordinate{tkzPointResult}{\pgfqpoint{\tkz@bx}{\tkz@by}} +\endgroup +} +\def\tkz@DefMidPoint(#1,#2,#3,#4){% +\begingroup + \tkz@ax#1% + \tkz@ay#2% + \tkz@bx#3% + \tkz@by#4% + \advance\tkz@bx by\tkz@ax\relax% + \advance\tkz@by by\tkz@ay\relax% + \divide\tkz@bx by2\relax% + \divide\tkz@by by2\relax + \pgfcoordinate{tkzPointResult}{\pgfqpoint{\tkz@bx}{\tkz@by}} +\endgroup +} +%<--------------------------------------------------------------------------–> +\def\tkz@simicenter{0} +\pgfkeys{/tkzsimicenter/.cd, + ext/.code = \def\tkz@simicenter{0}, + int/.code = \def\tkz@simicenter{1}, + ext +}% + +\def\tkzDefSimilitudeCenter{\pgfutil@ifnextchar[{\tkz@DefSimilitudeCenter}% + {\tkz@DefSimilitudeCenter[]}} +\def\tkz@DefSimilitudeCenter[#1](#2,#3)(#4,#5){% +\pgfqkeys{/tkzsimicenter}{#1} +\begingroup +\ifcase\tkz@simicenter% + \tkzDefExtSimilitudeCenter[#1](#2,#3)(#4,#5) + \or% 1 + \tkzDefIntSimilitudeCenter[#1](#2,#3)(#4,#5) +\fi +\endgroup +} +%<--------------------------------------------------------------------------–> +% Internal Similitude center +% Two circles have two similitude centers namely the internal center of +% similitude Si and the external similitude center Se. +%<--------------------------------------------------------------------------–> +\def\tkz@numhomo{0} +\pgfkeys{ +/tkzSimilitudeCenter/.cd, + node/.code = \def\tkz@numhomo{0}, + R/.code = \def\tkz@numhomo{1}, + node, + /tkzSimilitudeCenter/.unknown/.code = {\let\searchname=\pgfkeyscurrentname + \pgfkeysalso{\searchname/.try=#1, /tikz/\searchname/.retry=#1}} +} +\def\tkzDefIntSimilitudeCenter{\pgfutil@ifnextchar[{\tkz@DefIntSimilitudeCenter}{\tkz@DefIntSimilitudeCenter[]}} +\def\tkz@DefIntSimilitudeCenter[#1](#2,#3)(#4,#5){% +\begingroup +\pgfqkeys{/tkzSimilitudeCenter}{#1} +\ifcase\tkz@numhomo% + \tkz@@CalcLengthcm(#2,#3){tkz@rt}% + \tkz@@CalcLengthcm(#4,#5){tkz@rf}% + \or% 1 + \def\tkz@rt{#3}% + \def\tkz@rf{#5}% +\fi +\pgfinterruptboundingbox + \path[coordinate](barycentric cs:#2=\tkz@rf,#4=\tkz@rt)coordinate (tkzPointResult); + \endpgfinterruptboundingbox +\endgroup +} +\let\tkzDefIntHomotheticCenter\tkzDefIntSimilitudeCenter +%<--------------------------------------------------------------------------–> +% External Similitude center +%<--------------------------------------------------------------------------–> +\def\tkzDefExtSimilitudeCenter{\pgfutil@ifnextchar[{\tkz@DefExtSimilitudeCenter}{\tkz@DefExtSimilitudeCenter[]}} + +\def\tkz@DefExtSimilitudeCenter[#1](#2,#3)(#4,#5){% +\begingroup +\pgfqkeys{/tkzSimilitudeCenter}{#1} +\ifcase\tkz@numhomo% + \tkz@@CalcLengthcm(#2,#3){tkz@rt}% + \tkz@@CalcLengthcm(#4,#5){tkz@rf}% + \or% 1 + \def\tkz@rt{#3}% + \def\tkz@rf{#5}% +\fi + \pgfinterruptboundingbox + \path[coordinate](barycentric cs:#2=-\tkz@rf,#4=\tkz@rt) coordinate(tkzPointResult); + \endpgfinterruptboundingbox +\endgroup +} + +\let\tkzDefExtHomotheticCenter\tkzDefExtSimilitudeCenter +%<--------------------------------------------------------------------------–> +% Harmonic Division +%<--------------------------------------------------------------------------–> +% A , B , C ,D CA/CB = DA/DB +%<--------------------------------------------------------------------------–> +\def\tkz@numdha{0} +\pgfkeys{/tkzharmonic/.cd, + ext/.code = \def\tkz@numdha{0}, + int/.code = \def\tkz@numdha{1}, + both/.code = \def\tkz@numdha{2}, + both, +}% + +\def\tkzDivHarmonic{\pgfutil@ifnextchar[{\tkz@DivHarmonic}{\tkz@DivHarmonic[]}} +\def\tkz@DivHarmonic[#1](#2){% +\begingroup +\pgfqkeys{/tkzharmonic}{#1} + \ifcase\tkz@numdha% + \tkzDefDivHarmonicExt(#2) + \or% + \tkzDefDivHarmonicInt(#2) + \or% + \tkzDefDivHarmonicBoth(#2) + \fi +\endgroup +} + +\def\tkzDefDivHarmonicExt(#1,#2,#3){% +\begingroup +\pgfinterruptboundingbox + \tkz@VecKOrth[](#1,#2) \tkzGetPoint{tkz@px} + \tkzDefMidPoint(tkz@px,#2) \tkzGetPoint{tkz@py} + \tkzInterLL(tkz@px,#3)(#1,tkz@py) \tkzGetPoint{tkz@pz} + \tkzInterLL(#2,tkz@pz)(#1,tkz@px) \tkzGetPoint{tkz@px} + \tkzInterLL(tkz@py,tkz@px)(#1,#2) \tkzGetPoint{tkzPointResult} +\endpgfinterruptboundingbox +\endgroup +} + +\def\tkzDefDivHarmonicInt(#1,#2,#3){% +\begingroup +\pgfinterruptboundingbox + \tkz@VecKOrth[1](#1,#2) \tkzGetPoint{tkz@px} + \tkzDefMidPoint(tkz@px,#2) \tkzGetPoint{tkz@py} + \tkzInterLL(tkz@py,#3)(#1,tkz@px) \tkzGetPoint{tkz@pz} + \tkzInterLL(#2,tkz@pz)(#1,tkz@py) \tkzGetPoint{tkz@py} + \tkzInterLL(tkz@py,tkz@px)(#1,#2) \tkzGetPoint{tkzPointResult} +\endpgfinterruptboundingbox +\endgroup +} + +\def\tkzDefDivHarmonicBoth(#1,#2,#3){% +\begingroup +\edef\tkz@k{\fpeval{#3}} + \path[coordinate] (barycentric cs:#1=1,#2={\tkz@k}) coordinate (tkzFirstPointResult); + \path[coordinate] (barycentric cs:#1=1,#2={-\tkz@k}) coordinate (tkzSecondPointResult); +\endgroup +} + +\let\tkzDefHarmonic\tkzDivHarmonic +%<--------------------------------------------------------------------------–> +% golden ratio +%<--------------------------------------------------------------------------–> +\def\tkzDefGoldenRatio(#1,#2){% +\begingroup +\tkzDefPointWith[linear,K=\tkzInvPhi](#1,#2) +\endgroup +} +%<--------------------------------------------------------------------------–> +% triangle center +%<--------------------------------------------------------------------------–> + +\def\tkz@numtc{0} +\pgfkeys{/tkzDefTriangleCenter/.cd, + ortho/.code = \def\tkz@numtc{0}, + orthic/.code = \def\tkz@numtc{0}, + centroid/.code = \def\tkz@numtc{1}, + median/.code = \def\tkz@numtc{1}, + circum/.code = \def\tkz@numtc{2}, + in/.code = \def\tkz@numtc{3}, + ex/.code = \def\tkz@numtc{4}, + euler/.code = \def\tkz@numtc{5}, + symmedian/.code = \def\tkz@numtc{6}, + lemoine/.code = \def\tkz@numtc{6}, + grebe/.code = \def\tkz@numtc{6}, + spieker/.code = \def\tkz@numtc{7}, + gergonne/.code = \def\tkz@numtc{8}, + nagel/.code = \def\tkz@numtc{9}, + mittenpunkt/.code = \def\tkz@numtc{10}, + feuerbach/.code = \def\tkz@numtc{11}, + circum +} +\def\tkzDefTriangleCenter{\pgfutil@ifnextchar[{\tkz@DefTriangleCenter}{\tkz@DefTriangleCenter[]}} +\def\tkz@DefTriangleCenter[#1](#2){% +\begingroup +\pgfqkeys{/tkzDefTriangleCenter}{#1} +\ifcase\tkz@numtc% + \tkzOrthoCenter(#2) + \or% 1 + \tkzCentroid(#2) + \or% 2 + \tkzCircumCenter(#2) + \or% 3 + \tkzInCenter(#2) + \or% 4 + \tkzExCenter(#2) + \or% 5 + \tkzEulerCenter(#2) + \or% 6 + \tkzSymmedianCenter(#2) + \or% 7 + \tkzSpiekerCenter(#2) + \or% 8 + \tkzGergonneCenter(#2) + \or%9 + \tkzNagelCenter(#2) + \or%10 + \tkzMittenpunktCenter(#2) + \or%11 + \tkzFeuerbachCenter(#2) + \fi +\endgroup +} +%<--------------------------------------------------------------------------–> +% OrthoCenter +%<--------------------------------------------------------------------------–> +\def\tkzOrthoCenter(#1,#2,#3){% +\begingroup + \pgfinterruptboundingbox + \tkzUProjection(#1,#2)(#3) + \pgfnodealias{ort@pta}{tkzPointResult} + \tkzUProjection(#1,#3)(#2) + \pgfnodealias{ort@ptb}{tkzPointResult} + \tkzInterLL(#2,ort@ptb)(#3,ort@pta) + \endpgfinterruptboundingbox +\endgroup +} +\let\tkzDefOrthoCenter\tkzOrthoCenter +%<--------------------------------------------------------------------------–> +% GravityCenter modif 3.03 +%<--------------------------------------------------------------------------–> +\def\tkzCentroid(#1,#2,#3){% +\begingroup + \pgf@process{\pgfpointanchor{#1}{center}}% + \tkz@ax\pgf@x% + \tkz@ay\pgf@y% + \pgf@process{\pgfpointanchor{#2}{center}}% + \tkz@bx\pgf@x% + \tkz@by\pgf@y% + \pgf@process{\pgfpointanchor{#3}{center}}% + \tkz@cx\pgf@x% + \tkz@cy\pgf@y% + \advance\tkz@cx by\tkz@ax\relax% + \advance\tkz@cy by\tkz@ay\relax% + \advance\tkz@cx by\tkz@bx\relax% + \advance\tkz@cy by\tkz@by\relax% + \divide\tkz@cx by3\relax% + \divide\tkz@cy by3\relax + \pgfinterruptboundingbox + \pgfcoordinate{tkzPointResult}{\pgfqpoint{\tkz@cx}{\tkz@cy}} + \endpgfinterruptboundingbox +\endgroup +} +\let\tkzBaryCenter\tkzCentroid + +%<--------------------------------------------------------------------------–> +% CircumCenter +%<--------------------------------------------------------------------------–> +\def\tkzCircumCenter(#1,#2,#3){% +\begingroup +\pgfinterruptboundingbox + \tkzDefMediatorLine(#1,#2) + \pgf@process{\pgfpointanchor{tkzFirstPointResult}{center}}% + \tkz@ax\pgf@x% + \tkz@ay\pgf@y% + \pgf@process{\pgfpointanchor{tkzSecondPointResult}{center}}% + \tkz@bx\pgf@x% + \tkz@by\pgf@y% + \tkzDefMediatorLine(#1,#3) + \pgf@process{\pgfpointanchor{tkzFirstPointResult}{center}}% + \tkz@cx\pgf@x% + \tkz@cy\pgf@y% + \pgf@process{\pgfpointanchor{tkzSecondPointResult}{center}}% + \tkz@dx\pgf@x% + \tkz@dy\pgf@y% +\tkzInterLLxy(\tkz@ax,\tkz@ay,\tkz@bx,\tkz@by)(\tkz@cx,\tkz@cy,\tkz@dx,\tkz@dy)% +\endpgfinterruptboundingbox +\endgroup +} +\let\tkzDefCircumCenter\tkzCircumCenter +%<--------------------------------------------------------------------------–> +% InCenter +%<--------------------------------------------------------------------------–> +\def\tkzInCenter(#1,#2,#3){% +\begingroup +\pgfinterruptboundingbox +\tkzDefBisectorLine(#3,#1,#2) +\pgf@process{\pgfpointanchor{tkzPointResult}{center}}% +\tkz@bx\pgf@x% +\tkz@by\pgf@y% +\tkzDefBisectorLine(#3,#2,#1) +\pgf@process{\pgfpointanchor{tkzPointResult}{center}}% +\tkz@dx\pgf@x% +\tkz@dy\pgf@y% +\pgf@process{\pgfpointanchor{#1}{center}}% +\tkz@ax\pgf@x% +\tkz@ay\pgf@y% +\pgf@process{\pgfpointanchor{#2}{center}}% +\tkz@cx\pgf@x% +\tkz@cy\pgf@y% +\tkzInterLLxy(\tkz@ax,\tkz@ay,\tkz@bx,\tkz@by)(\tkz@cx,\tkz@cy,\tkz@dx,\tkz@dy)% +\endpgfinterruptboundingbox +\endgroup +} +\let\tkzDefInCenter\tkzInCenter +%<--------------------------------------------------------------------------–> +% ExCenter +%<--------------------------------------------------------------------------–> +\def\tkzExCenter(#1,#2,#3){% +\begingroup +\pgfinterruptboundingbox +\tkzDefBisectorOutLine(#2,#1,#3) +\pgf@process{\pgfpointanchor{tkzPointResult}{center}}% +\tkz@bx\pgf@x% +\tkz@by\pgf@y% +\tkzDefBisectorOutLine(#2,#3,#1) +\pgf@process{\pgfpointanchor{tkzPointResult}{center}}% +\tkz@dx\pgf@x% +\tkz@dy\pgf@y% +\pgf@process{\pgfpointanchor{#1}{center}}% +\tkz@ax\pgf@x% +\tkz@ay\pgf@y% +\pgf@process{\pgfpointanchor{#3}{center}}% +\tkz@cx\pgf@x% +\tkz@cy\pgf@y% +\tkzInterLLxy(\tkz@ax,\tkz@ay,\tkz@bx,\tkz@by)(\tkz@cx,\tkz@cy,\tkz@dx,\tkz@dy)% +\endpgfinterruptboundingbox +\endgroup +} +\let\tkzDefExCenter\tkzExCenter +%<--------------------------------------------------------------------------–> +% EulerCenter neuf points +%<--------------------------------------------------------------------------–> +\def\tkzEulerCenter(#1,#2,#3){% +% mileu de orthocentre et centre cercle circonscrit +% passe par les midpoints par les pieds des hauteurs +\begingroup +\pgfinterruptboundingbox +\tkzDefMidPoint(#1,#2) +\pgfnodealias{eu@mic}{tkzPointResult} +\tkzDefMidPoint(#1,#3) +\pgfnodealias{eu@mib}{tkzPointResult} +\tkzDefMidPoint(#2,#3) +\pgfnodealias{eu@mia}{tkzPointResult} +\tkzCircumCenter(eu@mia,eu@mib,eu@mic) +\endpgfinterruptboundingbox +\endgroup +} +\let\tkzNinePointCenter\tkzEulerCenter +\let\tkzDefEulerCenter\tkzEulerCenter +%<--------------------------------------------------------------------------–> +%Symmedian center Lemoine point Grebe point K +%<--------------------------------------------------------------------------–> +\def\tkzSymmedianCenter(#1,#2,#3){% +\begingroup +\pgfinterruptboundingbox +\tkzDefMidPoint(#2,#3) +\pgfnodealias{eu@mic}{tkzPointResult} +\tkzDefMidPoint(#1,#3) +\pgfnodealias{eu@mib}{tkzPointResult} +\tkzUProjection(#2,#3)(#1) +\pgfnodealias{ort@pta}{tkzPointResult} +\tkzDefMidPoint(#1,ort@pta) +\pgfnodealias{eu@mid}{tkzPointResult} +\tkzUProjection(#1,#3)(#2) +\pgfnodealias{ort@ptb}{tkzPointResult} +\tkzDefMidPoint(#2,ort@ptb) +\pgfnodealias{eu@mie}{tkzPointResult} +\tkzInterLL(eu@mic,eu@mid)(eu@mib,eu@mie) +\endpgfinterruptboundingbox +\endgroup +} +\let\tkzLemoinePoint\tkzSymmedianCenter +\let\tkzGrebePoint\tkzSymmedianCenter +\let\tkzDefLemoinePoint\tkzLemoinePoint +%<--------------------------------------------------------------------------–> +% Spieker center +%<--------------------------------------------------------------------------–> +\def\tkzSpiekerCenter(#1,#2,#3){% +\begingroup +% we need to get the midpoints +\pgfcoordinate{tkz@m3}{% + \pgfpointscale{0.5}{% + \pgfpointadd{\pgfpointanchor{#1}{center}}% + {\pgfpointanchor{#2}{center}}}}% +\pgfcoordinate{tkz@m2}{% + \pgfpointscale{0.5}{% + \pgfpointadd{\pgfpointanchor{#1}{center}}% + {\pgfpointanchor{#3}{center}}}}% +\pgfcoordinate{tkz@m1}{% + \pgfpointscale{0.5}{% + \pgfpointadd{\pgfpointanchor{#2}{center}}% + {\pgfpointanchor{#3}{center}}}}% +\tkzInCenter(tkz@m1,tkz@m2,tkz@m3) +\endgroup +} +\let\tkzDefSpiekerCenter\tkzSpiekerCenter +%<--------------------------------------------------------------------------–> +% Gergonne center Ge +%<--------------------------------------------------------------------------–> +\def\tkzGergonneCenter(#1,#2,#3){% +\begingroup +\pgfinterruptboundingbox +\tkzInCenter(#1,#2,#3) +\pgfnodealias{tkz@ptin}{tkzPointResult} +\tkzUProjection(#2,#3)(tkz@ptin) +\pgfnodealias{tkz@oca}{tkzPointResult} +\tkzUProjection(#1,#3)(tkz@ptin) +\pgfnodealias{tkz@ocb}{tkzPointResult} +\tkzInterLL(#1,tkz@oca)(#2,tkz@ocb) +\endpgfinterruptboundingbox +\endgroup +} +\let\tkzDefGergonneCenter\tkzGergonneCenter +%<--------------------------------------------------------------------------–> +% Nagel center Na +%<--------------------------------------------------------------------------–> +% INa = 3 IG. Nagel point % correction 02/02/20 +\def\tkzNagelCenter(#1,#2,#3){% +\begingroup +\pgfinterruptboundingbox +\tkzDefExcentralTriangle(#1,#2,#3){tkz@a,tkz@b,tkz@c} +\tkzUProjection(#2,#3)(tkz@a) +\pgfnodealias{tkz@tgta}{tkzPointResult} +\tkzUProjection(#1,#2)(tkz@c) +\pgfnodealias{tkz@tgtc}{tkzPointResult} +\tkzInterLL(#1,tkz@tgta)(#3,tkz@tgtc) +\endpgfinterruptboundingbox +\endgroup +} +\let\tkzDefNagelCenter\tkzNagelCenter +%<--------------------------------------------------------------------------–> +% Mittenpunkt +%<--------------------------------------------------------------------------–> +\def\tkzMittenpunktCenter(#1,#2,#3){% +\begingroup +\pgfinterruptboundingbox +\tkzExCenter(#2,#3,#1) +\pgfnodealias{tkz@a}{tkzPointResult} +\tkzExCenter(#3,#1,#2) +\pgfnodealias{tkz@b}{tkzPointResult} +\pgfcoordinate{tkz@ma}{% +\pgfpointscale{0.5}{% +\pgfpointadd{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}}}% +\pgfcoordinate{tkz@mb}{% +\pgfpointscale{0.5}{% +\pgfpointadd{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#3}{center}}}}% +\tkzInterLL(tkz@a,tkz@ma)(tkz@b,tkz@mb) +\endpgfinterruptboundingbox +\endgroup +} +\let\tkzDefMittenpunktCenter\tkzMittenpunktCenter +\let\tkzDefMiddlespoint\tkzMittenpunktCenter +%<--------------------------------------------------------------------------–> +% Feuerbach point +%<--------------------------------------------------------------------------–> +\def\tkzFeuerbachCenter(#1,#2,#3){% +\begingroup +\pgfinterruptboundingbox +\tkzEulerCenter(#1,#2,#3) +\pgfnodealias{tkz@euler}{tkzPointResult} +\tkzInCenter(#1,#2,#3) +\pgfnodealias{tkz@in}{tkzPointResult} +\tkzUProjection(#2,#3)(tkzPointResult) +\tkzInterLC(tkz@in,tkz@euler)(tkz@in,tkzPointResult)\tkzGetFirstPoint{tkz@fe} +\tkzRenamePoint(tkz@fe){tkzPointResult} +\endpgfinterruptboundingbox +\endgroup +} +\let\tkzDefFeuerbachCenter\tkzFeuerbachCenter +%<--------------------------------------------------------------------------–> +% Orthogonal center +%<--------------------------------------------------------------------------–> +\def\tkzOrthogonalCenter(#1,#2){% +\begingroup +\pgfinterruptboundingbox +\tkz@VecK[\tkz@koeff/(1+\tkz@koeff)](#1,#2) +\pgfnodealias{tkzFirstPointResult}{tkzPointResult} +\tkz@VecK[\tkz@koeff/(\tkz@koeff-1)](#1,#2) +\pgfnodealias{tkzSecondPointResult}{tkzPointResult} +\tkzDefMidPoint(tkzFirstPointResult,tkzSecondPointResult) +\endpgfinterruptboundingbox +\endgroup +} +%<--------------------------------------------------------------------------–> +% End Triangle center +%<--------------------------------------------------------------------------–> +%<--------------------------------------------------------------------------–> +% Projection center of excircles +%<--------------------------------------------------------------------------–> +\def\tkzDefProjExcenter{\pgfutil@ifnextchar[{% + \tkz@DefProjExcenter}{% + \tkz@DefProjExcenter[]} + } +\def\tkz@DefProjExcenter[#1](#2,#3,#4)(#5)#6{ +\begingroup + \SetUpPTTR{#1} + \foreach \name [count=\i] in {#5} {% + \global\expandafter\edef\csname tkz@pt\i\endcsname{\name} + } + \foreach \name [count=\i] in {#6} {% + \global\expandafter\edef\csname tkz@ppt\i\endcsname{\name} + } +\tkzDefPointBy[projection=onto #3--#4 ](\tkz@pttr@name \csname tkz@pt1\endcsname) +\pgfnodealias{\csname tkz@ppt1\endcsname\csname tkz@pt1\endcsname}{tkzPointResult} +\tkzDefPointBy[projection=onto #3--#4 ](\tkz@pttr@name \csname tkz@pt2\endcsname) +\pgfnodealias{\csname tkz@ppt1\endcsname\csname tkz@pt2\endcsname}{tkzPointResult} +\tkzDefPointBy[projection=onto #3--#4 ](\tkz@pttr@name \csname tkz@pt3\endcsname) +\pgfnodealias{\csname tkz@ppt1\endcsname\csname tkz@pt3\endcsname}{tkzPointResult} +\tkzDefPointBy[projection=onto #2--#4 ](\tkz@pttr@name \csname tkz@pt1\endcsname) +\pgfnodealias{\csname tkz@ppt2\endcsname\csname tkz@pt1\endcsname}{tkzPointResult} +\tkzDefPointBy[projection=onto #2--#4 ](\tkz@pttr@name \csname tkz@pt2\endcsname) +\pgfnodealias{\csname tkz@ppt2\endcsname\csname tkz@pt2\endcsname}{tkzPointResult} +\tkzDefPointBy[projection=onto #2--#4 ](\tkz@pttr@name \csname tkz@pt3\endcsname) +\pgfnodealias{\csname tkz@ppt2\endcsname\csname tkz@pt3\endcsname}{tkzPointResult} +\tkzDefPointBy[projection=onto #3--#2 ](\tkz@pttr@name \csname tkz@pt1\endcsname) +\pgfnodealias{\csname tkz@ppt3\endcsname\csname tkz@pt1\endcsname}{tkzPointResult} +\tkzDefPointBy[projection=onto #3--#2 ](\tkz@pttr@name \csname tkz@pt2\endcsname) +\pgfnodealias{\csname tkz@ppt3\endcsname\csname tkz@pt2\endcsname}{tkzPointResult} +\tkzDefPointBy[projection=onto #3--#2 ](\tkz@pttr@name \csname tkz@pt3\endcsname) +\pgfnodealias{\csname tkz@ppt3\endcsname\csname tkz@pt3\endcsname}{tkzPointResult} +\endgroup +} +%<--------------------------------------------------------------------------–> +% Point on circle +%<--------------------------------------------------------------------------–> +\def\tkz@numptcirc{0} +\pgfkeys{/tkzptcircle/.cd, +through/.code args = {center #1 angle #2 point #3} { \def\tkz@center{#1}% + \def\tkz@angle{#2}% + \def\tkz@through{#3}% + \def\tkz@numptcirc{0}}, +R/.code args = {center #1 angle #2 radius #3} { \def\tkz@center{#1}% + \def\tkz@angle{#2}% + \def\tkz@radius{#3}% + \def\tkz@numptcirc{1}}, +through in rad/.code args = {center #1 angle #2 point #3} { \def\tkz@center{#1}% + \def\tkz@angle{#2}% + \def\tkz@through{#3}% + \def\tkz@numptcirc{2}}, +R in rad/.code args = {center #1 angle #2 radius #3} { \def\tkz@center{#1}% + \def\tkz@angle{#2}% + \def\tkz@radius{#3}% + \def\tkz@numptcirc{3}} +} + +\def\tkzDefPointOnCircle{\pgfutil@ifnextchar[{\tkz@DefPointOnCircle}{% + \tkz@DefPointOnCircle[]}} +\def\tkz@DefPointOnCircle[#1]{% +\begingroup +\pgfqkeys{/tkzptcircle}{#1} + \ifcase\tkz@numptcirc% + \tkz@@CalcLengthcm(\tkz@center,\tkz@through){tkz@radius} + \or% 1 + \relax% + \or% 2 + \pgfmathparse{\tkz@angle\space r} + \let\tkz@angle\pgfmathresult + \tkz@@CalcLengthcm(\tkz@center,\tkz@through){tkz@radius} + \or% 3 + \pgfmathparse{\tkz@angle\space r} + \let\tkz@angle\pgfmathresult +\fi +\path (\tkz@center) --++(\tkz@angle:\tkz@radius) coordinate(tkzPointResult); +\endgroup +} +%<--------------------------------------------------------------------------–> +% Point on line +%<--------------------------------------------------------------------------–> +\def\tkzDefPointOnLine{\pgfutil@ifnextchar[{\tkz@DefPointOnLine}{\tkz@DefPointOnLine[]}} +\def\tkz@DefPointOnLine[#1](#2,#3){% +\begingroup +\path (#2) to [#1] coordinate (tkzPointResult) (#3); +\endgroup +} + +\makeatother +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex index b650e327270..ca67655a396 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-with.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-points-with.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-points-with.tex} \makeatletter %<--------------------------------------------------------------------------–> % Vectors diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex index 5a247848dd7..0bda4597397 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-points.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-points.tex} \makeatletter %<---------------------------------------------------------------------------> % init def point diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex index 4c798267340..9ca855534ec 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-polygons.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-polygons.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-polygons.tex} % bug in regular polygon side 2020/03/09 \makeatletter %<--------------------------------------------------------------------------–> diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex index 738221b1b64..d44ea8f24be 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-triangles.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-triangles.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-triangles.tex} \makeatletter %<--------------------------------------------------------------------------–> % Triangle Equilateral diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-circles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-circles.tex index 9be8dd8be75..7c7f37823f4 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-circles.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-circles.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-lua-circles.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-lua-circles.tex} \makeatletter %<--------------------------------------------------------------------------–> % tkzCircle center and one point diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points-by.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points-by.tex index 1db32f48bf4..048739354a7 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points-by.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points-by.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-lua-points-by.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-lua-points-by.tex} \makeatletter %<--------------------------------------------------------------------------–> % Transformations Géométriques diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points-spc.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points-spc.tex index 9ed94b26e08..85c1930bfe8 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points-spc.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points-spc.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} +\def\fileversion{5.01c} \def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-lua-points.tex} +\typeout{2023/01/23 5.01c tkz-obj-lua-points.tex} \makeatletter %add ExCenter %<--------------------------------------------------------------------------–> @@ -47,21 +47,6 @@ \endgroup } -% \def\tkzDefCentroid(#1){% -% \begingroup -% \xdef\tkz@arg{} -% \foreach \X in {#1} -% {% -% \ifx\tkzutil@empty\tkz@arg% -% \xdef\tkz@arg{\X=1} -% \else -% \xdef\tkz@arg{\tkz@arg,\X=1} -% \fi -% } -% \path[coordinate] (barycentric cs:\tkz@arg) coordinate (tkzPointResult); -% \endgroup -% } - %<--------------------------------------------------------------------------–> % milieu de deux points %<--------------------------------------------------------------------------–> diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points-with.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points-with.tex index 73a3d9799ff..95e2d245470 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points-with.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points-with.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-lua-points-with.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-lua-points-with.tex} \makeatletter %<--------------------------------------------------------------------------–> % Vectors diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points.tex index 4a81392c5d3..6fdd4d66706 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-lua-points.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-lua-points.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-lua-points.tex} \makeatletter %<---------------------------------------------------------------------------> % init def point diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex index 2276dead1a0..b33696d3750 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-BB.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-obj-eu-BB.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-obj-eu-BB.tex} \makeatletter %<--------------------------------------------------------------------------–> \def\tkzShowBB{\pgfutil@ifnextchar[{\tkz@ShowBB}{\tkz@ShowBB[]}} 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 index f8ec42d3e06..a8a5718257c 100644 --- 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 @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-eu-angles.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-eu-angles.tex} \makeatletter %<--------------------------------------------------------------------------–> %<--------------------------------------------------------------------------–> diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex index 23117033630..f6659f94977 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-base.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-eu-base.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-eu-base.tex} \makeatletter %<--------------------------------------------------------------------------–> \global\let\tkz@tmp@xa\tkz@init@xmin% modif 2016 diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex index 94995906f97..7bd18aef8e7 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-colors.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-eu-colors} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-eu-colors} \makeatletter %<------ Initialisation of the colors with tkzSetUpColors -----------------> diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex index bb741fc59ee..7b87707694c 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-intersections.tex @@ -13,9 +13,9 @@ % The Current Maintainer of this work is Alain Matthes. % utf8 encoding -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-eu-intersections.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-eu-intersections.tex} \makeatletter %<--------------------------------------------------------------------------–> % intersection de deux lignes diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex index 9ec079f0921..e3929d13727 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-math.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-eu-math.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-eu-math.tex} \makeatletter %<--------------------------------------------------------------------------> % \tkzpointnormalised# diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex index eb0dae14e6a..22d16e3cf09 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-modules.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-eu-utilities.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-eu-utilities.tex} \makeatletter %<------------- % chargement des modules ----------------------------------> \def\tkz@obj@all{angles,arcs,compass,defcircles,deflines,defpoints,defpointsby,defpointsrnd,defpointswith,polygons,protractor,sectors,show,triangles}% diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex index 3f52c84c28e..7dcf0d8b8b7 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-text.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-eu-text.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-eu-text.tex} \makeatletter %<--------------------------------------------------------------------------–> % tkzText diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex index eb9c52317f9..4fbd81e2041 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-eu-utilities.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/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{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-eu-utilities.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-eu-utilities.tex} \makeatletter \pgfkeys{/tkzClip/.cd, space/.store in = {\tkz@CLI@space}, diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-angles.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-angles.tex index 69fd1110abe..34fb7cc8942 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-angles.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-angles.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-lua-angles.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-lua-angles.tex} \makeatletter \def\tkzmathrotatepointaround#1#2#3{% \pgf@process{% diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-base.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-base.tex index c31c9251878..e04b1b109fe 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-base.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-base.tex @@ -10,9 +10,9 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-lua-base.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-lua-base.tex} \makeatletter %<--------------------------------------------------------------------------–> \global\let\tkz@tmp@xa\tkz@init@xmin% modif 2016 diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-intersections.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-intersections.tex index 050697a1bb2..49065c17113 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-intersections.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-intersections.tex @@ -13,9 +13,9 @@ % The Current Maintainer of this work is Alain Matthes. % utf8 encoding -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-lua-intersections.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-lua-intersections.tex} \makeatletter %<--------------------------------------------------------------------------–> % intersection de deux lignes diff --git a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-math.tex b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-math.tex index 1a0491d5991..67db5197aa2 100644 --- a/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-math.tex +++ b/Master/texmf-dist/tex/latex/tkz-euclide/tkz-tools-lua-math.tex @@ -10,105 +10,15 @@ % This work has the LPPL maintenance status “maintained”. % The Current Maintainer of this work is Alain Matthes. -\def\fileversion{5.00c} -\def\filedate{2023/01/23} -\typeout{2023/01/23 5.00c tkz-tools-lua-math.tex} +\def\fileversion{5.01c} +\def\filedate{2023/01/24} +\typeout{2023/01/24 5.01c tkz-tools-lua-math.tex} \makeatletter %<--------------------------------------------------------------------------> %<--------------------------------------------------------------------------> % Lengths %<--------------------------------------------------------------------------> %<--------------------------------------------------------------------------> -\begin{luacode*} -complex = {} -- global complex numbers registry -M = {} -- the module -local mt = {} --metatable for complex numbers -setmetatable(_ENV, {__index = complex}) - function new (r, i) - local cp = {} - cp = {r=r, i=i} - return setmetatable(cp,mt) - end - M.new = new -- add 'new' to the module - -- create constant 'i' - M.i = new(0, 1) - - function M.add (c1, c2) - return new(c1.r + c2.r, c1.i + c2.i) - end - - function M.sub (c1, c2) - return new(c1.r - c2.r, c1.i - c2.i) - end - - function M.mul (c1, c2) - return new(c1.r*c2.r - c1.i*c2.i, c1.r*c2.i + c1.i*c2.r) - end - - function M.inv (c) - local n = c.r^2 + c.i^2 - return new(c.r/n, -c.i/n) - end - - function M.div (c1, c2) - return M.mul(c1, M.inv(c2)) - end - - function M.re (c) - return new(c.r,0) - end - - function M.im (c) - return new(c.i,0) - end - - function M.mod (c) - local n = c.r^2 + c.i^2 - return new(n,0) - end - - function M.prinarg(c) - local arg - if c.r > 0 then - arg = math.atan(c.i/c.r) - elseif c.r < 0 and c.i >= 0 then - arg = math.atan(c.i/c.r) + math.pi - elseif c.r < 0 and c.i < 0 then - arg = math.atan(c.i/c.r) - math.pi - elseif c.r == 0 and c.i > 0 then - arg = math.pi / 2 - elseif c.r == 0 and c.i < 0 then - arg = - math.pi / 2 - else - error("Principal argument not defined.") - end - return arg - end - - function M.op (...) - return ... - end - - function M.tostring (c) - if c.i ==0 then - return string.format("%g", c.r) - elseif c.i> 0 and c.i==1 then - return string.format("%g+i", c.r) - elseif c.i> 0 and c.i~=1 then - return string.format("%g+%gi", c.r, c.i) - else - return string.format("%g%gi", c.r, c.i) --to avoid +- - end - end - - --Setting Metatable operations. - mt.__add = M.add - mt.__mul = M.mul - mt.__sub = M.sub - mt.__tostring = M.tostring -\end{luacode*} - - \begin{luacode*} function normalize(angleA,angleB) @@ -144,15 +54,6 @@ function tkzround(nb, ND) end \end{luacode*} -\newcommand\cpxNew[2]{% -\directlua{complex[\luastringN{#1}] = M.new(#2)}} -\newcommand\cpxPrint[1]{% -\directlua{tex.sprint(tostring(complex[\luastringN{#1}]))}} -\newcommand\cpxAdd[3]{% -\directlua{complex[\luastringN{#1}]% - =M.add(complex[\luastringN{#2}],complex[\luastringN{#3}])}} - - \def\tkz@Dec#1{% \directlua{tex.print(string.format('\@percentchar.6f',#1))} } @@ -188,16 +89,8 @@ end \let\tkzLog\tkz@Log \let\tkzSin\tkz@Sin \let\tkzCos\tkz@Cos -% \tkzpointnormalised# -% tkzCalcLength -% \tkzGetLength -% \tkzpttocm -% \tkzcmtopt -% \tkzFindSlope -% option xfp % \tkzpointnormalised normalise un point A-->A' tq ||v(OA')=1|| -% équivalent de \pgfpointnormalised avec fp % example % \tkzpointnormalised{% % \pgfpointdiff{\pgfpointanchor{A}{center}} |