A Web-Based VRML Collaborative Design Tool for Architecture Studies

Abstract

This paper describes a system designed to help architecture students in designing three-dimensional objects in a collaborative way. When implementing this system, VRML (Virtual Reality Modeling Language), Java and Javascript are used. This system uses the World Wide Web, which is getting more and more popular in recent years, as the media to transfer information all over the world.

The system allows many users to view three-dimensional objects, change attributes of the objects, discuss and design at the same time. These users can be located in different parts of the world. Each only needs a computer that is connected to the Internet and a web browser that can display VRML objects to use the system. The computer can be any hardware platform running any Operating System.

The objective of this project is to develop a system that can run on any computer hardware and software platform. Without any limitation on hardware and software platform, people from different parts of the world can work collaboratively to design architectural objects.

 

1. Introduction

Architecture Students are often required to design and model buildings in three-dimensional way using computers. They also need to present these three-dimensional objects frequently via computers. Traditionally, they can only present their work on the computer platform which was used to develop the model. For audiences without appropriate computer equipment, only two-dimensional images of those three-dimensional models can be shown. Sometimes they will create animations of their three-dimensional models to demonstrate different parts of their design. However, these animations limited the audiences to pre-rendered views of the three-dimensional models. They also required long working hours to generate and result in very large files.

Virtual Reality system generates different views of three-dimensional models according to user input in real time. It allows the user of it to navigate to any part the three-dimensional world with larger degree of freedom. Virtual Reality systems are powerful tools for architecture students, but they are very expensive. Most students cannot afford such expensive systems and, hence, cannot be facilitated by their powerful features. Moreover, they are usually hard to use. Architecture students may have problem in using such systems.

Neither three-dimensional animations nor Virtual Reality systems allow collaborative work to be done. This is a major drawback of such systems because collaborative work is becoming more and more important nowadays.

 

2. Motivation

There is a event called Virtual Design Studio (VDS) held every year by Department of Architecture of different universities of the world. Architecture students anticipated in this event will be divided into groups. Each group was consisted of students from different universities, thus from different parts of the world. They had to do design based on a specific topic. In order to accomplish the tasks, they have to work collaboratively. However, due to lack of efficient collaborative tool, they usually result in two-dimensional pictures of three-dimensional models.

In order to solve the problem, we decided to develop a system which allow people from different parts of the world to work together in a collaborative manner. Since different people use different computer systems and operation systems, the system must be platform independent, that is, can be run in any hardware and software platform. This system has to allow several users to use and work with it at the same time. It is also easy-to-use and low cost.

As World Wide Web has been getting more popular in recent years, information exchange around the world becomes common and easy. This provides a good channel for the system to use. Hence, we decided to develop a web-based system. VRML (Virtual Reality Modeling Language), Java and Javascript are chosen as the development tools of this system. VRML is the industrial standard of non-proprietary file format for displaying scenes consist of three-dimensional objects in the World Wide Web. Such scenes are called VRML worlds. It has an interface with Java, a general purpose programming language developed by SUN Microsystems, and Javascript, a scripting language built in web browser Netscape. Java can create applications, called applets, that can be run in a web browser. Applets provide interactivity between users and the VRML worlds. They also allow users to manipulate VRML worlds. Javascript acts as a bridge between applets and VRML worlds. It transfers control signals from Java applets to VRML worlds so that those users can manipulate the VRML worlds through Java applets. It also transfers messages from the VRML worlds to Java applets so that the later can obtain status of them. Sometime, Javascript can also be used to perform some simple jobs. By using these tools, we can build a very powerful system to enhance collaborative design processes.

 

3. Web-based Collaborative Design Tool

3.1 Overview of the Tool

The system is part of a client/server application. In this application, the system acts as a client, it send requests to the server to ask for the locations of required VRML files. Figure 1 shows the configuration of the application.

Figure 1.

It is basically a web page consisted of two Java applets and one area for displaying VRML worlds. It queues to databases for three-dimensional architectural models in VRML formats, those databases feed results back to the application. The results are basically URLs (Uniform Resource Locator) that specify the location of requested VRML files. As shown in Figure 1, this system allows different computer platforms to access. Therefore, more people can work together despite of the different in the computers and software they are using. This is a powerful feature of web-based application.

Figure 2 shows the actual view of the application.

Figure 2

It is web page which consists of three frames. Left frame contains a Java applet, it is the one which sends queries to some distributed databases and displays results in the upper right frame. The upper right frame is where VRML world will be shown. Inside lower right frame is another Java applet. Its function is the let all visitors of this page to communicate with each other. It has a chat area and a whiteboard for drawing. Users can then express their opinions verbally and graphically. At the right side of this applet is a place to hold some buttons. As mentioned above, this system allows users to manipulate VRML worlds, such as adding new VRML objects, changing color, resizing them. Although the functions are not implemented yet, they can be accessed through the buttons there after they are implemented.

