# [pstricks] 3d "arrows"

Jon Joseph josco.jon at gmail.com
Thu Dec 30 22:44:49 CET 2010

All: I have included a program which draws a "circular" arrow indicating a direction of rotation.  This is meant to demonstrate the right hand rule with the vector pointing in the z direction (as shown).  The picture looks great and was exactly what I was trying to do. However, my method is not very generalizable and if I wanted to do it again I would need to recalculate some absolute coordinates (e.g. the position of the arrow). Does any one have a suggestion as to how this type of object can be compartmentalized within pst-solides3d?  Thanks and happy new year.  Jon

\documentclass{article}
\usepackage[dvipsnames]{pstricks}
\usepackage{pst-solides3d}
\usepackage{amssymb, amsmath}

\begin{document}

\psset{unit=5mm}
\begin{pspicture}[showgrid=false](-5,-5)(5,5)
\psset{viewpoint=10 30 30 rtp2xyz, Decran=30}
\defFunction{mycylinder}(u,v){2 u Cos mul}{2 u Sin mul}{v}
\psSolid[object=surfaceparametree,
base=pi 2 div 9 pi mul 4 div  0 .25,
ngrid=30,
function=mycylinder,
grid,
incolor=red!20,
fillcolor=red,
%RotY=-10,
action=draw**]
\psSolid[
object=face,
fillcolor=red,
incolor=blue,
biface,
base=0 0 .5 0 .25 .75,
linecolor=red,
RotY=90,
RotZ = 60,
action=draw**](2 sqrt, 2 sqrt, .375)
\psSolid[
object=vecteur,
args=0 0 2,
linewidth=2pt,
linecolor=blue]
\psPoint(0,0,2.2){A} \uput[0](A){\large $\vec{\omega}$}
\axesIIID(0,0,0)(3,3,3)
\end{pspicture}

\end{document}