[comp.graphics] 3D graphing

joem@sugar.hackercorp.com (Joe Mullally) (06/04/91)

Note: I posted this for a user who doesn't have post access.  Send all
replies to HIM, not me.
 
-------------------------- message ----------------------------------
Well, I took the auto-message's advice and used the fabled "divide
by depth" system to create 3D perspective.  However, there are
several problems.
 
1) Say I want to make a 100x100x100 cube.  If I divided the x and y
   by what I want for the depth, I get 1 and 1, which produces a
   rectangle that stretches all the way to the 0,0.  To conventional
   artists the origin in this case is called the "vanishing point."
   How do I convert my units (pixels) into "depth units" (for lack
   of a better term)?  And how do I calculate my viewpoint's
   distance from the origin?  Or how do I establish my viewpoint?
 
2) If I want to slide along the x or z axis, all I need to do is shift
   all the pixel definitions left or forward, but how do I rotate along
   the y axis? (I'm defining x & y as the x & y on a screen, with z
   being depth)  I'm thinking of rotating the origin with a constant
   radius around my viewpoint (0,0,?) and using a secondary origin at
   a right angle from the original origin (initially 0,0,0 and 0,-?,?)
   and when my rotation hits 45deg, switching my control origin to
   the one which (at that point{) is -45deg and continuing to 0.
 
Any suggestions?  Any fast algorithms for such?  I tried the books
on the auto-message's list, but I couldn't find any of them
(Bookstop was out) and the graphics books I did find were totally
unintelligible to a layman/high-school math guy like me...
 
PLEASE respond in E-mail, my news system doesn't allow threading...
 
peterc@sugar.neosoft.com           "Listen, there's a hell of a good
peterc@sugar.hackercorp.com         universe next door.  Let's go!"
(take your pick)                                      -e e cummings