[comp.graphics] 3D Pixel Transforms

stein@dhw68k.cts.com (Rick Stein) (01/06/89)

I'm curious to know about how one performs rotations on pixel
data.  If I have several scans from a tomography machine, I
want to reconstruct and visualize this data in 3d.  Given that
each scan is a 2d pixel array, how would I stack these slices
and then transform (eg., translate/rotate) this pile of pixels?

I guess one could perform 1Million matrix multiplies (assuming
a 1K x 1K display).  Are there any other ways?  Obviously, if
I can create some polygons from the pixels, then the # of multiplies
will diminish.

Any suggestions/references for pixel manipulations (ala Pixar)?
-- 
 Rick 'Transputer' Stein ( My mother was a clairvoyant. :-) )
 uucp:{felix, spsd, zardoz}!dhw68k!stein        
 Internet: stein@dhw68k.cts.com

cutter@Apple.COM (Mark Cutter) (01/07/89)

In article <17963@dhw68k.cts.com> stein@dhw68k.cts.com (Rick Stein) writes:
>
>I'm curious to know about how one performs rotations on pixel

Try looking at "A Fast Algorithm for General Raster Rotation"
by Alan Paeth
Proceedings of Graphics Interface 86

He shows how any rotation can be decomposed into three skew operations.
The only tricky thing is how you filter the pixels, but it is very fast.

Mark Cutter
cutter@apple.COM

efo@pixar.uucp (efo) (01/11/89)

In article <17963@dhw68k.cts.com> stein@dhw68k.cts.com (Rick Stein) writes:
>
>I'm curious to know about how one performs rotations on pixel
>data.
>Any suggestions/references for pixel manipulations (ala Pixar)?

Yes.  The seminal paper on this topic is:
	E. Catmull and A. R. Smith,
	"3-D Transformations of Images in Scanline Order,"
	Computer Graphics 14(3) (SIGGRAPH '80 Proceedings)
	July 1980, pp 278-285

And the other answer is, yes, you can decompose a rotation into shears
which can be done quite cheaply; see the above.


Eben Ostby
Pixar