The system can be divided into two client/server modules. One is the applet in the left frame. It sends queries to those distribured databases via a server running in the same machine of the web server. This server redirects results of those queries back to it. Then it displays the resulting VRML worlds in the upper right frame by making use of Javascript.

The applet in the lower right frame is another client/server module. There is a server running also on the same computer as the web server.

3.2 Database connectivity

Figure 3 shows how the three different components of the application work together.

Figure 3

Users can get the information of where is those VRML worlds they wanted through point-and-click action in the left applet. In that applet, users can search through those databases to find out what exactly they want to see. In fact, those distributed databases contain three-dimensional models of ancient chinese temples. And it involves another project. That project’s objective is to build a distributed database system of buildings’ three-dimensional models, for example, Chinese Temples. People in different parts of the world can create three-dimensional models of the buildings in their areas, put them in the databases systems. Other people can then access those models by using this system as a front-end interface.

As shown in figure 4, there is a database running on the machine indy14.eee.hku.hk, which is also the web server that holds this system. Inside that database are three-dimensional models of a chinese temple called Lopan Temple. All models are in VRML format so that they can be viewed in this system, as well as other VRML browsers. They are all stored in the database under the name lopan.Arch.

Figure 4.

The entire temple is divided into parts in a hirerchical order. When a user find the model he wants, he can view it by first choosing it and then press the "BROWSE" button. VRML objects will be displayed in the upper right frame of the web page.

3.3 VRML viewer

The VRML viewer is where the users of this system see and manipulate three-dimensional objects. They can see the objects at different angles. They can also move the objects and put them at wherever they want and in any location and direction they like. Figure 5 shows the Lopan Temple in VRML world.

Since the users have absolute freedom in the VRML worlds, they can obtain more information from those three-dimensional objects than they are in traditional three-dimenional computer design software packages. Hence, based on the additional information, for students, they can learn more and for designers, they can have better designs. And even better, they can work in a collaborative environment by using the Java applet under the VRML viewer.

Figure 5.

3.4 Communication

The lower right frame is another Java applet which functions like a chat program. It allows users to communicate through it at the same time. Users can type sentences in the text box and all users can see and response to it. As shown in Figure 6, a user just log in the system, a message will be shown in the text area and all other users of the system can see it.

Figure 6.

They can also draw in the area next to the text box. The picture drawn by one user can also be viewed by all other users. Therefore, they can express their thoughts graphically to the others. By using both words and pictures to communicate with others, they can have better understanding of what others users want to express and achieve better works.

Figure 7.

Figure 7 shows two users using the system. One of them uses blue colour to draw a triangle and the other uses red color. They are "talking" to each other by typing in the text area. Users can check who have already logged in the system by looking at the list box next to the button "Your Name?". There is a server running in same machine of the web server. The server applet collects messages from each chat applet and broadcasts them to all users online. The same apply to the drawing in the applet.

By making use of the Chat applet, users from different parts of the world can discuss 3-D designs through the internet, this eliminates the geographical barriers.

 

4. Further Development

Functions used for manipulating VRML objects have to be added. Such functions include adding new objects to the VRML worlds, changing color of existing objects in the VRML world. Functions for scaling and changing attributes of VRML objects will be added also.

Figure 8a Figure 8b.

Figure 8c.

Figures 8a is a VRML world containing a single red box. By adding scripts to the VRML world, users can dynamically add new object, such as a blue box in the already loaded VRML world, as shown in Figures 8b, 8c. But this method requires writing script for each VRML worlds which is impossible for our systems because it contains a large amount of VRML worlds. Therefore, we will use Java to implement this feature, as well as other features mentioned above.

Furthermore, performance issue will be addressed by rewriting the two applets and combine the two servers into a single one. This can lower the requirement for computer resources and make the downloading time of the system shorter.

 

5. Conclusion

By making use of the web-based technology, VRML, Java and JavaScript. Architecture students can have a low cost yet computer platform independent and easy-to-use system to do three-dimensional designing work collaboratively with other people from all over the world. This kind of collaborative work can improve their skill and designing power and let them gain experiences that can hardly be obtained before, when using tranditional modeling tools.

 

6. Reference

3D Graphics and VRML 2 Laura Lemay, Kelly Murdock,

SAMS.NET Justin Couch

 

Java in a Nutshell David Flanagan

O’Reilly & Associates, Inc.

 

JAVASCRIPT Sourcebook Gordon McComb

Willy

 

Creating Interactive Java Applications with 3D and VRML Chris Marrin, Bill McCloskey,

Silicon Graphics, Inc. Kent Sandvik, Don Chin

 

Proposal for a VRML 2.0 Informative Annex, Chris Marrin

External Authoring Interface Reference

Silicon Graphics, Inc.

 

VRML 2.0 External Authoring Interface (EAI) FAQ

Silicon Graphics, Inc.

 

Creating JavaScript Components David Huntly

Netscape TechNote

 

DevEdge Newsgroup FAQ: JavaScript Willie Meier

Netscape DevEdge Champion