diff options
author | Norbert Preining <norbert@preining.info> | 2023-01-24 03:02:57 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-01-24 03:02:57 +0000 |
commit | b06c6695162b493aeec3b594c6beb518c15c98ba (patch) | |
tree | 0c1dc3cfc73ea789d6bdc4673d776f3ef652d6d8 /macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex | |
parent | 4451a2090261307c963209bc65fea9fde4eceeea (diff) |
CTAN sync 202301240302
Diffstat (limited to 'macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex')
-rw-r--r-- | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex | 265 |
1 files changed, 0 insertions, 265 deletions
diff --git a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex b/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex deleted file mode 100644 index e530dd5dfd..0000000000 --- a/macros/latex/contrib/tkz/tkz-euclide/latex/tkz-obj-eu-points-with.tex +++ /dev/null @@ -1,265 +0,0 @@ -% tkz-obj-el-points-with.tex -% Copyright 2022 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{4.25c} -\def\filedate{2022/09/23} -\typeout{2022/09/23 4.25c tkz-obj-eu-points-with.tex} -\makeatletter -%<--------------------------------------------------------------------------–> -% Vectors -%<--------------------------------------------------------------------------–> -% Objet : outils mathématiques pour la géométrie euclideienne avec pgf/tikz -% utilisable de préférence avec un repère orthonormé et le cm comme unité -% utile pour la compatibilité avec pgf 2 -%<--------------------------------------------------------------------------–> -% Duplicate Length à revoir pas de pt pas de global -% ||v(CN)||= ||v(AB)|| et v(CN) colineaire à v(CD) -% A-->#1 B-->#2 C-->#3 D-->#4 N-->#5 ????? -%<--------------------------------------------------------------------------–> -%<--------------------------------------------------------------------------–> -% Outils pour les vecteurs -%<--------------------------------------------------------------------------–> -% ce sont des outils élémentaires qui à partir de deux points en définissent -% un troisième -% #1 si c'est une option alors c'est un nombre réel -% #2 et #3 sont deux points -% #4 est le nom du point qui résulte de la transformation -% exemple : \tkzVecKNorm (A,B){C} définit un point C tel que AC = 1 et C est % % un point de la droite (AC). #1 peut être négatif - -\def\tkzDuplicateSegment(#1,#2)(#3,#4){% -\begingroup - \tkz@@CalcLength(#1,#2){tkz@firstlen}% - \tkz@@CalcLength(#3,#4){tkz@secondlen}% - \edef\tkz@ratio{\fpeval{\tkz@firstlen/\tkz@secondlen}} - \tkz@VecKCoLinear[\tkz@ratio](#3,#4,#3)% -\endgroup -} -\let\tkzDuplicateLength\tkzDuplicateSegment -%<--------------------------------------------------------------------------–> -% Coordonnées d'un vecteur (couple de points) -% Deux points A et B donc un vecteur on récupère les coordonnées de v(AB) -% en cm -% tkzGetVecCoord en cm ou en pt ??? -%<--------------------------------------------------------------------------–> -%result in #3x et #3y #1 et #2 sont les points -% passage en cm avec fp ? -% 28.45274 =1 cm -\def\tkzGetVectxy(#1,#2)#3{% -\begingroup -\pgfpointdiff{\pgfpointanchor{#1}{center}}% - {\pgfpointanchor{#2}{center}}% -\pgfmathparse{\pgf@sys@tonumber{\pgf@x}/1cm}% -\let\tkzresultx\pgfmathresult -\pgfmathparse{\pgf@sys@tonumber{\pgf@y}/1cm}% -\let\tkzresulty\pgfmathresult -\global\expandafter\edef\csname #3x\endcsname{\tkzresultx}% -\global\expandafter\edef\csname #3y\endcsname{\tkzresulty}% -\endgroup -} -%<--------------------------------------------------------------------------–> -% options #1 two points #2,#3 result in #4 -% -%<--------------------------------------------------------------------------–> -%<--------------------------------------------------------------------------–> -% tkzDefPointWith -%<--------------------------------------------------------------------------–> -\def\tkz@numv{0} -\pgfkeys{/@pointwith/.cd, - colinear/.code args = {at #1}{\def\tkz@numv{0}\def\tkz@frompoint{#1}}, - orthogonal/.code = {\def\tkz@numv{1}}, - linear/.code = {\def\tkz@numv{2}}, - orthogonal normed/.code = {\def\tkz@numv{3}}, - linear normed/.code = {\def\tkz@numv{4}}, - colinear normed/.code args = {at #1}{\def\tkz@numv{5}\def\tkz@frompoint{#1}}, - K/.code = {\edef\tkz@coeff{\fpeval{#1}}}, - K = 1, - normed/.is if = tkz@line@normed, - normed/.default = true, - normed = false, - orthogonal -} -\def\tkzDefPointWith{\pgfutil@ifnextchar[{\tkz@DefPointWith}{\tkz@DefPointWith[]}} - -\def\tkz@DefPointWith[#1](#2,#3){% -\begingroup -\pgfkeys{/@pointwith/.cd,K=1} -\pgfqkeys{/@pointwith}{#1} -\ifcase\tkz@numv% - % first case 0 - \tkz@DefVectorColinearat[\tkz@coeff](#2,#3) - \or% 1 - \tkz@VecKOrth[\tkz@coeff](#2,#3) - \or% 2 - \tkz@VecK[\tkz@coeff](#2,#3) - \or% 3 - \tkz@VecKOrthNorm[\tkz@coeff](#2,#3) - \or% 4 - \tkz@VecKNorm[\tkz@coeff](#2,#3) - \or% 5 - \tkz@VecKColinearNorm[\tkz@coeff](#2,#3) - \fi -\endgroup -} -%<--------------------------------------------------------------------------–> -% tkzDefVectorfrom -%<--------------------------------------------------------------------------–> -% tkz@numv 0 -\def\tkz@DefVectorColinearat[#1](#2,#3){% -\iftkz@line@normed - \tkz@VecKColinearNorm[#1](#2,#3) -\else -\begingroup - \pgfpointdiff{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#3}{center}}% - \pgf@xa=\pgf@x\relax% - \pgf@ya=\pgf@y\relax% - \pgfinterruptboundingbox - \path (\tkz@frompoint)--++(\tkz@coeff\pgf@xa,\tkz@coeff\pgf@ya) coordinate (tkzPointResult); - \endpgfinterruptboundingbox -\endgroup -\fi -} -%<--------------------------------------------------------------------------–> -% tkzVector K Orth coeff dans #1 -% v(AN) perp v(AB) (v(AB) , v(AN) ) sens direct cercle trigo -% ||v(AN)||=||v(AB)|| -%<--------------------------------------------------------------------------–> -% tkz@numv 1 -\def\tkzVecKOrth{\pgfutil@ifnextchar[{\tkz@VecKOrth}{\tkz@VecKOrth[1]}} -\def\tkz@VecKOrth[#1](#2,#3){% -\iftkz@line@normed - \tkz@VecKOrthNorm[#1](#2,#3) -\else -\begingroup - \pgfpointdiff{\pgfpointanchor{#2}{center}}{\pgfpointanchor{#3}{center}}% - \pgf@xa=-\pgf@y% - \pgf@ya=\pgf@x% - \pgfinterruptboundingbox - \path (#2)--++(\tkz@coeff\pgf@xa,\tkz@coeff\pgf@ya) coordinate (tkzPointResult); - \endpgfinterruptboundingbox -\endgroup -\fi -}% - -%<--------------------------------------------------------------------------–> -% v(AN)=#1 x v(AB) -% #1 le coeff; #2--> A #3--> B #4-->N tq #4-#2 = #1*(#3-#2) -%<--------------------------------------------------------------------------–> -% tkz@numv 2 -\def\tkzVecK{\pgfutil@ifnextchar[{\tkz@VecK}{\tkz@VecK[1]}} -\def\tkz@VecK[#1](#2,#3){% -\iftkz@line@normed - \tkz@VecKNorm[#1](#2,#3) -\else -\begingroup - \pgfpointdiff{\pgfpointanchor{#2}{center}}% - {\pgfpointanchor{#3}{center}}% - \pgf@xa=\pgf@x\relax% - \pgf@ya=\pgf@y\relax% - \pgfmathparse{#1} - \let\tkz@coeff\pgfmathresult - \pgfinterruptboundingbox - \path (#2)--++(\tkz@coeff\pgf@xa,\tkz@coeff\pgf@ya) coordinate (tkzPointResult); - \endpgfinterruptboundingbox -\endgroup -\fi -}% -%<--------------------------------------------------------------------------–> -% tkzVecKOrthNorm coeff dans #1 -% v(AN) perp v(AB) v(AB) v(AN) sens direct cercle trigo -% ||v(AN||=1 si #1 est vide ou =1 sinon ||v(AN||=K -%<--------------------------------------------------------------------------–> -% tkz@numv 3 -\def\tkzVecKOrthNorm{\pgfutil@ifnextchar[{\tkz@VecKOrthNorm}% - {\tkz@VecKOrthNorm[1]}} -\def\tkz@VecKOrthNorm[#1](#2,#3){% -\begingroup - \tkzpointnormalised{\pgfpointdiff{\pgfpointanchor{#2}{center}}% - {\pgfpointanchor{#3}{center}}} - \pgf@xa=-\pgf@y\relax% - \pgf@ya=\pgf@x\relax% - \edef\tkz@x{\fpeval{28.45274*(#1)*\pgf@xa}} - \edef\tkz@y{\fpeval{28.45274*(#1)*\pgf@ya}} - \pgfinterruptboundingbox - \path (#2)--++(\tkz@x pt,\tkz@y pt) coordinate (tkzPointResult); - \endpgfinterruptboundingbox -\endgroup -}% -%<--------------------------------------------------------------------------–> -% VectorNormalised ou K*VectorNormalised -% A-->#2 B-->#3 N-->#4 v(AB) devient v(AN) tq ||v(AN)||=1 si #1=1 -% sinon ||v(AN)||=#1 -%<--------------------------------------------------------------------------–> -% tkz@numv 4 -\def\tkzVecKNorm{\pgfutil@ifnextchar[{\tkz@VecKNorm}{\tkz@VecKNorm[1]}} -\def\tkz@VecKNorm[#1](#2,#3){% -\begingroup - \tkzpointnormalised{% - \pgfpointdiff{\pgfpointanchor{#2}{center}} - {\pgfpointanchor{#3}{center}}} - \pgf@xa=\pgf@x\relax% - \pgf@ya=\pgf@y\relax% - \edef\tkz@x{\fpeval{28.45274*(#1)*\pgf@xa}} - \edef\tkz@y{\fpeval{28.45274*(#1)*\pgf@ya}} - \pgfinterruptboundingbox - \path (#2)--++(\tkz@x pt,\tkz@y pt) coordinate (tkzPointResult); - \endpgfinterruptboundingbox -\endgroup -}% -%<--------------------------------------------------------------------------–> -% \tkz@VecKColinearNorm -%<--------------------------------------------------------------------------–> -%% tkz@numv 5 -\def\tkz@VecKColinearNorm[#1](#2,#3){% -\begingroup - \tkzpointnormalised{% - \pgfpointdiff{\pgfpointanchor{#2}{center}} - {\pgfpointanchor{#3}{center}}} - \pgf@xa=\pgf@x\relax% - \pgf@ya=\pgf@y\relax% - \edef\tkz@x{\fpeval{28.45274*(#1)*\pgf@xa}} - \edef\tkz@y{\fpeval{28.45274*(#1)*\pgf@ya}} - \pgfinterruptboundingbox - \path (\tkz@frompoint)--++(\tkz@x pt,\tkz@y pt) coordinate (tkzPointResult); - \endpgfinterruptboundingbox -\endgroup -}% -%<--------------------------------------------------------------------------–> -% VecKCoLinear CN = K x AB #1 pt #2 pt #3 pt #4 nb #5 pt result -% il faut modifier cette macro : on supprime #3 pour la colinéarité -% Il suffit d'utiliser Replicate ou Duplicate coeff dans #1 -% v(CD)=#1 x v(AB) #1 le coeff; #2-->A #3-->B #4-->C -%<--------------------------------------------------------------------------–> -\def\tkz@VecKCoLinear[#1](#2,#3,#4){% -\begingroup - \pgfpointdiff{\pgfpointanchor{#2}{center}}% - {\pgfpointanchor{#3}{center}}% - \pgf@xa=\pgf@x\relax% - \pgf@ya=\pgf@y\relax% - \edef\tkz@coeff{\fpeval{#1}} - \pgfinterruptboundingbox - \path (#4)--+(\tkz@coeff\pgf@xa,\tkz@coeff\pgf@ya) coordinate (tkzPointResult); - \endpgfinterruptboundingbox -\endgroup -}% -\def\tkz@VecCoLinear(#1,#2,#3){% -\begingroup - \pgfpointdiff{\pgfpointanchor{#1}{center}}% - {\pgfpointanchor{#2}{center}}% - \pgf@xa=\pgf@x\relax% - \pgf@ya=\pgf@y\relax% - \pgfinterruptboundingbox - \path (#3)--+(\pgf@xa,\pgf@ya) coordinate (tkzPointResult); - \endpgfinterruptboundingbox -\endgroup -}% -\makeatother -\endinput
\ No newline at end of file |