The drawing routine
This is the very core of the engine: the program that converts the 3D coordinates to 2D coordinates (as explained in The Math).
In the fifth frame, draw, enter this:
Set Variable: "normalz" = depth * depth
Normalz is the value k in the plane equation, depth being the z-coordinate of the normal vector of the
view-plane (the plane being parallel to the xy plane, the vectors coordinates are (0,0,depth))
Set Variable: "n" = "1"
Loop While (n<=totalpoints)
Set Variable: "u" = (depth - eyez)/(eval("z"&n) - eyez)
If (n<=9)
Set Variable: "2Dx0"&n = u * eval("x"&n) + centerx
Set Variable: "2Dy0"&n = u * eval("y"&n) + centery
Else
Set Variable: "2Dx"&n = u * eval("x"&n) + centerx
Set Variable: "2Dy"&n = u * eval("y"&n) + centery
End If
Set Variable: "n" = n + 1
End Loop
This part is a bit more complicated. We actually convert the 3D coordinates to 2D coordinates.
For each point, we first calculate the value u as explained in The Math. Then we recalculate
the 2D coordinates by multiplying the 3d coordinates by u. I can't explain exactly what I've done
here but if you study the math link I gave you should be able to understand it.
Set Variable: "n" = "1"
Loop While (n<=totallines)
Duplicate Movie Clip ("/baseline", "line" & n, n)
Call ("drawline")
Set Variable: "n" = n + 1
End Loop
Finally we just draw the the lines by duplicating the basic movie clip and
calling the drawline frame.
Ok, now your 3D engine is basically finished. But we also want a zoom and rotations. That's easy,
follow the guide!