Skip to main content
main-content

Über dieses Buch

Object-oriented concepts are particularly applicable to computer graphics in its broadest sense, including interaction, image synthesis, animation, and computer-aided design. The use of object-oriented techniques in computer graphics is a widely acknowledged way of dealing with the complexities encountered in graphics systems. But the field of object-oriented graphics (OOG) is still young and full of problems. This book reports on latest advances in this field and discusses how the discipline of OOG is being explored and developed. The topics covered include object-oriented constraint programming, object-oriented modeling of graphics applications to handle complexity, object-oriented techniques for developing user interfaces, and 3D modeling and rendering.

Inhaltsverzeichnis

Frontmatter

Report on the Second Eurographics Workshop on Object-Oriented Graphics

Frontmatter

Report on The Second Eurographics Workshop on Object-Oriented Graphics

Abstract
Object-oriented concepts are particularly applicable to Computer Graphics in its broadest sense — interaction, images synthesis, animation, and CAD. Research in Object-Oriented Graphics has lead to a critique of the object-oriented theory. The aim of the second Eurographics Workshop on Object-Oriented Graphics was to address fundamental issues arising from the use of object-oriented techniques in computer graphics, to provide a platform to state views on relevant issues, and discuss possible research programmes to address remaining unresolved problems.
Remco Veltkamp, Edwin Blake

Report on The Third Eurographics Workshop on Object-Oriented Graphics

Abstract
This introduction sets the stage for the selected papers and attempts to summarize the discussions and any conclusions made during the Third Eurographics Workshop on Object-Oriented Graphics. The goal of the workshop was to begin outlining a common platform, based on a set of object-oriented primitives, for the support of graphics applications. As presentations were made, four primary topics of discussion began to emerge: design of graphics objects, object model requirements, implementation techniques and other related technology. Partly because of the diverse presentations and experiences of the attendees, we made little progress on actually identifying a common set of graphics objects. The discussions were nevertheless lively and many important issues were raised.
Nancy Craighill, Vicki de Mey, Xavier Pintado

The Second Eurographics Workshop on Object-Oriented Graphics

Frontmatter

Modeling I

1. Actor-Based Simulation + Linda = Virtual Environments

Abstract
While it may be called different names — virtual reality, cyberspace, or virtual environments — the expectations are similar. We desire a way to interact completely and seamlessly with other entities, whether those entities be other individuals, synthetic individuals, or just raw information and data. Unfortunately, there is a huge gap between our dreams for virtual environments and the current state-of-the-art. This chapter explores some of the reasons for this situation, and brings together ideas from diverse fields, including object-oriented programming, parallel computation, policy management, and even computer music, in an attempt to take a fresh look at how to build the reality of our dreams.
William Leler

2. Meta-attributes for Graphics Collection Classes

Abstract
Graphics systems such as GKS, PHIGS, or GEO++ differ mainly in how graphics entities can be grouped into collections and how attributes can be assigned to them. In PHIGS, sequential structures are provided to build up multi-level hierarchies; GKS offers a single-level segment concept; GEO++ supports a set-oriented approach to handle part hierarchies. Besides the concept for collecting graphics primitives, the predominant structuring concept, additional constructs are used to filter out, select, or group specific subsets of the whole set of graphics objects. In PHIGS, the concept of name-sets allows assignment of a set of names to any primitive in order definition of filters for each of the three types of attributes, visibility, highlighting and detectability. GEO++ allows to define ad-hoc sets by using object identifiers for parts. In GKS-R, the revised version of GKS, name-sets are introduced as primary construct to assign attributes to output primitives. In this paper we introduce basic mechanisms for collecting graphics entities and for assigning attributes. These mechanisms are defined on a meta-level allowing us to extend a low-level kernel and to interpret systems such as PHIGS, GKS-R, or GEO++ as special cases of one flexible system.
Peter Wisskirchen

Constraints I

3. A Co-operative Graphical Editor Based on Dynamically Constrained Objects

Abstract
A co-operative graphical editor is introduced as an efficient drawing tool for structural and functional design. The components of the artifact being designed are represented as objects. A design can be modified by direct manipulation of the 2D graphical presentation of its components. The criteria for consistency of a drawing are declared in the form of abstract rules, prescribing what relations should hold for which object instances in the drawing. In the course of the drawing process, constraints are generated from the general prescriptions and resolved dynamically, ensuring the given state of the drawing. The editing operations are defined with respect to the constraints. The graphical editor assures the consistency of a drawing on the basis of a specific constraint satisfaction mechanism. The editor is discussed with reference to the specific application domain of interactive design of planar welding fixtures. However, the basic concepts and the constraint satisfaction mechanism are general enough to be used as a framework for other domain-specific editors. The modular and open architecture of the editor assures adaptivity to other application domains.
Zsófia Ruttkay

4. A Quantum Approach to Geometric Constraint Satisfaction

