From 253a576fcd7a1b4f2e531719e79f7f8c98be2791 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 19 Jan 2011 00:48:23 +0000 Subject: pstricks-add 3.49 (18jan11) git-svn-id: svn://tug.org/texlive/trunk@21119 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/generic/pstricks-add/pstricks-add.tex | 40 ++++++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) (limited to 'Master/texmf-dist/tex/generic') diff --git a/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex b/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex index 1505289d7ed..3d7da83946c 100644 --- a/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex +++ b/Master/texmf-dist/tex/generic/pstricks-add/pstricks-add.tex @@ -1,4 +1,4 @@ -%% $Id: pstricks-add.tex 439 2010-12-18 18:45:23Z herbert $ +%% $Id: pstricks-add.tex 445 2011-01-18 18:43:16Z herbert $ %% %% %% This is file `pstricks-add.tex', @@ -31,8 +31,8 @@ \ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi \ifx\PSTmathLoaded\endinput\else \input pst-math \fi % -\def\fileversion{3.48} -\def\filedate{2010/12/18} +\def\fileversion{3.49} +\def\filedate{2011/01/18} \message{`pstricks-add' v\fileversion, \filedate\space (dr,hv)} % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax @@ -2218,6 +2218,40 @@ dup #1Delta.X m 1 add get mul #1.X m get add #1Tick.X j 3 -1 roll put % s on sta \ignorespaces% } % +\def\psEllipseTangents(#1,#2)(#3,#4)(#5,#6){% (xe,ye)(a,b)(xP,yP) % no optional arguments + \pst@killglue% + \pnode(! + /A #3 def + /B #4 def + /A2 A dup mul def /B2 B dup mul def + #5 #1 sub /Xp ED + #6 #2 sub /Yp ED + A2 B2 mul Xp mul + Yp 4 exp A 6 exp mul + B2 Yp dup mul mul A 6 exp mul sub + B2 Xp dup mul mul Yp dup mul mul A 4 exp mul add sqrt add + Yp dup mul A2 mul B2 Xp dup mul mul add div /Xt ED % the x3 value + Xt dup mul A2 div neg 1 add sqrt B mul /Yt ED + Yt Yp sub Xt Xp sub mul 0 gt { % P is in 1st or 3rd quadrant + Xt dup mul A2 div neg 1 add sqrt neg B mul /Yt ED } if + Xt #1 add Yt #2 add ) {EllipseT1}% + \pnode(! + /A #3 def + /B #4 def + /A2 A dup mul def /B2 B dup mul def + #5 #1 sub /Xp ED + #6 #2 sub /Yp ED + A2 B2 mul Xp mul + Yp 4 exp A 6 exp mul + B2 Yp dup mul mul A 6 exp mul sub + B2 Xp dup mul mul Yp dup mul mul A 4 exp mul add sqrt sub + Yp dup mul A2 mul B2 Xp dup mul mul add div /Xt ED % the x3 value + Xt dup mul A2 div neg 1 add sqrt B mul /Yt ED + Yt Yp sub Xt Xp sub mul 0 lt { % P is in 2nd or 4th quadrant + Xt dup mul A2 div neg 1 add sqrt neg B mul /Yt ED } if + Xt #1 add Yt #2 add ) {EllipseT2}% + \ignorespaces}% +% \def\resetOptions{% \def\pst@linetype{0}% \pstScalePoints(1,1){}{}% -- cgit v1.2.3