Graphical content used in Flash movies is typically generated before the movie is published. Designers may import graphics from external sources or they may create artwork using the drawing tools in Flash MX. These graphics are then packaged into a SWF when the movie is published and their representation becomes fixed or static.
Alternatively, when graphic content is generated while a Flash movie is being played , we say that the graphics are generated at runtime or that they are dynamically generated. The Flash MX drawing API makes this type of content possible. We can use the drawing API to draw graphics that are interactive: as a user interacts with the movie, he or she can make complex changes to the content that would simply not be possible using static graphics. One such application of the drawing API is generating dynamic 2D representations of 3D geometries or building what many people refer to as 3D engines.
In this chapter, we begin by describing the Flash drawing API. We then introduce a 3D engine based on the drawing API and, using this 3D engine, we explore some of the math behind 3D and use this knowledge to create some interesting examples.