NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

Re: blobs in VisAD

Hi Ananke,

> I'm relatively new to VisAD and Java3D, so
> please sexcuse me if I ask something trivial.
> In PoV -- there's that construct, called blob.
> Can I achive a similar effect in Visad?
>
> Thank you very much for your help,
>         Ananke
> P.S.: Povray about blobs:
> -- from povray.doc
> 4.4.2            Blob Object
>
> Blobs are described as spheres and cylinders covered with "goo" which
> stretches to smoothly join them (see section "Blob"). Ideal for modelling
> atoms and molecules, blobs are also powerful tools for creating many smooth
> flowing "organic" shapes.
>
> A slightly more mathematical way of describing a blob would be to say that it
> is one object made up of two or more component pieces. Each piece is really
> an invisible field of force which starts out at a particular strength and
> falls off smoothly to zero at a given radius. Where ever these components
> overlap in space, their field strength gets added together (and yes, we can
> have negative strength which gets subtracted out of the total as well). We
> could have just one component in a blob, but except for seeing what it looks
> like there is little point, since the real beauty of blobs is the way the
> components interact with one another.
>
> Let us take a simple example blob to start. Now, in fact there are a couple
> different types of components but we will look at them a little later. For
> the sake of a simple first example, let us just talk about spherical
> components. Here is a sample POV-Ray code showing a basic camera, light, and
> a simple two component blob (this scene is called blobdem1.pov):

VisAD does not support such blobs directly, but there are a
couple ways to produce the effect.

Given a set of objects you could compute a FlatField whose
value at each sample is the minimum distance from the sample
to an object.  Then an iso-surface of the FlatField will
look like these blobs.  There are a number of ways to compute
Fields that will give similar effects, for example the value
at sample s = sum { 1 / distance(s, object)^2 | for each object }
This would be the easiest approach.

Another approach would be to extend the DataRenderer class to
make a blob renderer.

If the blobs for different objects can be independent (i.e., not
flow into each other) then you could map object attributes to
Display.Shape, using a variety of different shapes to represent
different object types (for example, if the objects are molecules
the attribute may be an index into a list of molecule shapes).

Good luck,
Bill
----------------------------------------------------------
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI  53706
hibbard@xxxxxxxxxxxxxxxxx  608-263-4427  fax: 608-263-6738
http://www.ssec.wisc.edu/~billh/vis.html

  • 1999 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the visad archives: