Subject: Re: CCL:isosurfaces in volumetric data

From: Willy Wriggers <[email-masked]>
Date: Thu, 9 Oct 97 23:34:25 -0500

Thanks for your replies! For the record, here is a compilation of  
messages I received:

The original question was:

> I'm looking for a free implementation (preferably in c) of an
> algorithm that renders isosurfaces of 3D data on a grid.
>
> One example would be the Marching Cubes algorithm by Lorensen and
> Cline, but any other method that generates triangles and
> corresponding surface normals is welcome, too.

------------------------------------------------------------

Richard Gillilan <[email-masked]>,
Michael Potter <[email-masked]>:

	VTK will do isosurfaces with Marching cubes etc (see  
http://www.cs.rpi.edu/~martink/) VTK is a C++ class library that  
I've used for a variety of visualization tasks in the past. I  
believe their copyright is fairly flexible. The code is fairly  
modular so you should be able to take just the pieces you need. At  
the very least you could look at the source for the method.

Matthew Ward <[email-masked]>:

Alternatively, if you buy the book "The Visualization Toolkit" by  
Schroeder, Martin, and Lorensen you get the software on a CD.  It  
gives you a wide range of rendering options, including Marching  
Cubes.

Andrew Dalke <[email-masked]>:

	You might also do a web search for a volume renderer, if  
you want some pre-built tools.  The ones I recall are VolVis  
(http://miles.cnuce.cnr.it/cg/TAn.html) and the Visualization Tool  
Kit. [see above]

Joel Welling <[email-masked]>:

	DrawP3D has an implementation of a Marching Cubes-type  
algorithm; see http://www.psc.edu/Packages/DrawP3D.  There is also  
one in the vtk toolkit [see above].  I'm not sure what to say about  
either one being free, however, as GE (I believe) has a patent on  
the whole idea of isosurfaces from gridded data. (Believe it or  
not).  They are unlikely to pay attention to an academic product,  
but if you start selling something for money they may want some of  
it.

Stuart Green <[email-masked]>:

	To overcome the lack of this type of rendering in Chime and  
Rasmol, I've coded the marching cubes algorithm to generate  
coordinates and connections for a surface in PDB format. The surface  
PDB can then be added to the molecular PDB with selection  
controlled residue id number. This is all in C and is freely  
available. Check out the MO and MEP examples at:-
http://www.chem.leeds.ac.uk/stuartg/marching/surface.html

Joerg-Ruediger Hill  <[email-masked]>:

	You might want to take a look at my program Viewmol  
(file://www.ccl.net/pub/chemistry/software/SOURCES/C/viewmol/). It  
contains a C implementation of the marching cube algorithm in the  
file marcub.c. Feel free to use it.

_______________________________________________
[email-masked]		 (NeXT-mail OK)

Willy R. Wriggers
Theoretical Biophysics Group
Beckman Institute
University of Illinois at Urbana-Champaign
405 North Mathews Avenue
Urbana, IL 61801, USA

Telephone (217) 244-1612
Telefax (217) 244-6078
Web Site: http://www.ks.uiuc.edu/~wriggers/
_______________________________________________