summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex')
-rw-r--r--Master/texmf-dist/tex/latex/tkz-euclide/tkz-obj-eu-points-spc.tex285
1 files changed, 155 insertions, 130 deletions
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
index a67b375cd0d..7b4f9966bb5 100644
--- 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
@@ -10,9 +10,9 @@
% This work has the LPPL maintenance status “maintained”.
% The Current Maintainer of this work is Alain Matthes.
-\def\fileversion{4.051b}
-\def\filedate{2022/02/25}
-\typeout{2022/02/25 4.051b tkz-obj-el-points.tex}
+\def\fileversion{4.2c}
+\def\filedate{2022/07/14}
+\typeout{2022/07/14 4.2c tkz-obj-eu-points.tex}
\makeatletter
%add ExCenter
%<--------------------------------------------------------------------------–>
@@ -121,15 +121,15 @@
\begingroup
\pgfqkeys{/tkzSimilitudeCenter}{#1}
\ifcase\tkz@numhomo%
- \tkzCalcLength(#2,#3)
- \tkzGetLength{tkz@rt}
- \tkzCalcLength(#4,#5)
- \tkzGetLength{tkz@rf}
+ \tkz@@CalcLengthcm(#2,#3){tkz@rt}%
+ \tkz@@CalcLengthcm(#4,#5){tkz@rf}%
\or% 1
- \def\tkz@rt{#3}
- \def\tkz@rf{#5}
+ \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
@@ -142,15 +142,15 @@
\begingroup
\pgfqkeys{/tkzSimilitudeCenter}{#1}
\ifcase\tkz@numhomo%
- \tkzCalcLength(#2,#3)
- \tkzGetLength{tkz@rt}
- \tkzCalcLength(#4,#5)
- \tkzGetLength{tkz@rf}
+ \tkz@@CalcLengthcm(#2,#3){tkz@rt}%
+ \tkz@@CalcLengthcm(#4,#5){tkz@rf}%
\or% 1
- \def\tkz@rt{#3}
- \def\tkz@rf{#5}
+ \def\tkz@rt{#3}%
+ \def\tkz@rf{#5}%
\fi
+ \pgfinterruptboundingbox
\path[coordinate](barycentric cs:#2=-\tkz@rf,#4=\tkz@rt) coordinate(tkzPointResult);
+ \endpgfinterruptboundingbox
\endgroup
}
@@ -184,17 +184,25 @@
\def\tkzDefDivHarmonicExt(#1,#2,#3){%
\begingroup
- \tkz@@CalcLengthcm(#3,#1){tkz@da}
- \tkz@@CalcLengthcm(#3,#2){tkz@db}
- \path[coordinate] (barycentric cs:#1={-\tkz@db},#2={\tkz@da}) coordinate (tkzPointResult);
+\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
- \tkz@@CalcLengthcm(#3,#1){tkz@da}
- \tkz@@CalcLengthcm(#3,#2){tkz@db}
- \path[coordinate] (barycentric cs:#1={\tkz@db},#2={\tkz@da}) coordinate (tkzPointResult);
+\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
}
@@ -273,7 +281,7 @@
%<--------------------------------------------------------------------------–>
% OrthoCenter
%<--------------------------------------------------------------------------–>
-\def\tkzOrthoCenter(#1,#2,#3){% H orthocentre
+\def\tkzOrthoCenter(#1,#2,#3){%
\begingroup
\pgfinterruptboundingbox
\tkzUProjection(#1,#2)(#3)
@@ -332,7 +340,7 @@
\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)%
+\tkzInterLLxy(\tkz@ax,\tkz@ay,\tkz@bx,\tkz@by)(\tkz@cx,\tkz@cy,\tkz@dx,\tkz@dy)%
\endpgfinterruptboundingbox
\endgroup
}
@@ -343,23 +351,22 @@
\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
+\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
@@ -369,23 +376,22 @@
\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
+\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
@@ -397,13 +403,13 @@
% 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)
+\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
}
@@ -415,19 +421,19 @@
\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)
+\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
}
@@ -441,13 +447,13 @@
\begingroup
% we need to get the midpoints
\pgfcoordinate{tkz@m3}{%
- \pgfpointscale{0.5}{%
- \pgfpointadd{\pgfpointanchor{#1}{center}}%
- {\pgfpointanchor{#2}{center}}}}%
+ \pgfpointscale{0.5}{%
+ \pgfpointadd{\pgfpointanchor{#1}{center}}%
+ {\pgfpointanchor{#2}{center}}}}%
\pgfcoordinate{tkz@m2}{%
- \pgfpointscale{0.5}{%
- \pgfpointadd{\pgfpointanchor{#1}{center}}%
- {\pgfpointanchor{#3}{center}}}}%
+ \pgfpointscale{0.5}{%
+ \pgfpointadd{\pgfpointanchor{#1}{center}}%
+ {\pgfpointanchor{#3}{center}}}}%
\pgfcoordinate{tkz@m1}{%
\pgfpointscale{0.5}{%
\pgfpointadd{\pgfpointanchor{#2}{center}}%
@@ -462,13 +468,13 @@
\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)
+\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
}
@@ -480,12 +486,12 @@
\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)
+\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
}
@@ -496,18 +502,18 @@
\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
+\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
@@ -518,14 +524,14 @@
\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
+\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
@@ -535,11 +541,11 @@
\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)
+\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
}
@@ -587,21 +593,40 @@
%<--------------------------------------------------------------------------–>
\def\tkz@numptcirc{0}
\pgfkeys{/tkzptcircle/.cd,
- through/.code args = {angle #1 center #2 point #3} {\def\tkz@angle{#1}%
- \def\tkz@center{#2}%
- \def\tkz@through{#3}%
- \def\tkz@numptcirc{0}},
- R/.code args = {angle #1 center #2 radius #3} {\def\tkz@angle{#1}%
- \def\tkz@center{#2}%
- \def\tkz@radius{#3}%
- \def\tkz@numptcirc{1}},
+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\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