Home Contents Forum Links Tip Jar
Animation Math in Lingo       

3D Concepts

Animating in 3D is still done with the techniques covered in incremental, parametric, and recorded animation, but in three axes and using a 3D rendering algorithm.

A 3D rendering algorithm attempts to give the illusion of depth. This illusion is created with a variety of visual cues that trick the human mind into thinking a two-dimensional image is three-dimensional. Some of them:

  • relative size. Objects further away appear smaller.
  • relative speed. Objects further away appear to move slower.
  • z-axis blocking. Objects nearer appear in front of objects further away.
  • haze. Objects further away are obscured by particles in the air.
  • perspective. The apparent dimensions of an object taper as they get further away. Relative size and speed are also a result of perspective.
  • light reflection/shading. The way light reflects from an object indicates its three-dimensional shape, and its position in relation to the light source.

The 3D rendering algorithm creates these depth cues based on model variables.

Z-Axis
Incremental Animation
In an incremental animation in 3D, variables z, zVelo, and zAccel are used along with the x- and y- axis variables of the physics model. Using the vector data type makes this alot simpler. Instead of using separate x, y, and z variables:

xAccel = xForce1 + xForce2 + ...
yAccel = yForce1 + yForce2 + ...
zAccel = zForce1 + zForce2 + ...
xVelo = xVelo + xAccel
yVelo = yVelo + yAccel
zVelo = zVelo + zAccel
x = x + xVelo
y = y + yVelo
z = z + zVelo

The vector data type can be used to do the same thing:

vecAccel = vecForce1 + vecForce2 + ...
vecVelo = vecVelo + vecAccel
vecPos = vecPos + vecVelo

Parametric Animation
In parametric animation in 3D, x, y, and z position variables are also used. In the parametric demos the loch and locv properties were set without using intermediary x and y position variables, but with 3D they will be used. There will be an animator function for z in addition to those for x and y.

 
 


Copyright © 2003 JM Harward 
 jmckell~at~jmckell~dot~com
All lingo provided on this site may be used freely for educational purposes. Not for redistribution as uncompiled code. Instructional materials may not be reproduced without permission.