Abstract
This paper presents an incremental approach to geometric constraint satisfaction that is suitable for interactive design by categorizing solutions into so called quanta. A quantum is a range of solutions with uniform geometric characteristics. In this way, the constraint management system keeps the intermediate solutions in the geometric domain, so that new geometric constraints can be interpreted on the same high level of abstraction. This approach leads to a number of advantages: the system
  • •can handle (perhaps temporarily) under-constrained specifications,
  • •represents both alternative discrete solutions and continuous ranges of solutions,
  • •performs satisfaction locally and incrementally,
  • •supports constraint inference and geometric reasoning,
  • •preserves the declarative semantics of constraints.
Remco C. Veltkamp

5. A Graphics Object-Oriented Constraint Solver

Abstract
The development of computer graphics constraint systems has been of considerable interest in recent years. It is desirable that constraints may be dynamically incorporated into selected graphics output primitives, and also into graphics segments as a whole at the time of their interactive construction. The constraints usually take the form of coupled equations or inequations limiting the rendition of graphics primitives or segments. After a few constraints have been defined in the graphics constraint system, the interaction of these rules becomes quite complicated, and it has been necessary to provide a constraint equation solver to resolve these interactions and take control over the decisions for the rendition of all graphics primitives and segments.
John R. Rankin

6. ALIEN: A Prototype-Based Constraint System

Abstract
The main objective of the work reported in this article is the use of constraints in graphics and user interfaces. We believe that constraints need to be integrated in a powerful programming paradigm in order to be usable in large-scale systems. The system we present embeds constraints in a prototype-based model. A prototype object (a template) contains internal constraints, and exports slots so that instances of the prototype can be further constrained. Instantiation uses delegation to share constraints between instances. As a consequence, changing a template has an immediate effect on all its instances. The model also features generic templates and skeletons to create complex constrained objects. The system is open and extensible: new constraint types can be defined and alternative solvers can be used. The basic solver uses local propagation.
Eric Cournarie, Michel Beaudouin-Lafon

User Interfaces I

7. Extending an Advanced Logic Programming Environment by an Object-Oriented User Interface Management System

Abstract
Visualization and manipulation of knowledge is of great importance for any knowledge based system. Window based user interface management systems (UIMS) allow building flexible and easy to use interactive graphical user interfaces. There is a need to integrate such UIMS into knowledge base programming environments. This paper addresses the integration of UIMS into the logic programming environment PROTOS-L. Our approach provides a small set of built-in predicates that defines an easy to use object-oriented interface to UIMS within the logic programming language. This interface is realized by the PROTOS-L window manager and presented by a simple text editor in this paper. Its implementation is based on a multiple process concept with asynchronous communication in order to cope with long lasting inference processes. The prototype of the PROTOS-L window manager is implemented on top of the standard user interface toolkit OSF/Motif.
Heinrich Jasper

8. An Object-Oriented Architecture for Direct Manipulation Based Interactive Graphic Applications: The MAGOO Architecture

Abstract
Magoo is a C++ implementation of OO-AGES, an object-oriented model that copes with the requirements of Direct Manipulation based Interactive Graphic Applications both at the user interface and at the semantics level. The OO-AGES is based on the Client-Server concept and the Responsibility-Driven approach.
An overview of the OO-AGES model is given and the main Magoo classes are described. The current Magoo version includes a object-oriented encapsulation of both X-Window and Motif Xtoolkit that will be described. A graphic editor is used to exemplify Magoo’s architecture.
Mário Rui Gomes, Rui Pedro Casteleiro, Fernando Vasconcelos

9. Architecture and use of D2M2, the Delft Direct Manipulation Manager

Abstract
A user interface management system is presented based on an object-oriented approach to the design of both the user interface and the application semantics. The data for user interface and application semantics are stored and processed apart. However, the modelling technique is identical for both, using the same tool for semantic data modelling. The modelling technique supports most characteristics of the object-oriented paradigm: objects, classes and inheritance. The diagrams used can describe amongst others the concepts of classification, aggregation, decomposition, generalization, specialization and role attributes. Attributes of objects can be described in property forms. Transition diagrams, including pre— and post-conditions, are applied to specify the interaction possible to the end user. The concepts supported by this tool are described and discussed. This tool as well as the products it can produce are based on a graphical user interface. From these specifications a run time version of the application can be generated. A protocol is used for the communication between application and user interface manager during run time. The features of Delft Direct Manipulation Manager are demonstrated with the design and implementation of a small application with direct manipulation.
Johan Versendaal, Willem Beekman, Marco Kruit, Charles van der Mast

Rendering

10. An Object-Oriented Testbed for Global Illumination

Abstract
Global illumination rendering involves the simulation of light interreflections between emitting and reflecting surfaces. Accounting for global illumination is necessary in the quest to generate images indistinguishable from real photographs. However, computing global illumination effects is a difficult problem and no algorithm published so far is capable of simulating all the effects in a reasonable amount of time. In this paper, we present a research testbed designed to facilitate experimentation on new global illumination algorithms. The testbed is object-oriented and encapsulates the basic components of rendering into classes that can be derived and overridden easily. The testbed allows new geometry, shading methods and display architecture to be added orthogonally. We have implemented a number of new rendering algorithms with the testbed and results are demonstrated.
Shenchang Eric Chen, Kenneth Turkowski, Douglass Turner

