This research project, in collaboration with
prof. M.A.Alberti,
aims at
investigating an object-oriented approach to computer graphics. We have
implemented a prototypal system to model geometric objects interactively.
Objects are specified by compass-and-ruler constructions, in a graphical direct
manipulation interface. The system adopts a "programming by example"
paradigm to incrementally enrich construction methods; new constructions
can be used to define new classes of objects or new methods for an existing
class. Messages exchanged among objects specify geometric relationships
among entities. Messages sent at construction time implicitly form a
relationship network, which is preserved during subsequent geometric
transformations, allowing to satisfy geometric constraints without recurring
to numerical methods. The prototype GEObject is implemented in
Eiffel, and runs on HP series 700 workstations.
A public domain demo version is available:
click here to download a 3.6 Mb compressed file.
To try a GEObject remote execution click here.
A flavour of GEObject interface: an example of a cinematism.
Object-oriented modelling and programming allows to describe complex geometric constructions that include constraints imposed by the user during the construction. Constraint maintenance is guaranteed by message passing among geometric primitives. To represent a geometric construction we recur to Petri Nets; the net describing a construction is internaly represented in the program, and used by a special algorithm to propagate construction messages that allow to maintain constraints imposed in a construction.
The Petri net of the construction of the mid-point of a segment.
Constraint maintenance does not require any numerical general constraint solving method. See the paper:
Object-oriented geometric modelling can be applied to develop educational software creating a geometric virtual laboratory. In the next paper we refer to knowledge specific virtual laboratories, that capturing the intrinsic empirical flavour of a discipline, provide an experimental context to students: in particular we discuss a prototype of a geometric modelling environment. Virtual laboratories, while opening new perspectives in computer based learning, disclose some new problems of system and interface design. Users interact with the content matter through the interface, which is the visible component they get in touch with. Often the interface is graphics-based and provides a visual imagery which can induce misleading mental images of the subject matter. Moreover through the interface emerges the application design, that can introduce concepts, which do not belong to the content matter, or can have limitations, that have nothing to do with the subject to be modelled. At times this is a price to pay to simulation: machines may not be fast enough for real-time graphics, for instance, or numerical approximations may eventually cause errors not easily checked by the novices, or discretization of continuous processes may potentially end up with a violation of physical principles.