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 */