diff options
46 files changed, 761 insertions, 251 deletions
diff --git a/Master/texmf-dist/doc/latex/tkz-euclide/README.md b/Master/texmf-dist/doc/latex/tkz-euclide/README.md index c476d7a07ff..a34b5244d20 100644 --- a/Master/texmf-dist/doc/latex/tkz-euclide/README.md +++ b/Master/texmf-dist/doc/latex/tkz-euclide/README.md @@ -1,6 +1,6 @@ # tkz-euclide — for euclidean geometry -Release 5.00c 2023/01/23 +Release 5.01c 2023/01/24 ## Description @@ -10,6 +10,7 @@ It uses a Cartesian coordinate system orthogonormal (unit 1cm) as well as tools to define the unique coordinates of points and to manipulate them. The idea is to allow you to follow step by step a construction that would be done by hand as naturally as possible. +Now tkz-euclide introduces a "lua" option which allows to do most of the calculations using "lua". ## Licence @@ -63,6 +64,9 @@ Other examples, in French, are on my site. ## History + +- 5.01c Correction of the date of the file tkz-euclide.sty. Cleaned up the file tkz-tools-lua-math.tex. Added file tkz-obj-eu-points-spc.tex + - 5.00c Added the "lua" option to the package, allowing to perform most of the calculations with "lua". This saves time and precision; - 4.25c. Remove \input{tkz-obj-eu-draw-triangles.tex} from the list of files to load. diff --git a/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-main.tex b/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-main.tex index 1f4e33dd608..6b74c07eed4 100644 --- a/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-main.tex +++ b/Master/texmf-dist/doc/latex/tkz-euclide/TKZdoc-euclide-main.tex @@ -22,10 +22,10 @@ ]{tkz-doc} %\usepackage{etoc} \gdef\tkznameofpack{tkz-euclide} -\gdef\tkzversionofpack{5.00c} +\gdef\tkzversionofpack{5.01c} \gdef\tkzdateofpack{\today} \gdef\tkznameofdoc{doc-tkz-euclide} -\gdef\tkzversionofdoc{5.00c} +\gdef\tkzversionofdoc{5.01c} \gdef\tkzdateofdoc{\today} \gdef\tkzauthorofpack{Alain Matthes} \gdef\tkzadressofauthor{} diff --git a/Master/texmf-dist/doc/latex/tkz-euclide/tkz-euclide.pdf b/Master/texmf-dist/doc/latex/tkz-euclide/tkz-euclide.pdf Binary files differindex c24f592ca71..750038a99a6 100644 --- a/Master/texmf-dist/doc/latex/tkz-euclide/tkz-euclide.pdf +++ b/Master/texmf-dist/doc/latex/tkz-euclide/tkz-euclide.pdf 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}} |