Series Editors W. Hansmann W. T. Hewitt W. Purgathofer M. Gobel, J. David, P. Slavik, 1. 1. van Wijk (eds.) Virtual Environments and Scientific Visualization '96 Proceedings of the Eurographics Workshops in Monte Carlo, Monaco, February 19-20, 1996, and in Prague, Czech Republic, April 23-25, 1996 Eurographics SpringerWienN ewYork OI Dr. Martin Gobel GMD Forschungszentrum. lnformationstechnik, Sankt Augustin, Federal Republic of Germany Prof. Dr. Jacques David CEAJDI, CEo Saclay, Gifsur Yvette, France Dr. Pavel Slavik Department of Computer Science, Czech Technical University, Prague, Czech Republic Dr. Jarke J. van Wijk Netherlands Energy Research Foundation ECN, Energy Engineering, Peuen, The Netherlands This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically those of translation, reprinting, re-use of illustrations, broadcasting, reproduction by photocopying machines or similar means, and storage in data banks. © 1996 Springer-Verlag/Wien Typesetting: Camera ready by authors Graphic design: Ecke Bonk With 169 partly coloured Figures ISSN 0946-2767 ISBN-13: 978-3-211-82886-1 e-ISBN-13: 978-3-7091-7488-3 001: 10.1007/978-3-7091-7488-3 Preface The third workshop on Virtual Environments took place on February 19-20 in conjunction with the annual IMAGINA conference in Monte Carlo. The workshop asked for contributions to cover coexistence, communication and collaboration in Virtual Environments. Nineteen contributions were selected by an international programme committee which additionally invitedJ. Nomura (MEC, Japan) andJ. Kent (SGI, US) for talks on applications of virtual environments in Japan and to discuss the VRML relationship to virtual environments. Revised versions of the workshop presentations are included in this book. The first group of four papers from Austria, the UK, Germany and Sweden discusses VE system design and architecture issues as well as experience with novel programming style for virtual worlds. Mixed reality in a teleconferencing and in a telepresence experiments are reported from Germany and from Sweden. An algorithm session introduced to several techniques for virtual environments, such as the quick elimination of polytopes from Hongkong, camera based tracking and morphing from Germany. On the second workshop day, human actors and crowd simulation were presented by Swiss and French reseachers. A further workshop session dealt with modeling aspects in virtual environments. Work based on B-spline modeling (UK) and the impact of concurrent multi-user modeling (France) were demonstrated. The final paper session of the workshop included papers from various application areas, such as a surgery support system (Japan), the distributed virtual reality lab which is a UK research initiative, applications in geographic information systems (Nether lands), in engineering (Switzerland) and in virtual housing systems (Japan). Around fourty workshop participants discussed the contributions very heavily during the two days. As a conclusion, we can say that with its third workshop Eurographics has established the VE workshop as an annual event which serves as a forum for information exchange in VE research in Europe. In all of the 3 workshops, major European VE research labs were presenting and discussing their advance results. The workshop itself and its preparation was sponsored by ONR - Office of Naval Resarch (US), EDF (France), INA-IMAGINA (France), CEA (France) and GMD (Germany). The workshop secretary was provided by Tatjana Neiss from IGD Germany. Atthis place we would like to thank all-the sponsors, the secretary and the local organization. Without their contributions the workshop would not have taken place. * The seventh workshop on Visualization in Scientific Computing took place on April 23-25 in Prague (Czech Republic). It was for the first time that an event like this was held in Central and Eastern Europe. One of the workshop's results was the impulse for the promotion of Scientific Visualization in this region. Papers submitted for this workshop were evaluated by an international programme committee. VI Besides papers accepted for presentation also two invited lectures were given: G. Nielson (USA): Multiresolution Modelling in Scientific Visualization and V. Hlavac (CZ): Computer Vision and Scientific Visualization. In both lectures new views on some topics in Scientific Visualization were given. For these proceedings twelve papers were selected. Revised versions of these papers are included in this book. The papers can be divided into four groups: Volume Rendering, User Interfaces in Scientific Visualization, Architecture of Scientific Visualization Systems, and Flow Visualization. The papers in the first group are papers from Italy, Germany, Slovakia, and the Netherlands. The main stress was put on the speeding up of volume rendering algorithms and on their better accuracy. The second group of papers contains papers from Germany dealing with proper use ofe lements and methods in the field of User Interfaces specific for Scientific Visualization applica tions. Innovative research from Fraunhofer Institute describes the use of VR tech niques in the field of Scientific Visualization. Papers from the Netherlands, Czech Republic and the United Kingdom forms the third group of papers targeted to Architecture of Scientific Visualization Systems. The last group contains results from research in traditional area of Scientific Visualization - Flow Visualization. Improved techniques for this area were presented. All papers presented set up a very good base for discussions in which all 40 workshop participants took part. Besides the authors we want to thank the Programme Committee that had to evaluate in a short time the papers submitted. The organization of the workshop could not have been manageable without the help of the Department of Computer Science and Engineering at Czech Technical University in Prague and the Czech ACM Chapter. Special thanks should be expressed to Petr Felkel, Jan Vorlicek, Bozena Mannova, Jiri Zara, and Bedrich Benes. Without their help both the Workshop and the book would not have come into life. Martin Gobel, Jacques David, Pavel Slavik, Jarke J. van Wijk Contents Virtual Environments '96 D. Schmalstieg, M. Gervautz, P. Stieglecker: Optimizing Communication in Distrib- uted Virtual Environments by Specialized Protocols .......................... . R. J. Hubbold, X. Dongbo, S. Gibson: MAV ERIK - The Manchester Virtual Envi- ronment Interface Kernel ............................................... . 11 A. del Pino: MPSC - A Model of Distributed Virtual Environments 21 T. Axling, S. Haridi, L. Fahlen: Virtual Reality Programming in Oz ............. . 31 C. 1. Breiteneder, S. J. Gibbs, C. Arapis: TELEPORT - An Augmented Reality Tele- conferencing Environment .............................................. . 41 K. T. Simsarian, 1. Karlgren, L. E. Fahlen, I. Bretan, E. Frecon, T. Axling, N. Frost, L. Jonsson: Achieving Virtual Presence with a Semi-Autonomous Robot Through a Multi-Reality and Speech Control Interface ................................. . 50 K. Chung, W. Wang: Quick Elimination of Non-Interference Polytopes in Virtual Environments ........................................................ . 64 P. WiBkirchen, K. Kansy, G. Schmitgen: Intergrating Graphics into Video Image- Based Camera Tracking and Filtering ..................................... . 74 P. Astheimer, C. Knopfle: 3D-Morphing and its Application to Virtual Reality ..... . 85 I.-S. Pandzic, T. K. Capin, N. Magnenat Thalmann, D. Thalmann: Motor Functions 94 in the VLNET Body-Centered Networked Virtual Environment ................. . E. Bouvier, P. Guilloteau: Crowd Simulation in Immersive Space Management .... . 104 M. Usoh, M. Slater, T.1. Vassilev: Collaborative Geometrical Modelling in Immersive Virtual Environments .................................................. . 111 P. Torguet, F. Rubio, V. Gaildrat, R. Caubet: Multi-User Interactions in the Con- text of Concurrent Virtual World Modelling ................................ . 121 H. Oyama: System Integration of VR-Simulated Surgical Support System ........ . 131 M. Slater, M. Usoh, S. Benford, D. Snowdon, C. Brown, T. Rodden, G. Smith, S. Wilbur: Distributed Extensible Virtual Reality Laboratory (DEVRL) .......... . 137 H. Jense, K. Donkers: Dynamic Management of Geographic Data in a Virtual Environment ......................................................... . 149 J.-F. Balaguer: VRML for LHC Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 159 J. Nomura: Virtual Housing System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 169 Scientific Visualization '96 Volume Rendering P. Criscione, C. Montani, R. Scateni, R. Scopigno: DiscMC: An Interactive System for Fast Fitting Isosurfaces on Volume Data ................................. 178 F. Weller, R. Menc1: Nearest Neighbour Search for Visualization Using Arbitrary Tri- angulation ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 191 VIII M. Sramek: Fast Ray-Tracing of Rectilinear Volume Data ...................... 201 J. Smit, M. Bosma, J. T. van Scheltinga: Metric Volume Rendering ............... 211 User Interfaces and Scientific Visualization T. Fruhauf, F. Dai: Scientific Visualization and Virtual Prototyping in the Product Development Process ................................................... 223 R.-T. Happe, M. Rumpf: Characterizing Global Features of Simulation Data by Selected Local Icons ........................................................... 234 H. Haase, Ch. Dohrmann: Doing it Right: Psychological Tests to Ensure the Quality of Scientific Visualization ................................................. 243 Architecture of Scientific Visualization Systems R. van Liere, J. J. van Wijk: CSE: A Modular Architecture for Computational Steering 257 H. Wright, K. Brodlie, M. Brown: The Dataflow Visualization Pipeline as a Problem Solving Environment ................................................... 267 D. Hajek, J. Nouza: Unhiding Hidden Markov Models by their Visualization (Applica- tion in Speech Processing) ..... _ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 277 Flow Visualization W. de Leeuw, F. Post, R. W. Vaatstra: Visualization of Turbulent Flow by Spot Noise 286 R. Grosso, M. Schulz, J. Kraheberger, T. Ertl: Flow Visualization for Multiblock Multigrid Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 296 Appendix: Colour Figures ............................................... 309 Optimizing Communication in Distributed Virtual Environments by Specialized Protocols Dieter Schmalstieg, Michael Gervautz, Peter Stieglecker Institute of Computer Graphics. Vienna University of Technology [email protected] -http://www.cg.tuwien.ac.atl Abstract. A successful implementation of a distributed virtual environment should be built on a strong network layer. The network as a constrained resource must be used efficiently, and also the structure of communication should allow to select those features that are needed without having to support needlessly complicated protocols. Therefore we designed a set of specialized protocols tailored for dedicated tasks of communication in virtual environments. The combination of these protocols yields the desired communication functions without introducing much overhead. In particular, it is possible for participants with varying degrees of capability to use the virtual environment and to communicate with each other. 1 Introduction The restrictions that are most hard to overcome in distributed virtual environments are the need for consistency, and constrained network bandwidth. It is because of these restrictions that virtual environments either focus on rich interaction [Car193, Snow94, Bric94, Brol95] or on large-scale distribution [Mace94], but not both. Our goal is to develop a distributed virtual environment in which users can participate and contribute content. We favor a client-server based approach, that lets users run client software and connect to servers over a network [Schm95]. Such a scheme will separate the participants from the providers of the VB infrastructure. Users can use the VE with inexpensive desktop machines, and do not have to be responsible for setting up the VE infrastructure. This is important if a large, loosely coupled user community is to be supported. In particular, the simulation of the environment is independent of the presence of users - the VB exists even if no user is currently present. The server provides consistency, concurrency control and persistence, that are otherwise hard to accomplish. Scalability is achieved by localizing the simulation: every server is responsible for a region in the virtual universe, and maintains a loosely coupled connection to its neighbors. Inside the server's region, the influence of objects is also localized to a relatively small area of interest. Simulation kernel. Our virtual environment consists of actors. An object oriented hierarchy allows diverse actor types representing different levels of "intelligence". Pure static actors serve as "decoration" of the scene (walls, trees etc.) and have no built-in behavior. Such actors can be extended to include key framed, deterministic animation (e.g. a clock with moving hands). A more sophisticated class of actors exhibits behavior that is formulated in an interpreted scripting language. Behaviors are triggered by messages that are exchanged 2 between actors. As messages are exchanged, the simulation progresses. Modifications to the internal state of the actors, in particular their visual representation, are reflected in the virtual environment. The most powerful actor type is controlled by an external application. Multiple levels of participation. The separation of server and clients allows multiple levels of participation, dependent on the type of client that is used: An observer can only explore the VE, but cannot interact with any objects. The client may limit its display to a pure walk-through (only considering static geometry), or also request the dynamic changes of the visual artifacts, that are created by the simulation. Nothing an observer does affects the VE. A participant may introduce his own avatar and use it to fully interact with the simulation, its ~utonomous agents and other avatars. His actions modify the dynamic state of the VE; they are distributed to other clients and stored persistently in the database. An author may contribute his own content to the virtual environment. He may create and destroy objects, and even more importantly create new types of objects with their own behavior, that can continue to exist as autonomous agents without the user's aid. This hierarchy of participation is similar to the one found in conventional MUDs (text-based multi-user games) that can in many respect be seen as YEs without a visual component. To maximize flexibility, we also allow applications to function as clients. While most behaviors of objects in the VE can be formulated using our scripting engine, the most interesting behaviors are too complex or computationally demanding for scripts. Therefore an interface is pro'vided to allow external applications to "remote control" objects in the VE. Because the only restriction for an application client is that it complies to the network protocols we use, any application can be made to cooperate with the VE. Overview of the protocols. The requirements we have for our system are diverse and demanding. A single unified framework for communication that incorporates every form of information exchange into a single protocol is not sufficient. Instead, we define a set of highly specialized protocols that complement each other and can be tailored for the task. Protocol Responsible for Connection login, logout, protocol negotiation, user migration management: Avatar control: navigating the user's representation through the VE Geometry: transmitting geometric description of the objects in the VE to the client Animation: transmitting changes in the visual database of the VE to the client Simulation: exchanging messages concerning the ongoing simulation among actors and between actor and client Interaction: letting the user interact with objects in the VE and other users Authoring: managing modifications to the structure of the VE, such as object instantiation and deletion, creation of new object types and configuration of external applications Table 1. Overview and characterization of the protocol framework