Alice: Easy to Learn Interactive 3D Graphics Matthew J. Conway University of Virginia tion has no straightforward way of capturing the power of an IF statement or aWHILE loop. By contrast, programming languages can express conditional and repetitive actions very concisely.Alice uses Python [4] for its scripting language.Python is a very high level object oriented, extensible, interpreted language with a very clean syntax that is relatively easy to learn. Some observers have compared Python's syntax to "pseudocode that actually runs:' Python is object oriented and extensible in C.We gain a general purpose scripting language with a lot of expressive power that more experienced Alice users can extend in arbitrary ways. Some of the abstractions in 3D APIs provide non-intuitive behavior. For example, the scale function provided by many APIs will not only scale an object's geometry, but its subsequent motion in space as welI.A cube scaled by two and translated one unit in its own coordinate system will move two units in world space. Our observation of novice users shows that this is surprising and counter-intuitive, even though it is a natural consequence of the underlying 4x4 matrix implementation. Most currentAPIs also take the approach of providing only
/lp/association-for-computing-machinery/alice-easy-to-learn-interactive-3d-graphics-sWdbeEnxGM