“Dynamic graphics using quasi parallelism” by Kahn and Hewitt

  • ©Kenneth M. Kahn and Carl Hewitt




    Dynamic graphics using quasi parallelism



    Dynamic computer graphics is best represented as several processes operating in parallel. Full parallel processing, however, entails much complex mechanism making it difficult to write simple, intuitive programs for generating computer animation. What is presented in this paper is a simple means of attaining the appearance of parallelism and the ability to program the graphics in a conceptually parallel fashion without the complexity of a more general parallel mechanism. Each entity on the display screen can be independently programmed to move, turn, change size, color or shape and to interact with other entities. The scheme presented herein begins with the notion of a quantum of time, or tick, within which there are no ordering constraints on events. Each entity or actor decides what it must do upon the next tick. Ticks are a powerful means of controlling parallel processes but are usually at too low a conceptual level for user convenience. Higher-level operations built upon the tick mechanism are presented, most notably the ability to instruct any entity or group of entities to gradually change or move at a rate that is itself changeable by the same operation. To illustrate these ideas a simple celestial mechanics simulation is presented. Upon each tick the velocities and positions of the objects are updated by the gravitational and propulsive forces acting upon them. Ticks are only one product of an object-oriented programming style. For the best control and the most modularity, graphics programming should be object oriented. Each object displayed, and its parts, should be independently programable. Instead of being passive data, objects should be responsible for the changes in their position or appearance. Instead of a global controller, each object should interact with the others.

ACM Digital Library Publication: