\documentclass[pstricks,border=12pt]{standalone} \SpecialCoor \usepackage{pst-node,multido} \makeatletter \def\@protractor#1{% \psset{dimen=middle,linewidth=.5\pslinewidth} \pscustom{\psarc(0,0){#1}{0}{180}\psline(-#1,-.3)(#1,-.3)\closepath} \multido{\na=0+90}{3}{\psline(!#1 .725 mul \na\space PtoC)} \multido{\ns=0+1}{180}{\psline(!#1 .975 mul \ns\space PtoC)(#1;\ns)} \multido{\nm=0+5}{37}{\psline(!#1 .950 mul \nm\space PtoC)(#1;\nm)} \multido{\nl=0+10}{19}{% \psline(!#1 .925 mul \nl\space PtoC)(#1;\nl) \uput{!#1 .850 mul}[\nl]{!\nl\space 90 sub}(0,0){\small$\nl$} \uput{!#1 .775 mul}[!180 \nl\space sub]{!90 \nl\space sub}(0,0){\small$\nl$} \psline(!#1 .05 mul \nl\space PtoC)(!#1 .725 mul \nl\space PtoC) }} \def\protractor{\pst@object{protractor}} \def\protractor@i(#1)(#2)#3{% \begin@SpecialObj \pcline[linestyle=none](#1)(#2) \ncput[nrot=:U, npos=1]{\@protractor{#3}}% \end@SpecialObj} \makeatother \begin{document} \begin{pspicture}[showgrid=true](-5,-5)(10,5) \protractor[linecolor=green!70!black](! 2 neg 1)(5;-10){5} \pcline[nodesep=-2,linecolor=blue](! 2 neg 1)(5;-10) \psdots(! 2 neg 1)(5;-10) \end{pspicture} \end{document}
Comments