diff options
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-points.tex')
-rw-r--r-- | macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-points.tex | 519 |
1 files changed, 0 insertions, 519 deletions
diff --git a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-points.tex b/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-points.tex deleted file mode 100644 index 88c99c3a17..0000000000 --- a/macros/latex/contrib/tkz/tkz-base/latex/tkz/tkzbase/tkz-obj-points.tex +++ /dev/null @@ -1,519 +0,0 @@ -% Copyright 2011 by Alain Matthes -% -% This file may be distributed and/or modified -% -% 1. under the LaTeX Project Public License and/or -% 2. under the GNU Public License. - - -\def\fileversion{1.16 d} -\def\filedate{2018/09/19} - - -%<--------------------------------------------------------------------------–> -% init def point -%<--------------------------------------------------------------------------–> -\newif\iftkz@polar\tkz@polarfalse -\newif\iftkz@pt@polar -\newif\iftkz@pt@show -\newif\iftkz@pt@noname - - -%<--------------------------------------------------------------------------–> -\pgfdeclareshape{cross} -{% - \inheritsavedanchors[from=rectangle] % this is nearly a rectangle - \inheritanchorborder[from=rectangle] - \inheritanchor[from=rectangle]{north} - \inheritanchor[from=rectangle]{north west} - \inheritanchor[from=rectangle]{north east} - \inheritanchor[from=rectangle]{center} - \inheritanchor[from=rectangle]{west} - \inheritanchor[from=rectangle]{east} - \inheritanchor[from=rectangle]{mid} - \inheritanchor[from=rectangle]{mid west} - \inheritanchor[from=rectangle]{mid east} - \inheritanchor[from=rectangle]{base} - \inheritanchor[from=rectangle]{base west} - \inheritanchor[from=rectangle]{base east} - \inheritanchor[from=rectangle]{south} - \inheritanchor[from=rectangle]{south west} - \inheritanchor[from=rectangle]{south east} - \foregroundpath{ -% store lower right in xa/ya and upper right in xb/yb - \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y - \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y - \pgfpathmoveto{\pgfqpoint{0 pt}{\pgf@ya}} - \pgfpathlineto{\pgfqpoint{0 pt}{\pgf@yb}} - \pgfpathmoveto{\pgfqpoint{\pgf@xa}{0 pt}} - \pgfpathlineto{\pgfqpoint{\pgf@xb}{0 pt}} - } -} -%<--------------------------------------------------------------------------–> -% tkzDefPoint -%<--------------------------------------------------------------------------–> - -%<--------------------------------------------------------------------------–> -% macros complémentaires pour def point -%<--------------------------------------------------------------------------–> -\def\tkz@parsecoordinate#1{% -\tkz@getseparator#1,\@nil -\iftkz@polar - \tkz@getfrompolar#1\@nil -\else - \tkz@getfromcart#1\@nil -\fi -} -\def\tkz@getseparator#1,#2\@nil{% -\ifx\tkzempty#2\tkzempty% - \tkz@polartrue -\else - \tkz@polarfalse -\fi -} -\def\tkz@getfrompolar#1:#2\@nil{ - \FPeval\tkz@a{(#1)} - \FPeval\tkz@r{(#2)} -\global\edef\tkz@polarrad{\tkz@r} -\global\edef\tkz@polarangle{\tkz@a} -} -\def\tkz@getfromcart#1,#2\@nil{ - \FPeval\tkz@x{(#1)} - \FPeval\tkz@y{(#2)} -\global\edef\tkz@absc{\tkz@x} -\global\edef\tkz@ord{\tkz@y} -} -%<--------------------------------------------------------------------------–> -% la macro defpoint les coordonnées cartésiennes ou polaires sont traitées -% afin de pouvoir adaptées avec les unités choisies -%<--------------------------------------------------------------------------–> -%<--------------------------------------------------------------------------–> -\def\tkzDefPoint{\pgfutil@ifnextchar[{\tkzActivOff\tkz@DefPoint}{% - \tkzActivOff\tkz@DefPoint[]}} - -\def\tkz@DefPoint[#1](#2)#{% -\tkz@parsecoordinate{#2} -\iftkz@polar - \tkz@ptStar[polar](\tkz@polarangle,\tkz@polarrad){tkz@coord@temp} - \else - \tkz@ptStar[](#2){tkz@coord@temp} - \fi -\tkz@DefPointEnd[#1]}% -\def\tkz@DefPointEnd[#1]#2{% - \coordinate[#1] (#2) at (tkz@coord@temp); -} -%<--------------------------------------------------------------------------–> -% tkzDefPoints -%<--------------------------------------------------------------------------–> -\def\tkzDefPoints{\pgfutil@ifnextchar[{\tkz@DefPoints}{% - \tkz@DefPoints[]}} - -\def\tkz@DefPoints[#1]#2{% -\begingroup - \foreach \ptx/\pty/\name in {#2}{\tkzDefPoint[#1](\ptx,\pty){\name}}% -\endgroup -} %<--------------------------------------------------------------------------–> -% Init pour Draw -%<--------------------------------------------------------------------------–> -\pgfkeys{% -setuppt/.cd, -size/.code = {\global\edef\tkz@pt@size{#1}}, -color/.code = {\global\edef\tkz@pt@color{#1}}, -fill/.code = {\global\edef\tkz@pt@fill{#1}}, -shape/.code = {\global\edef\tkz@pt@shape{#1}} -} -%<--------------------------------------------------------------------------–> -% tkzSetUpPoint définit la forme d'un point -%<--------------------------------------------------------------------------–> -\def\tkzSetUpPoint{\pgfutil@ifnextchar[{\tkzActivOff\tkz@SetUpPoint}{% - \tkzActivOff\tkz@SetUpPoint[]}} - -\def\tkz@SetUpPoint[#1]{% -\pgfkeys{% -/setuppt/.cd, -size = \tkz@euc@pointsize, -color = \tkz@euc@pointcolor, -fill = \tkz@euc@pointcolor!50, -shape = \tkz@euc@pointshape} -\pgfqkeys{/setuppt}{#1} -\tikzset{point style/.style={draw = \tkz@pt@color, - inner sep = 0pt, - shape = \tkz@pt@shape, - minimum size = \tkz@pt@size*\pgflinewidth, - fill = \tkz@pt@fill}}}% -%<--------------------------------------------------------------------------–> -%<--------------------------------------------------------------------------–> -% Draw Point -%<--------------------------------------------------------------------------–> -%<--------------------------------------------------------------------------–> -%\tikzset{/drawpoint/size/.style={minimum size=#1*\pgflinewidth}} -\pgfkeys{/drawpoint/.cd, - size/.code = {\tikzset{point style/.append style={% - minimum size = #1*\pgflinewidth}}}, - color/.code = {\tikzset{point style/.append style={% - draw = #1}}}, - shape/.code = {\tikzset{point style/.append style={% - shape=#1}}}, - fill/.code = {\tikzset{point style/.append style={% - fill=#1}}} } - -\def\tkzDrawPoint{\pgfutil@ifnextchar[{\tkz@DrawPoint}{\tkz@DrawPoint[]}} -\def\tkz@DrawPoint[#1](#2){% -\begingroup -\pgfkeys{/drawpoint/.cd} -\pgfqkeys{/drawpoint}{#1} -\node[point style] at (#2) {}; -\endgroup -} - -%<--------------------------------------------------------------------------–> -\def\tkzDrawPoints{\pgfutil@ifnextchar[{\tkz@drawpts}{\tkz@drawpts[]}} -%<--------------------------------------------------------------------------–> -\def\tkz@drawpts[#1](#2){% -\begingroup -\pgfkeys{/drawpoint/.cd} -\pgfqkeys{/drawpoint}{#1} -\foreach \point in {#2}{% - \node[point style] at (\point) {};} -\endgroup -} -%<--------------------------------------------------------------------------–> -%<--------------------------------------------------------------------------–> -% rename -%<--------------------------------------------------------------------------–> -% \def\tkzRenamePoint{\pgfutil@ifnextchar[{\tkzActivOff\tkz@RenamePoint}{% -% \tkzActivOff\tkz@RenamePoint[]}} -% \def\tkz@RenamePoint[#1](#2)#{% -% \coordinate (tkz@coord@temp) at (#2);% -% \pgfextractx{\pgf@x}{\pgfpointanchor{tkz@coord@temp}{center}} -% \pgfextracty{\pgf@y}{\pgfpointanchor{tkz@coord@temp}{center}} -% \tkz@ax\pgf@x % -% \tkz@ay\pgf@y % -% \tkz@RenamePointEnd[#1]}% -%<--------------------------------------------------------------------------–> -\def\tkzRenamePoint(#1)#2{\coordinate (#2) at (#1);} -\def\tkz@RenamePointEnd[#1]#2{\coordinate[#1] (#2) at (\tkz@ax,\tkz@ay);} -\def\tkzGetPoint#1{\coordinate (#1) at (tkzPointResult);} -\def\tkzGetPoints#1#2{\coordinate (#1) at (tkzFirstPointResult);% - \coordinate (#2) at (tkzSecondPointResult);} -\def\tkzGetFirstPoint#1{\coordinate (#1) at (tkzFirstPointResult);} -\def\tkzGetSecondPoint#1{\coordinate (#1) at (tkzSecondPointResult);} -\def\tkzDefShiftPointCoord[#1](#2)#3{% -\begin{scope}[shift={(#1)}] - \coordinate (#3) at (#2); -\end{scope} -}% - -\def\tkzDefShiftPoint[#1](#2)#3{% - \tkz@@extractxy{#1} - \tkz@ax\pgf@x % - \tkz@ay\pgf@y % -\begin{scope}[shift={(\tkz@ax,\tkz@ay)}] - \coordinate (#3) at (#2); -\end{scope} -} -%<-------------------------------------------------------------------------–> -% tkzLabelPoint Affichage des LABELS pour un point -%<-------------------------------------------------------------------------–> -% \newif\iftkz@mode@show -% \tikzoption{show}{\tikz@addmode{\tkz@mode@showfalse}} -\tikzset{label style/.style={\tkz@euc@pointpos,\tkz@euc@labelcolor,font=\normalsize}} -\def\tkzLabelPoint{\pgfutil@ifnextchar[{\tkz@LabelPoint}{\tkz@LabelPoint[]}} -\def\tkz@LabelPoint[#1](#2)#3{\node[label style,#1] at (#2) {#3};}% - -\def\tkzLabelPoints{\pgfutil@ifnextchar[{\tkz@LabelPoints}{% - \tkz@LabelPoints[]}}% -\def\tkz@LabelPoints[#1](#2){% - \foreach \point in {#2}{ - \node[label style,#1] at (\point) {$\point$};} -}% -%<--------------------------------------------------------------------------–> -% Coord -%<--------------------------------------------------------------------------–> -\newif\if@tkz@coord@noxdraw -\newif\if@tkz@coord@noydraw -\pgfkeys{ -/tkzprcoord/.cd, - xlabel/.code = {\global\edef\tkz@xlabel{#1}},% - ylabel/.code = {\global\edef\tkz@ylabel{#1}}, - xstyle/.code = {\tikzset{xcoord style/.append style={#1}}}, - ystyle/.code = {\tikzset{ycoord style/.append style={#1}}}, - noxdraw/.is if = @tkz@coord@noxdraw, - noxdraw/.default = true, - noydraw/.is if = @tkz@coord@noydraw, - noydraw/.default = true, - /tkzprcoord/.unknown/.code = {\let\searchname=\pgfkeyscurrentname - \pgfkeysalso{\searchname/.try=#1, - /tikz/\searchname/.retry=#1}} -} - \def\tkzPointShowCoord{\pgfutil@ifnextchar[{\tkz@PointShowCoord}{% - \tkz@PointShowCoord[]}} -\def\tkz@PointShowCoord[#1](#2){% -\begingroup -\pgfkeys{% -tkzprcoord/.cd, - xlabel = {}, - ylabel = {}, - xstyle = {}, - ystyle = {}, - noxdraw = false, - noydraw = false - } -\pgfqkeys{/tkzprcoord}{#1} -\if@tkz@coord@noxdraw\else\draw[arrow coord style] (#2)--(#2 |- tkz@xline); \fi -\if@tkz@coord@noydraw\else \draw[arrow coord style] (#2)--(#2 -| tkz@yline);\fi -\ifx\tkzutil@empty\tkz@xlabel -\else - \protected@edef\tkz@temp{% - \noexpand\path (#2)--(#2 |- tkz@xline) - \noexpand node[xcoord style]}\tkz@temp {\tkz@xlabel}; -\fi -\ifx\tkzutil@empty\tkz@ylabel -\else - \protected@edef\tkz@temp{% - \noexpand\path (#2)--(#2 -| tkz@yline) - \noexpand node[ycoord style]}\tkz@temp {\tkz@ylabel}; -\fi -\endgroup -} - -%<-------------------------------------------------------------------------–> -%<--------------------------------------------------------------------------–> -% tkzPoint -%<--------------------------------------------------------------------------–> -\pgfkeys{ - tkzpt/.cd, - pos/.code = {\def\tkz@pt@pos{#1}}, - size/.code = {\def\tkz@pt@size{#1}}, - name/.code = {\def\tkz@pt@name{#1}}, - namecolor/.code = {\def\tkz@pt@namecolor{#1}}, - time/.code = {\def\tkz@pt@time{#1}}, - color/.code = {\def\tkz@pt@color{#1}}, - shape/.code = {\def\tkz@pt@shape{#1}}, - polar/.is if = tkz@pt@polar, - polar/.default = true, - noname/.is if = tkz@pt@noname, - noname/.default = true -} - -\def\tkz@node#1{\path[coordinate](\ptxa,\ptya) coordinate(#1);} -\def\tkz@drawnode#1{\path[coordinate](\ptxa,\ptya) coordinate(#1); -\tkz@DrawPt{#1} -} - -\def\tkz@draw@point#1{% - \node[ inner sep = 0pt, - shape = \tkz@pt@shape,% - draw = \tkz@pt@color,% - minimum size = \tkz@pt@size*\pgflinewidth,% - fill = \tkz@pt@color] at (#1) {};} - -\def\tkzPoint{\@ifstar\tkzptStar\tkzptNoStar} -\def\tkzptNoStar{\pgfutil@ifnextchar[{\tkz@ptNoStar}{\tkz@ptNoStar[]}} -\def\tkz@ptNoStar[#1](#2,#3)#{% -\pgfkeys{/tkzpt/.cd, - noname = false,% pas de nom - name = {},% le nom est vide - polar = false,% - namecolor = \tkz@euc@labelcolor,% couleur du nom - pos = \tkz@euc@pointpos,% name - shape = \tkz@euc@pointshape,% - color = \tkz@euc@pointcolor,% couleur du point - size = \tkz@euc@pointsize,% - time = 0.5 -} -\pgfqkeys{/tkzpt}{#1} - \iftkz@pt@polar% - \FPeval\tkz@x{(#2*cos(#3*\FPpi/180))} - \FPeval\tkz@y{(#2*sin(#3*\FPpi/180))} - \else - \FPeval\tkz@x{(#2)} - \FPeval\tkz@y{(#3)} - \fi - - \FPadd{\ptxa}{\tkz@x}{-\tkz@init@xorigine} - \FPadd{\ptya}{\tkz@y}{-\tkz@init@yorigine} - \FPdiv{\ptxa}{\ptxa}{\tkz@init@xstep} - \FPdiv{\ptya}{\ptya}{\tkz@init@ystep} - \tkz@drawnode -} -% dessin du point (par défaut c'est un node donc il ne peut pas être scalé) -\def\tkz@DrawPt#1{% - \iftkz@pt@noname% pas de nom rien - \else% si name={} alors on prend le nom du node sinon name - \ifx\tkzutil@empty\tkz@pt@name\def\tkz@pt@name{$#1$}% - \fi - \protected@edef\tkz@temp{% - \noexpand \node[\tkz@pt@pos]}\tkz@temp at (#1)% - {\textcolor{\tkz@pt@namecolor} {\tkz@pt@name}};% - \fi -% on retrace ??? ici ou après le fi -\tkz@draw@point{#1} -} - -%<--------------------------------------------------------------------------–> -% Star version tkzPoint* -%<--------------------------------------------------------------------------–> -\def\tkzptStar{\pgfutil@ifnextchar[{\tkz@ptStar}{\tkz@ptStar[]}} -\def\tkz@ptStar[#1](#2,#3)#{% -\pgfkeys{/tkzpt/.cd, - polar = false,% -} -\pgfqkeys{/tkzpt}{#1} -\iftkz@pt@polar% - \FPeval\tkz@x{(#3*cos(#2*\FPpi/180))} - \FPeval\tkz@y{(#3*sin(#2*\FPpi/180))} -\else - \FPeval\tkz@x{(#2)} - \FPeval\tkz@y{(#3)} -\fi -\FPadd{\ptxa}{\tkz@x}{-\tkz@init@xorigine} -\FPadd{\ptya}{\tkz@y}{-\tkz@init@yorigine} -\FPdiv{\ptxa}{\ptxa}{\tkz@init@xstep} -\FPdiv{\ptya}{\ptya}{\tkz@init@ystep} -\tkz@node -} - -%<--------------------------------------------------------------------------–> -% Points -%<--------------------------------------------------------------------------–> -\def\tkzPoints{\pgfutil@ifnextchar[{\tkz@Points}{\tkz@Points[]}} -\def\tkz@Points[#1](#2){% -\begingroup - \foreach \ptx/\pty/\name in {#2}{% - \tkzPoint[#1](\ptx,\pty){\name}% - } -\endgroup -} - - %<--------------------------------------------------------------------------–> -% macro d'affichage % -%<--------------------------------------------------------------------------–> -\pgfqkeys{/pointwith} -{ orthogonal/.code =\def\tkz@numv{0}, - orthogonal normed/.code =\def\tkz@numv{1}, - linear/.code =\def\tkz@numv{2}, - linear normed/.code =\def\tkz@numv{3}, - colinear/.code args ={at #1} {\global\def\tkz@numv{4} - \global\def\tkz@frompoint{#1}}, - K/.code =\def\tkz@Koeff{#1} - } - -\def\tkzDefPointWith{\pgfutil@ifnextchar[{\tkz@DefPointWith}{% - \tkz@DefPointWith[]}} -\def\tkz@DefPointWith[#1](#2){% -\pgfqkeys{/pointwith}{linear,K=1} -\pgfqkeys{/pointwith}{#1} -\ifcase\tkz@numv% - % first case 0 - \tkz@VecKOrth[\tkz@Koeff](#2){tkzPointResult} - \or% 1 - \tkz@VecKOrthNorm[\tkz@Koeff](#2){tkzPointResult} - \or% 2 - \tkz@VecK[\tkz@Koeff](#2){tkzPointResult} - \or% 3 - \tkz@VecKNorm[\tkz@Koeff](#2){tkzPointResult} - \or% 4 - \tkz@VecKCoLinear[\tkz@Koeff](#2,\tkz@frompoint){tkzPointResult} - \fi -} - -%<-------------------------------------------------------------------------–> -% % % Points aléatoires sur un segment, une droite, une demi-droite un cercle -%<--------------------------------------------------------------------------–> -%<--------------------------------------------------------------------------–> -% les points aléatoires -%<--------------------------------------------------------------------------–> -\def\tkz@numrp{0} -\pgfkeys{/tkzDefRandPoint/.cd, -rectangle/.code args={#1 and #2}{\global\def\tkz@numrp{0}% - \global\def\tkz@infl{#1}% - \global\def\tkz@supr{#2}}, -segment/.code args={#1--#2}{\global\def\tkz@numrp{1}% - \global\def\tkz@start{#1}% - \global\def\tkz@end{#2}}, -line/.code args={#1--#2}{\global\def\tkz@numrp{2}% - \global\def\tkz@start{#1}% - \global\def\tkz@end{#2}}, -circle/.code args={center #1 radius #2}{\def\tkz@numrp{3}% - \global\def\tkz@center{#1} - \global\def\tkz@rad{#2}} -} - -\def\tkzGetRandPointOn{\pgfutil@ifnextchar[{\tkz@DefRandPointOn}{% - \tkz@DefRandPointOn[]}} -\def\tkz@DefRandPointOn[#1]#2{% -\begingroup -\pgfkeys{/tkzDefRandPoint/.cd} -\pgfqkeys{/tkzDefRandPoint}{#1} -\ifcase\tkz@numrp% - % first case 0 - \tkzRandPointOnRect(\tkz@infl,\tkz@supr){#2} - \or% 1 - \tkzRandPointOnSegment(\tkz@start,\tkz@end){#2} - \or% 2 - \tkzRandPointOnLine(\tkz@start,\tkz@end){#2} - \or% 3 - \tkzRandPointOnCircle(\tkz@center,\tkz@rad){#2} -\fi -\endgroup -} - -\def\tkzRandPointOnRect(#1,#2)#3{% -\tkz@@extractxy{#1} - \pgf@xa=\pgf@x\relax% - \pgf@ya=\pgf@y\relax% -\tkz@@extractxy{#2} - \pgf@xb=\pgf@x\relax% - \pgf@yb=\pgf@y\relax% -\FPadd{\tkz@a}{\pgf@sys@tonumber{\pgf@xb}}{-\pgf@sys@tonumber{\pgf@xa}} -\FPadd{\tkz@b}{\pgf@sys@tonumber{\pgf@yb}}{-\pgf@sys@tonumber{\pgf@ya}} - \pgfmathparse{rnd}\global\let\myrndone\pgfmathresult - \pgfmathparse{rnd}\global\let\myrndtwo\pgfmathresult -\path[coordinate] ($(#1)+(\myrndone*\tkz@a pt,% - \myrndtwo*\tkz@b pt)$) coordinate (#3); - } - -\def\tkzRandPointOnSegment(#1,#2)#3{% - \pgfmathparse{rnd}\global\let\myrnd\pgfmathresult -\path[coordinate] ($ (#1)!\myrnd!(#2) $) coordinate (#3);} - -\def\tkzRandPointOnLine(#1,#2)#3{% - \pgfmathparse{rand}\global\let\myrnd\pgfmathresult -\path[coordinate] ($ (#1)!\myrnd!(#2) $) coordinate (#3);} - -\def\tkzRandPointOnCircle(#1,#2)#3{% -\pgfmathrandominteger{\myrnd}{0}{360} -\tkz@ax#2 % -\FPeval\tkz@xa{\pgf@sys@tonumber{\tkz@ax}*cos(\myrnd*\FPpi/180)} -\FPeval\tkz@xb{\pgf@sys@tonumber{\tkz@ax}*sin(\myrnd*\FPpi/180)} -\path[coordinate]($(#1) + (\tkz@xa pt,\tkz@xb pt) $) coordinate (#3); -} - -%<--------------------------------------------------------------------------–> -% Coordonnées d'un point -% result in #2x et #2y #1 est le point et on récupère ses coordonnées -% usage soit A un point \tkzGetPointCoord(A){V} alors \Vx = xA et \Vy = yA -% en cm -% tkzGetPointCoord avec [#1] cm ou bien pt !!! %<--------------------------------------------------------------------------–> -\def\tkzGetPointCoord(#1)#2{% -\begingroup -\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}} -\pgfmathparse{\pgf@sys@tonumber{\pgf@x}/28.45274} -\global\let\tkzresultx\pgfmathresult -\global\expandafter\edef\csname #2x\endcsname{\tkzresultx}% -\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}} -\pgfmathparse{\pgf@sys@tonumber{\pgf@y}/28.45274} -\global\let\tkzresulty\pgfmathresult -\global\expandafter\edef\csname #2y\endcsname{\tkzresulty} -\endgroup -} - -\def\tkz@@extractxy#1{% -\pgfextractx{\pgf@x}{\pgfpointanchor{#1}{center}} -\pgfextracty{\pgf@y}{\pgfpointanchor{#1}{center}} -} -\let\tkzGetPointxy\tkzGetPointCoord -%<--------------------------------------------------------------------------–> - -\endinput |