[pstricks] Current point
Hensh, Richard
hensh at math.msu.edu
Tue Dec 4 19:49:26 CET 2007
Is there a way to move the current point without relying on the \pscustom environment (which doesn't seem to work)? For example, I have written the following postscript:
\pstVerb{%
/polar@ {dup cos 3 1 roll sin 3 1 roll dup 4 1 roll mul 3 1 roll mul} def % (r,theta) -> (x,y)
}
Now, I can specify the rectangular point (\sqrt{3},1) using:
\pnode(!2 30 polar@){A}
which is just fine whenever I want the point (0,0) to be the current point. Now suppose that I wish to measure a 30 degree angle from some other point. Then I find myself using the \pstTranslation macro, which can become very tedious.
For example, in the code at the end of this message, I wish to draw a line DE parallel to AC.
I would prefer something like:
\cp(2,0) %%Now (2,0) is the current point.
\pnode(!6 60 polar@){C}
\cp(0,0) %%The default
instead of
\pnode(!6 60 polar@){C}
\pstTranslation{A}{D}{C}
as shown below. It's not a big deal but it would be nice.
Thanks
Ricky
\documentclass[12pt]{article}
\usepackage{pst-eucl}%
\usepackage{pstricks-add}%
\begin{document}
\psset{unit=6mm}
\psset{%
PointSymbol=none%
,PointName={}%
}
\begin{pspicture}(\-1,-1)(8,6)
\SpecialCoor
\pnode(0,0){A}
\pnode(!6 60 polar@){C}
\pnode(7,0){B}
\pnode(2,0){D}
\pstTranslation{A}{D}{C}
\pstInterLL{D}{C'}{B}{C}{E}
\psline(A)(B)(C)(A)
\psline(D)(E)
\uput{6pt}[180](A){{$A$}}
\uput{6pt}[0](B){{$B$}}
\uput{6pt}[90](C){{$C$}}
\uput{6pt}[-90](D){{$D$}}
\uput{6pt}[45](E){{ $E$}}
\NormalCoor
\end{pspicture}
\end{document}
More information about the PSTricks
mailing list