Re: Can an arrow be drawn on a 3D plot?
- To: mathgroup at smc.vnet.net
- Subject: [mg81311] Re: Can an arrow be drawn on a 3D plot?
- From: dh <dh at metrohm.ch>
- Date: Wed, 19 Sep 2007 05:21:15 -0400 (EDT)
- References: <fcnkbv$rqc$1@smc.vnet.net>
Hy, as far as I know does Arrow not work in 3D Graphics. But you may still draw an arrow by "hand" using the Line directive. Of coarse this is a clumsy way, but at least you get a picture: f[z_]:=z; iSurface=ParametricPlot3D[{Re[z],Im[z],Im[f[z]]}/.z->r*Exp[I*t],{r,0,5},{t,-Pi,Pi},PlotStyle->Red]; traceC1=ParametricPlot3D[{Re[z],Im[z],Im[f[z]]}/.z->2*Exp[I*t],{t,0,2*Pi},PlotStyle->{Darker[Green],Thickness[0.004]}]; Show[{iSurface,traceC1,Graphics3D[{Thickness[0.01],Line[{{2,0,0},{2,3,3},.7{2,3,3},{2,3,3},{2.7,1.8,2}}]}]},PlotRange->{{-7,7},{-7,7},{-7,7}},BoxRatios->{1,1,1},ImageSize->{500,500}] If you want to darw many arrows, you can make a function that creates them. hope this helps, Daniel chuck009 wrote: > The code below draws a surface and a contour over that surface. I'd like to show the direction of the contour with arrows. Looks like Arrow only works in 2D. Any way to draw an arrow lying on a 3-D surface? Ideally, I'd like to place say 2 arrows on the green contour on the red surface showing the direction (of integration). > > f[z_] := z; > iSurface = ParametricPlot3D[ > {Re[z], Im[z], Im[f[z]]} /. > z -> r*Exp[I*t], {r, 0, 5}, > {t, -Pi, Pi}, PlotStyle -> Red]; > traceC1 = ParametricPlot3D[ > {Re[z], Im[z], Im[f[z]]} /. > z -> 2*Exp[I*t], {t, 0, 2*Pi}, > PlotStyle -> {Darker[Green], > Thickness[0.004]}]; > Show[{iSurface, traceC1}, PlotRange -> > {{-7, 7}, {-7, 7}, {-7, 7}}, > BoxRatios -> {1, 1, 1}, ImageSize -> > {500, 500}] >