Alice: Easy-To-Learn 3D Scripting for Novices
Total Page:16
File Type:pdf, Size:1020Kb
Alice: Easy-to-Learn 3D Scripting for Novices A Dissertation presented to the Faculty of the School of Engineering and Applied Science at the University of Virginia In Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy (Computer Science) by Matthew J Conway May, 1998 Alice: Easy-to-Learn 3D Scripting for Novices © 1998 Matthew Conway All Rights Reserved Table Of Contents Chapter 1 Acknowledgements................................................................................................................7 Chapter 2 The Three Stages of Media.................................................................................................10 Chapter 3 Overview ..........................................................................................................................20 Chapter 4 Working with Alice ..............................................................................................................24 Chapter 5 System Description ..............................................................................................................48 Chapter 6 The Alice Main Loop...........................................................................................................71 Chapter 7 Empirical Evidence..............................................................................................................91 Chapter 8 Traditional APIs for 3D................................................................................................... 109 Chapter 9 Objects, Parts and Children............................................................................................. 121 Chapter 10 The Death of XYZ ........................................................................................................... 128 Chapter 11 Rotation ....................................................................................................................... 153 Chapter 12 Sizing and Scaling.............................................................................................................. 168 Chapter 13 Color, Texture and Visibility ........................................................................................... 179 Chapter 14 Programming Language Issues ....................................................................................... 190 Chapter 15 Future Work....................................................................................................................... 201 Chapter 16 Previous Work ................................................................................................................... 222 Chapter 17 Conclusions ....................................................................................................................... 229 Chapter 18 References ....................................................................................................................... 233 Chapter 19 Appendix A : The Alice Tutorial .................................................................................... 241 Chapter 20 Appendix B : Prepositions in English............................................................................ 274 To Mom, Dad, Katie, Jessica and Paddy. This report, by its very length, defends itself against the risk of being read. Winston Churchill Acknowledgements It is easy to work when the soul is at play Emily Dickinson Acknowledgements Alice would not exist but for the tireless efforts of every member of the University of Virginia User Interface Group. Without the UIgroup, this work and the larger Alice effort would have been impossible. Past and present members can be found at http://www.cs.cmu.edu/~stage3/ and through the About option on Alice’s Help menu. I would also like to extend thanks: To Randy Pausch, whose insight and guidance shaped this research from the beginning with a belief that fun is a critical component of any research venture. To Tommy Burnette, Kevin Christiansen, and Dennis Cosgrove, for their infinite patience and brilliant insights in constructing the core of the PC/Windows 95 Alice implementation. They worked extremely hard to respond to the user testing that this work reflects and their insight in the design process was invaluable. To Rob DeLine, for his Master’s thesis on the first Alice implementations and his design of the Alice architecture. Rob’s hand is still evident in Alice, a testimony to his 7 Acknowledgements outstanding design skills. To Rich Gossweiler, Shuichi Koga, Jim Durbin, Chris Long, Steve Miale, and George Williams for their design, implementation, development and maintenance of the original (now dormant) Silicon Graphics implementation of the Alice rendering engine, known in its day as Diver [Gossweiler]. Abandoning that code base for the PC world was a difficult decision, given Diver’s outstanding stability and flexibility. To Ken Hinckley and Jeff Pierce, Joe Shochet, and Brian Stearns for their help in the odious task of documentation writing. To James “The Man” Patten for his work on the GUI tools he created for the Alice development environment, those that made it and those that didn’t. To Kristin Monkatis, Steve Audia, Chris Sturgil, David Staack for their phenomenal artistic input. Their skill brought a new burst of life at just the right time in the Alice development process. They helped remind me that what we were working on was in fact extremely cool. VR researchers forget the content side of the equation at their own peril, even if what they’re doing is “just research.” To George Robertson and Microsoft Research for the patience and time they gave me in finishing this work. To the Defense Advanced Research Projects Agency (DARPA) for funding this research. 8 Acknowledgements To the members of the UVA CS department for their personal support and their generous support of the UIGroup, through the years. To Jeni Willoughby and the teachers, administrators, and students in the Lynchburg Virginia School Systems for the courage and leadership it took to deploy the beta version of Alice in their high school. And finally to Cassi Sendroff, age 11, and her sister, Eireann age 13, for the wonderful Alice worlds they created and for their perseverance with Alice, especially in the face of inadequate documentation. Their accomplishments with Alice were wonderful and surprising, and an unexpected validation of this work. 9 Chapter 1 – The Three Stages of Media The content of any medium is always another medium Marshall McLuhan Chapter 1 The Three Stages of Media The Alice project traces its roots back to early 1991, when the first Virtual Reality systems were being built at the University of Virginia. Starting with a desire to build new interaction techniques for immersive, head-tracked Virtual Reality (VR) simulations, we quickly found that the tools that were available for this work were extremely hard to use for exploring a new user interface design space. Realizing that this itself was a reasonable research agenda, we set out to build programming tools that were easier and faster to use, not just for ourselves but for as many people as we thought reasonably possible. This effort, though it started with several tentative prototypes under a variety of names1, soon settled into what is now called the Alice project. We took as our charter the task of making interactive 3D graphics much more accessible to 19 year old “non-programmer” 1 Alice is the lastest system in a series of prototypes that we built starting in the early 1990s. Previous systems were named RPVR, Strobe, and Joe. We never had a system named Dave. 10 Chapter 1 – The Three Stages of Media undergraduates, an audience that had been traditionally denied access to 3D graphics1 because of the technical knowledge and mathematics needed to understand the tools. Why this audience? Why non-programmers? One way of understanding much of the Alice research agenda is to look to the past, to the invention of another technology-dependent visual medium: motion pictures. For purposes of this discussion, what is interesting isn’t so much the development of motion picture technology, but the development of the content over the first half-century of its history. I argue that film-making, as a form of expression, passed through three stages of development and that these stages are not unique to film, but coarsely describe the way that most new media pass from the laboratory to widespread use2 [Eisenhart]. Interactive 3D graphics is in the process of passing through these same stages, and understanding these stages helps understand the Alice research agenda. The three stages of new media are : 1.1 Stage One: Novelty In the earliest stage of a new medium, the developers of the supporting technologies are often the only ones in a position to explore what is and is not possible in the fledgling medium. Because the medium is new, audiences are often forgiving if the technology 1 Interactive three dimensional graphics is defined as any three dimensional computer graphics that can be rendered in real time at interactive frame rates (>12 fps). This definition therefore captures traditional “helmet and glove” VR as well as less exotic displays such as desktop monitors. This chapter applies to all forms of interactive 3D graphics, though some forms (e.g. head tracked genres of interactive 3D) may in fact have unique qualities that qualify it as a distinct medium of its own. 2 I arrived at this analysis of media evolution independently, but have since found corroboration in the more detailed treatments offered by