[comp.graphics] fast 3D algorithms

sofmac@topaz.rutgers.edu (Sofus) (05/12/89)

I m trying to make a fast procedure in graphics to simulate 3D.
My algorithms consists of sin & cos, but they are too slow.  If 
anybody knows of any fast 3D algorithms, I would be really happy
if they would mail me them.  I'm looking especially for algorithms
that don't use any kind of trig functions like sin, cos, tan, etc.
Any help in this area would be deeply appreciated.

					Sofus Macskassy
					Sofmac@Topaz.Rutgers.Edu

tbvanbelle@watcgl.waterloo.edu (Terry Van Belle) (05/12/89)

In article <May.11.20.01.50.1989.20285@topaz.rutgers.edu> sofmac@topaz.rutgers.edu (Sofus) writes:
>
>I m trying to make a fast procedure in graphics to simulate 3D.
>My algorithms consists of sin & cos, but they are too slow.  If 
>anybody knows of any fast 3D algorithms, I would be really happy
>if they would mail me them.  I'm looking especially for algorithms
>that don't use any kind of trig functions like sin, cos, tan, etc.
>Any help in this area would be deeply appreciated.

The first thing you should check is whether your sin's & cos' can
be calculated just once & stored in variables.  That's the way the
3-d algorithms in _Microcomputer_Graphics_for_the_[Apple | IBMPC]_
work.  They are written in (sorry) BASIC.  I can't remember the
author.
If you must calculate sin's & cos' on the fly, try a lookup table.

Terry

wiml@blake.acs.washington.edu (William Lewis) (05/13/89)

In article <May.11.20.01.50.1989.20285@topaz.rutgers.edu> sofmac@topaz.rutgers.edu (Sofus) writes:
>
>I m trying to make a fast procedure in graphics to simulate 3D.
>My algorithms consists of sin & cos, but they are too slow.  If 

   I have found an algorithm that uses only addition, subtraction,
multiplicatoin and division that >should< give a good perspective
transform. It unfortunately requires floating point operations, although
they could bve eliminated with a little work.
   The algorithm is passed an eye point. It 'looks' towards the origin
from this point. Moving the eye point in a circle will rotate the figure,
for instance.
   I have worked out the equations but have been unable to get it to work
correctly. I haven't spent much time at it, however; my probl;ems are probably
programming typos on my part.
   If you want the algorithm I will mail a description to you. If you can get
it working, please send me source...