Re: Plotting spherical slice surfaces [message #70751] |
Fri, 30 April 2010 05:39  |
penteado
Messages: 866 Registered: February 2018
|
Senior Member Administrator |
|
|
I think what you are looking for is something like:
n = 100L
rmin = 461.78d0
rmax = 1061.38d0
lambdamin = -50.d0* !dpi/180d0
lambdamax = 50.d0 * !dpi/180d0
etamin = -34.d0 * !dpi/180d0
etamax = 35.d0 *!dpi/180d0
dr = rmax - rmin
dlambda = lambdamax - lambdamin
deta = etamax - etamin
r = DINDGEN(n)/(n-1d0) * dr + rmin
lambda = DINDGEN(n)/(n-1d0) * dlambda + lambdamin
eta = DINDGEN(n)/(n-1d0) * deta + etamin
;Constant eta surfaces
z0=r#sin(lambda) & z1=z0
x0=r#cos(lambda)*cos(etamin) & x1=r#cos(lambda)*cos(etamax)
y0=r#cos(lambda)*sin(etamin) & y1=r#cos(lambda)*sin(etamax)
;Constant r surfaces
z2=rebin(rmin*sin(lambda),n,n) & z3=rebin(rmax*sin(lambda),n,n)
x2=rmin*cos(lambda)#cos(eta) & x3=rmax*cos(lambda)#cos(eta)
y2=rmin*cos(lambda)#sin(eta) & y3=rmax*cos(lambda)#sin(eta)
;Constant lambda surfaces
z4=rebin(r*sin(lambdamin),n,n) & z5=rebin(r*sin(lambdamax),n,n)
x4=(r*cos(lambdamin))#cos(eta) & x5=(r*cos(lambdamax))#cos(eta)
y4=(r*cos(lambdamin))#sin(eta) & y5=(r*cos(lambdamax))#sin(eta)
isurface,z0,x0,y0,/scale_isotropic
isurface,z1,x1,y1,/over
isurface,z2,x2,y2,/over
isurface,z3,x3,y3,/over
isurface,z4,x4,y4,/over
isurface,z5,x5,y5,/over
|
|
|
Re: Plotting spherical slice surfaces [message #70864 is a reply to message #70751] |
Thu, 06 May 2010 23:57  |
Mrunmayee
Messages: 24 Registered: May 2009
|
Junior Member |
|
|
Thanks, that works nicely. Of course, if I use just surface instead of
isurface, it looks nothing like object graphics. And iTool usually
crashes on my machine. I can maybe use it once per login session! But
thanks anyway. I saved the itool state and exported it as an image, so
I am set decently.
On Apr 30, 5:39 pm, pp <pp.pente...@gmail.com> wrote:
> I think what you are looking for is something like:
>
> n = 100L
> rmin = 461.78d0
> rmax = 1061.38d0
> lambdamin = -50.d0* !dpi/180d0
> lambdamax = 50.d0 * !dpi/180d0
> etamin = -34.d0 * !dpi/180d0
> etamax = 35.d0 *!dpi/180d0
>
> dr = rmax - rmin
> dlambda = lambdamax - lambdamin
> deta = etamax - etamin
>
> r = DINDGEN(n)/(n-1d0) * dr + rmin
> lambda = DINDGEN(n)/(n-1d0) * dlambda + lambdamin
> eta = DINDGEN(n)/(n-1d0) * deta + etamin
>
> ;Constant eta surfaces
> z0=r#sin(lambda) & z1=z0
> x0=r#cos(lambda)*cos(etamin) & x1=r#cos(lambda)*cos(etamax)
> y0=r#cos(lambda)*sin(etamin) & y1=r#cos(lambda)*sin(etamax)
> ;Constant r surfaces
> z2=rebin(rmin*sin(lambda),n,n) & z3=rebin(rmax*sin(lambda),n,n)
> x2=rmin*cos(lambda)#cos(eta) & x3=rmax*cos(lambda)#cos(eta)
> y2=rmin*cos(lambda)#sin(eta) & y3=rmax*cos(lambda)#sin(eta)
> ;Constant lambda surfaces
> z4=rebin(r*sin(lambdamin),n,n) & z5=rebin(r*sin(lambdamax),n,n)
> x4=(r*cos(lambdamin))#cos(eta) & x5=(r*cos(lambdamax))#cos(eta)
> y4=(r*cos(lambdamin))#sin(eta) & y5=(r*cos(lambdamax))#sin(eta)
>
> isurface,z0,x0,y0,/scale_isotropic
> isurface,z1,x1,y1,/over
> isurface,z2,x2,y2,/over
> isurface,z3,x3,y3,/over
> isurface,z4,x4,y4,/over
> isurface,z5,x5,y5,/over
|
|
|