summaryrefslogtreecommitdiff
path: root/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex')
-rw-r--r--graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex63
1 files changed, 54 insertions, 9 deletions
diff --git a/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex b/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
index c5e67dae20..3a881739bb 100644
--- a/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
+++ b/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
@@ -20,8 +20,8 @@
\csname PSTEuclideLoaded\endcsname
\let\PSTEuclideLoaded\endinput
%
-\def\fileversion{1.71}
-\def\filedate{2020/02/26}
+\def\fileversion{1.72}
+\def\filedate{2020/04/18}
%%
\message{`PST-Euclide v\fileversion, \filedate\space (dr,hv)}%
%% prologue for postcript
@@ -560,12 +560,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% #2 #4 #6 -> coordinates for nodes
%% #3 #5 #7 -> nodes name
-\def\pstTriangle{\@ifnextchar[\Pst@Triangle{\Pst@Triangle[]}}
-\def\Pst@Triangle[#1]{%
- \begingroup
- \psset{#1}%
- \@ifnextchar(\pstTriangle@ii{\pstTriangle@ii(0,0)}%
-}
+\def\pstTriangle{\pst@object{pstTriangle}}%
+\def\pstTriangle@i{\@ifnextchar(\pstTriangle@ii{\pstTriangle@ii(0,0)}}%
\def\pstTriangle@ii(#1)#2(#3)#4(#5)#6{%
\pst@killglue
%%begin modif alaindelplanque 11/2003
@@ -628,7 +624,7 @@
\Pst@Geonode@i[](#5){#6}%%NEW DR 15112001
\pst@TraceTriangle{#2}{#4}{#6}%
\egroup
-\endgroup}%
+}%
%
\def\pst@TraceTriangle#1#2#3{\pspolygon(#1)(#2)(#3)}%
%
@@ -2361,6 +2357,55 @@
\endgroup
}%
%
+%% \pstTriangleLC[Options]{A}{B}{C}{L}[S1][S2][S3]
+%% Draw the Lemonie of triangle ABC
+%% Parameters:
+%% #1 -> options
+%% #2 -> [input] the node A
+%% #3 -> [input] the node B
+%% #4 -> [input] the node C
+%% #5 -> [output] the output Lemoine Point L
+%% #6 -> [output] the optional output point on BC
+%% #7 -> [output] the optional output point on CA
+%% #8 -> [output] the optional output point on AB
+\def\pstTriangleLC{\@ifnextchar[\Pst@TriangleLC{\Pst@TriangleLC[]}}
+\def\Pst@TriangleLC[#1]#2#3#4#5{%
+ \begingroup
+ \@InitListMng %
+ \psset{#1}%
+ \def\pst@triangle@node@A{#2}
+ \def\pst@triangle@node@B{#3}
+ \def\pst@triangle@node@C{#4}
+ \def\pst@triangle@node@L{#5}
+ \@ifnextchar[\Pst@TriangleLC@i{\Pst@TriangleLC@j[BC_L][CA_L][AB_L]}}
+\def\Pst@TriangleLC@i[#1][#2][#3]{%
+ \pstMiddleAB[PointName=none,PointSymbol=none]{\pst@triangle@node@B}{\pst@triangle@node@C}{BC_M}
+ \pstMiddleAB[PointName=none,PointSymbol=none]{\pst@triangle@node@C}{\pst@triangle@node@A}{CA_M}
+ \pstBisectorAOB[PointName=none,PointSymbol=none]{\pst@triangle@node@B}{\pst@triangle@node@A}{\pst@triangle@node@C}{A_T}{A_S}
+ \pstBisectorAOB[PointName=none,PointSymbol=none]{\pst@triangle@node@C}{\pst@triangle@node@B}{\pst@triangle@node@A}{B_T}{B_S}
+ \pstOrtSym[PointName=none,PointSymbol=none]{\pst@triangle@node@A}{A_T}{BC_M}[BC_LL]
+ \pstOrtSym[PointName=none,PointSymbol=none]{\pst@triangle@node@B}{B_T}{CA_M}[CA_LL]
+ \pstInterLL[PointName=none,PointSymbol=none]{\pst@triangle@node@A}{BC_LL}{\pst@triangle@node@B}{CA_LL}{\pst@triangle@node@L}
+ \pstInterLL[PointName=none,PointSymbol=none]{\pst@triangle@node@A}{\pst@triangle@node@L}{\pst@triangle@node@B}{\pst@triangle@node@C}{#1}
+ \pstInterLL[PointName=none,PointSymbol=none]{\pst@triangle@node@B}{\pst@triangle@node@L}{\pst@triangle@node@C}{\pst@triangle@node@A}{#2}
+ \pstInterLL[PointName=none,PointSymbol=none]{\pst@triangle@node@C}{\pst@triangle@node@L}{\pst@triangle@node@A}{\pst@triangle@node@B}{#3}
+ \Pst@ManageParamList{\pst@triangle@node@L}%
+ \Pst@ManageParamList{#1}%
+ \Pst@ManageParamList{#2}%
+ \Pst@ManageParamList{#3}%
+ \endgroup
+}%
+\def\Pst@TriangleLC@j[#1][#2][#3]{%
+ \pstMiddleAB[PointName=none,PointSymbol=none]{\pst@triangle@node@B}{\pst@triangle@node@C}{BC_M}
+ \pstMiddleAB[PointName=none,PointSymbol=none]{\pst@triangle@node@C}{\pst@triangle@node@A}{CA_M}
+ \pstBisectorAOB[PointName=none,PointSymbol=none]{\pst@triangle@node@B}{\pst@triangle@node@A}{\pst@triangle@node@C}{A_T}{A_S}
+ \pstBisectorAOB[PointName=none,PointSymbol=none]{\pst@triangle@node@C}{\pst@triangle@node@B}{\pst@triangle@node@A}{B_T}{B_S}
+ \pstOrtSym[PointName=none,PointSymbol=none]{\pst@triangle@node@A}{A_T}{BC_M}[BC_LL]
+ \pstOrtSym[PointName=none,PointSymbol=none]{\pst@triangle@node@B}{B_T}{CA_M}[CA_LL]
+ \pstInterLL{\pst@triangle@node@A}{BC_LL}{\pst@triangle@node@B}{CA_LL}{\pst@triangle@node@L}
+ \endgroup
+}%
+%
%% Distance between two points
\def\pstDist#1#2{%
tx@EcldDict begin /N@#1 GetNode /N@#2 GetNode ABDist end