The Third Eurographics Workshop on Object-Oriented Graphics

Frontmatter

Modeling II

11. Sharing between Graphical Objects Using Delegation

Abstract
We investigate the suitability of object-oriented paradigms for graphics by comparing a variety of object-oriented graphics systems and noting which of their features are readily modeled by class-instance systems and which by delegation systems. We examine how these systems establish patterns of sharing of data and behavior, and note that these patterns are established in a remarkably consistent fashion. We conclude that these patterns of sharing are more naturally modeled in a delegation system than in a class-instance system.
D. Brookshire Conner, Andries van Dam

12. Acting on Inheritance Hierarchies

Abstract
A visual programming system is presented in which an object-based framework is imposed on a strongly typed object-oriented language. Active objects in this framework are viewed as a network of cooperating agents subject to mechanisms of behaviour replacement and delegation. Since these mechanisms are effective in a structured organization they tend to increase the active object’s responsibilities and push delegation to a higher level in the design process. The framework is intended to provide, at a coarser level, the flexibility and dynamic characteristic of delegation-based languages without sacrificing the structural design and the efficiency enabled by strongly typed languages.
Adelino F. da Silva

13. The PREMO Framework: Object-Oriented Issues

Abstract
The need for a coordinated method for addressing all aspects of the construction of, presentation of, and interaction with multi-media objects has lead to the need for the standardization of a Presentation Environment for Multi-Media Objects (PREMO). In this paper the state of discussions inside the DIN working group is reported focusing on object-oriented aspects of the PREMO framework.
Peter Wisskirchen

Constraints II

14. An Object-Oriented Architecture for Constraint-Based Graphical Editing

Abstract
Direct-manipulation graphics editors are useful tools for a wide variety of domains such as technical drawing, computer-aided design, application building, and music composition. Constraints can be a powerful mechanism for specifying complex semantics declaratively in these domains. To date, few domain-specific graphics editors have provided constraint-based specification and manipulation facilities. Part of the reason is that graphical editors are hard enough to develop without implementing a constraint system as well. Even though graphical editing frameworks can reduce the difficulty of constructing domain specific graphical editors, a fundamental problem remains: there do not exist general constraint solving architectures that are efficient enough to support highly interactive editing, yet suitably flexible and extensible to adapt to different editing domains.
Richard Helm, Tien Huynh, Kim Marriott, John Vlissides

15. Graphics Object-Oriented Platform for Euclidean Geometry Computations

Abstract
Recent object-oriented programming languages are enabling the top level code in application programs to resemble more closely the form of the mathematical expressions that the program is meant to be implementing. This facility is very useful for non-programmers, and mathematicians and geometers who are not interested in the fine syntactic details of computer programming languages. This paper describes an object-oriented platform that makes it easier for non-professional programmers to implement and test concepts from standard Euclidean geometry on a computer graphics screen. The idea is that this platform enables one to construct and test geometric hypotheses and theorems in a language closely resembling the way Euclid and traditional geometry expresses geometric concepts, symbols and theorems. Although the language used by Euclid for geometry is precise it also includes the contextual facilities of natural languages saveing one from having to spell out every characteristic and attribute in detail. It is this demand for completeness in specifying details that has made standard computer programming languages laborious and tedious to deal with. The graphics object-oriented platform described in this paper incorporates the facility for handling incompleteness in a natural and visually acceptable way. Additionally the platform incorporates constraint resolution by an improved iteration technique. Finally, the platform contains the hierarchy of geometrical shapes to which the geometer needs immediate access. Here it is pointed out that the object-oriented programming object hierarchy is properly the inverse of the conceptual geometrical hierarchy of shapes.
John R. Rankin

User Interfaces II

16. The Application Exposure: Bridging the User Interface and the Application

Abstract
In a previous paper we described a new user interface model. This paper discusses further a crucial part of the model called the application exposure. Assuming that the application side is built in an object-oriented way, the application exposure allows application objects to be defined much more independently of the user interface support system than has been possible using traditional subclassing approaches, yet provides sufficient application information to the user interface side to support direct manipulation operations on application objects.
Tom Z.-Y. Zhou, William J. Kubitz

Experiences

17. An Interactive 3D Graphics Class Library in EIFFEL

Abstract
An object-oriented design is presented for building interactive 3D graphics applications. The design takes the form of a library of classes written in Eiffel, an object-oriented language with multiple inheritance, static typing, dynamic binding, garbage collection, and assertion checking. The classes form a set of reusable components from which a variety of other interactive 3D graphics applications could easily be constructed. A discussion of the overall design goals and philosophy is given. This is followed by a summary description of the purpose and implementation of each of the component class clusters. Finally, the issues are discussed of applying object-oriented techniques to interactive 3D graphics, including encapsulation of existing software and the implementation on a Silicon Graphics Iris workstation.
Russell Turner, Enrico Gobbetti, Francis Balaguer, Angelo Mangili

Backmatter

Weitere Informationen