# [pstricks] 3d "arrows"

Jean-Côme Charpentier jean-come.charpentier at wanadoo.fr
Fri Dec 31 11:54:25 CET 2010

Le 30/12/2010 23:02, Per Ting a écrit :
> When I run your code, Miktex stops at pstricks-add (or pst-plot,
> included in it) with error messag:
>
> ("C:\Program Files (x86)\MiKTeX
> ("C:\Users\Main
> User\AppData\Local\MiKTeX\2.9\tex\generic\pst-plot\pst-plot.tex
> "  v1.10, 2010/02/11
>
> ! LaTeX Error: Missing \begin{document}.
>
> See the LaTeX manual or LaTeX Companion for explanation.
> Type  H <return>  for immediate help.
>   ...
>
> l.1006 \psset{labelFontSize={},mathLabel=true}

It's an internal error. There isn't any
\psset{labelFontSize={},mathLabel=true}
in the Jon's code. Maybe you should get the next release of some
PSTricks components. Herbert? What do you think about that?

>
> On Thu, Dec 30, 2010 at 4:44 PM, Jon Joseph <josco.jon at gmail.com
> <mailto:josco.jon at gmail.com>> wrote:
>
>     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.

Ok. That's a good point!

> 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).

Position of the arrow relative with what? In fact, I don't understand

> 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

Totaly not sure since I don't understand what you want :

\documentclass{article}
\usepackage{pst-solides3d}

\newcommand\AmpereLaw[1][5mm]{%
\begingroup
\psset{unit=#1}
\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)
\endgroup
}

\begin{document}

\begin{pspicture}[showgrid=false](-2.5,-2.5)(2.5,2.5)
\AmpereLaw
\rput(-2,2){\AmpereLaw[1mm]}
\rput{45}(2,2){\AmpereLaw[1mm]}
\end{pspicture}

\end{document}

BTW, note that only \usepackage{pst-solides3d} is needed here: all the
other packages are useless. (for Per) However, with theses packages, all
compile very well for me.

Jean-Côme Charpentier