Re: Voxel Node

T.D. Ritchey ([email protected])
Tue, 13 Jun 95 21:22 BST


Steve Ghee writes:
> [snip...] any trick that can prevent
> writing data the will never be seen must be employed.

YES, the default method in a browser would have to be to cull the voxel
nodes which would never be seen. I think there are two things that could
be done. a) take all voxels which do not lie within the thresholds defined
in the node and axe them. b) Take any node from the remaining surface, and
do the equivalent of a boundary following algorithm. Instead, you generate
a list of nodes that define the surface - axe the remaining nodes. You end
up with a series of points which form the surface boundary - turn these
into tringles, and you have a traditional surface that should be
renderable. It is not what you would want to do if you were wanting to
implement the full usefulness of voxels, but it would suffice quite well
for a "default" behaviour. If you really wanted to go whole hog you could
even implement the Marching Cubes algorithm. Then, if you wanted to, you
could develop a browser that would more fully implement volume
visualization knowing that you could get the original data down the pipe.

I think the thing to remember is that the VoxelSet is going to be an object
in the scene, not the scene itself. Even if you were leaving all the nodes
in you wouldn't be filling all of the space with values. Imagine a virtual
operating room done in traditional polygons, with a voxel head generated
from MRI scans sitting on the table. Now, every browser may not implement
virtual scalples to cut, slice, dice, etc. but using the above method they
could certainly render the head itself.

Cheers,
tim
---------------------------------------------
Timothy Ritchey [email protected]
Jesus College tel: (01)223 576-822
Cambridge fax: (01)223 576-822
CB5 8BL
England