Path: utzoo!attcan!uunet!seismo!esosun!cogen!celerity!celit!hutch
From: hutch@celerity.uucp (Jim Hutchison)
Newsgroups: comp.graphics
Subject: Re: Accessing Volumetric Data
Message-ID: <439@celit.UUCP>
Date: 18 Aug 89 21:58:55 GMT
References: <9968@phoenix.Princeton.EDU>
Sender: news@celerity.UUCP
Reply-To: hutch@celerity.UUCP (Jim Hutchison)
Organization: FPS Computing
Lines: 27

With 2 axis, I presume that you mean looking at the same locale in
the "volumetric data" from 2 different view points.  As pointed out by
Mr. Halle in <503@mit-amt.MEDIA.MIT.EDU> this is a pretty common problem.
The notion of "thrashing" relates to excessive paging activity in a
virtual memory system.  Thrashing is the condition in which too high of
a percentage of time is spent paging.

So, it would be nice to have the data for a locale located close together.
I would *like* to suggest a 3 dimensional space filling curve.  Unfortunately
this yields very complicated algorithms.  It is also perhaps excessively
complicated to organize the data that way.  Instead, the small subtrees at
the bottom of the tree (presuming voxel or oct-tree arrangement) could be
grouped with each contiguous in a span of memory.  For example of take each
subtree and put it in a memory page.  When the same locale is viewed from
several angles, a lesser percentage of unviewed data is paged in.  With a
higher percentage of the proper data in memory, less thrashing.

This is data structure is conceptually similar to tiling in rasters, which
provides similiar benefits.  This data model has a problem when the data
size of the views exceeds available physical memory.  This algorithm is
very similar to what I've heard of the Pixar "row" algorithm referred to
by Mr. Halle in <503>.  It might be possible to get around this limitation
by having the views begin the "viewing" at a common point and scanning in
a 3D common direction.

/*    Jim Hutchison   		{dcdwest,ucbvax}!ucsd!celerity!hutch  */
/*    Disclaimer:  I am not an official spokesman for FPS computing   */