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}]
>