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

Home » Public Forums » archive » Plotting 3D array as a 'cloud'
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Plotting 3D array as a 'cloud' [message #78005 is a reply to message #77809] Mon, 10 October 2011 10:48 Go to previous messageGo to previous message
Karl[1] is currently offline  Karl[1]
Messages: 79
Registered: October 2005
Member
On Sunday, October 9, 2011 10:10:24 PM UTC-6, Mike Galloy wrote:
> Robin Wilson <ro...@rtwilson.com> wrote:
>> Hi all,
>>
>> I've got a 3D array in IDL that contains a model of a cloud - that is,
>> each cell is either 0 (not cloud) or 1 (cloud). I'd like to plot this in
>> a 3D way, so that it looks like a cloud. I'm not quite sure how else to
>> describe it - but I'd like to be able to see the cloud as a 3D model - so
>> it just looks like a cloud shaped 'blob' - if possible one that can be rotated.
>>
>> I'm not quite sure how to go about this. I don't want to do a surface
>> plot - because I want all sides of the cloud not just the top surface. I
>> guess some sort of 3D point plot would be ok, but I want to see the cloud
>> as a solid blob, not as points with gaps between them.
>>
>> I'm a little confused by the range of IDL procedures which can be used to
>> plot things like this, and am not really sure which is best to try and use.
>>
>> Any suggestions?
>
> I would suggest using ISOSURFACE to get vertices and connectivity. Then
> create an IDLgrPolygon from that (or use function graphics). Use XOBJVIEW
> to display if you don't want to create your own object graphics hierarchy.
>
> Mike
> --
> www.michaelgalloy.com Research Mathematician Tech-X Corporation

Using ISOSURFACE to generate polygon data for an IDLgrPolygon to display with XOBJVIEW is an excellent first step. This will give you a surface representing the transition between "cloud" and "no cloud". ISOSURFACE can generate a lot of triangles, so consider using MESH_DECIMATE to simplify the model if it is too much to display.

This surface is usually displayed as an opaque surface, so you won't see any structure "inside" the cloud, as there might be if there are any "no cloud" regions within the outermost exterior surface. You can sort of "zoom through" the outer surface, but you'll soon get lost. It may be tempting to use alpha to draw the surface semi-transparently, but this usually requires that the triangles be sorted back-to-front, and that's a complicated job.

Consider using IDLgrVolume with XOBJVIEW. IDLgrVolume can render the volume data using "ray-casting" which will display your data semi-transparently and handle the back-to-front issues.

Is the iVolume iTool still around? If so, give that a try. You'll see your volume rendered the same way as IDLgrVolume shows it. But you can also drag "slice" planes through it. And I think you can turn on isosurface generation as well.

Karl
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: REFORM: new subscripts must not change the number elements in array
Next Topic: what is the highest subscript in the array?!?

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

Current Time: Sun Oct 12 14:21:14 PDT 2025

Total time taken to generate the page: 0.48164 seconds