Re: Re: PlotVectorField3D in Cylindrical Coordinates
- To: mathgroup at smc.vnet.net
- Subject: [mg37362] Re: [mg37347] Re: [mg37312] PlotVectorField3D in Cylindrical Coordinates
- From: Selwyn Hollis <selwynh at earthlink.net>
- Date: Fri, 25 Oct 2002 02:46:57 -0400 (EDT)
- References: <200210230656.CAA04825@smc.vnet.net> <200210240656.CAA05139@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
So ArcTan can take two arguments... what a concept! Here's a cleaner version of my previous post. << "Graphics`PlotField`"; Off[ArcTan::indet]; rot[q_] := {{Cos[q], -Sin[q]}, {Sin[q], Cos[q]}}; PlotPolarVectorField[{f_, g_}, {r_, q_}, {x_, x1_, x2_}, {y_, y1_, y2_}, opts___Rule] := PlotVectorField[rot[q].{f, g} /. {r -> Sqrt[x^2 + y^2], q -> ArcTan[x, y]}, {x, x1, x2}, {y, y1, y2}, opts]; PlotPolarVectorField[{r, Sin[q]}, {r, q}, {x, -1, 1}, {y, -1, 1}] << "Graphics`PlotField3D`"; PlotCylindricalVectorField[{f_, g_, h_}, {r_, q_, z_}, {x_, x1_, x2_}, {y_, y1_, y2_}, {z_, z1_, z2_}, opts___Rule] := PlotVectorField3D[Append[rot[q].{f, g}, h] /. {r -> Sqrt[x^2 + y^2], q -> ArcTan[x, y]}, {x, x1, x2}, {y, y1, y2}, {z, z1, z2}, opts]; PlotCylindricalVectorField[{0, 1, 0}, {r, q, z}, {x, -1, 1}, {y, -1, 1}, {z, 0, 1}] ---- Selwyn Hollis I wrote: > Here's a way of plotting a polar vector field {f(r,q], g[r,q]} (q is the > angle) by means of PlotField: > > <<Graphics`PlotField`; > > angle[x_, y_] := Which[x<0, ArcTan[y/x]+Pi, x*y<0, ArcTan[y/x]+2*Pi, > x!=0, ArcTan[y/x], x==0, Sign[y]*(Pi/2)]; > > Off[Power::infy, Infinity::indet]; > > PlotPolarVectorField[{f_,g_}, {r_,q_}, {x_,x1_,x2_}, {y_,y1_,y2_}, > opts___Rule] := > PlotVectorField[{f*Cos[q] - g*Sin[q], f*Sin[q] + g*Cos[q]} /. > {r -> Sqrt[x^2 + y^2], q -> angle[x, y]}, > {x, x1, x2}, {y, y1, y2}, opts]; > > (* Example *) > > PlotPolarVectorField[{r, Sin[q]}, {r, q}, {x, -1, 1}, {y, -1, 1}] > > > This uses the same idea to plot a 3D vector field in cylindrical > coordinates: > > <<Graphics`PlotField3D`; > > PlotCylindricalVectorField[{f_,g_,h_}, {r_,q_,z_}, {x_,x1_,x2_}, > {y_, y1_, y2_}, {z_, z1_, z2_}, opts___Rule] := > PlotVectorField3D[{f*Cos[q] - g*Sin[q], f*Sin[q] + g*Cos[q], h} /. > {r -> Sqrt[x^2 + y^2], q -> angle[x, y]}, > {x, x1, x2}, {y, y1, y2}, {z, z1, z2}, opts]; > > (* Example *) > > PlotCylindricalVectorField[{0,1,0},{r,q,z},{x,-1,1},{y,-1,1},{z,0, 1}] > > ---- > Selwyn Hollis > > > > > stefano fricano wrote: > >>Hi, >> >>Someone known if is possible to create a 3DPlot Vector >>Field using Cylindrical coordinates. >> >>Using Calculus`VectorAnalysis` Add-on, I can set >>coordinates but Graphics`PlotField3D` seems not using >>the coordinates setted, it works in Cartesian system >>in any case. >> >>Any idea? >> >>Thanks in advance, >>Stefano Fricano. >> >>______________________________________________________________________ >>Mio Yahoo!: personalizza Yahoo! come piace a te >>http://it.yahoo.com/mail_it/foot/?http://it.my.yahoo.com/ >> >> > > > > >
- References:
- PlotVectorField3D in Cylindrical Coordinates
- From: stefano fricano <stefanofricano@yahoo.it>
- Re: PlotVectorField3D in Cylindrical Coordinates
- From: Selwyn Hollis <selwynh@earthlink.net>
- PlotVectorField3D in Cylindrical Coordinates