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.
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
visad
archives: