comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Cartesian IDLgrSurface of [theta,phi] data to a sphere??
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Cartesian IDLgrSurface of [theta,phi] data to a sphere?? [message #26195] Thu, 09 August 2001 16:28
tbowers0 is currently offline  tbowers0
Messages: 11
Registered: August 2001
Junior Member
Hi all,
I have a 10x24 2D array of 'intensities' where the cols and rows are
values at each theta (0 to 90, every 10 degrees, includes a polar
'cap') and phi (0 to 360, every 15 degrees) 'look' angle over the
hemisphere. I can easily plot this as a shaded surface via DFanning's
xsurface program. Problem is, it's difficult to see the directional
relationship of the data projected on this 2D surface. So, after much
twiddling, I tried replacing the IDLgrSurface object with an
IDLgrPolygon. E.g,. replace this line in david's code

thisSurface = OBJ_NEW('IDLgrSurface', data, x, y, $
Color=[255,255,0], _Extra=extra)

with this below to see the data shaded by value (easier to see how
data maps to sphere in a minute)

thisPalette=Obj_New('IDLgrPalette')
thisPalette->LoadCT, 13 ;data colored blue - red
s = Size(data, /Dimensions)
dataColoringByValue = Reform(BytScl(data, /NaN), s[0]*s[1])
thisSurface = OBJ_NEW('IDLgrSurface', data, x, y,
Vert_Colors=dataColoringByValue, $
Color=[255,255,0], Palette=thisPalette, _Extra=extra)

Compile and run this. Now, think of the x axis running from the
equator to the pole, and the y data as starting from prime meridian
and going 360 degrees. Then, without closing this window so you can
compare, comment out just the last line above and paste in these 2
lines of code right after:

MESH_OBJ, 4, Vertex_List, Polygon_List,Replicate(1, s[0], s[1])
thisSurface = OBJ_NEW('IDLgrPolygon', Vertex_List,
polygons=Polygon_List, $
Vert_Colors=dataColoringByValue, Palette=thisPalette, style=2,
shading=1)

Move the 2 graphics windows side by side and you can see how it
transfers to the sphere. I've tried transposing and rot'ing the heck
outta it, as well as just trying to get it to only the hemisphere with
NaN data to get it to plot correctly, but to no avail. 1 problem I see
is that my (real) data is computed with a polar cap so the
'longitudnal' lines don't converge to a point, but the mesh_obj'd
sphere does. Even so, my major problem is that the mapping to the
sphere just isn't panning out. Could I please ask for
hints/tips/suggestions???


TIA

todd
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: change linear scale to a non-linear
Next Topic: testing. ignore. thank you.

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 03:28:19 PDT 2025

Total time taken to generate the page: 1.67986 seconds