Prev: GUIKit runtime error occurred :java.lang.NullPointerException
Next: MorphologicalPerimeter algorithm question
From: Simon on 23 Apr 2010 03:50 On Apr 21, 4:29 pm, kokos <artb...(a)interia.pl> wrote: > How to get arrows on the ends of axes in ParametricPlot3D ? I try some > combinations of options and directives without success. > From other side how to combine Graphics3D with Arrows and > ParametricPlot3D to have the same result: > 3D surface and axes with arrows in 3D ? I don't know why the Arrowheads directive does not work in 3D... anyone else got any ideas?? Anyway, here's my quick kludge - it could be made more elegant: A 2D example with Arrowheads ( readers from Australia will recognize the ABC logo ) ParametricPlot[{Cos[u],Sin[3u]},{u,0,2\[Pi]},PlotStyle- >Thick,AxesLabel->{"x","y"},Ticks->False,AxesStyle- >Directive[Dotted,Italic,Arrowheads[.05]]] The 3D version of the above: -- the Arrowheads do not work in this case. p3d=ParametricPlot3D[{Cos[u],Sin[3u]+Cos[3v],Sin[v]},{u,0,2\[Pi]},{v,-\ [Pi],\[Pi]},Mesh->None,Boxed->False, AxesLabel->{"x","y","z"},Ticks- >False,AxesStyle->Directive[Dotted,Italic,Arrowheads[.5]], AxesEdge -> {{-1, -1}, {-1, -1}, {-1, -1}}] Extract the range and construct the coordinate list: pr=PlotRange * PlotRangePadding/.Options[p3d]/.Scaled->(2#+1&) axes=Table[{pr\[Transpose][[1]],Table[pr\[Transpose] [[KroneckerDelta[i,j]+1,i]],{i,1,3}]},{j,1,3}] Put it together: Show[p3d, Graphics3D[Arrow /@ axes]] Simon |