DOC PREVIEW
MIT 6 837 - InterArch

This preview shows page 1-2-3-4-5 out of 14 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

InterArchAbstractInterArch is a multi-user collaborative design platform. Created with Java 3D technology, it allowsmultiple clients to log in to a server simultaneously, create different types of furniture and place theminside a common design area. Users can log in to a server on which a scene is already being modeledand modify or add to the existing scene. While working with the models, one can lock the model toavoid concurrency problems. Also, furniture has a basic collision detection ability so that it will alwaysrest on the floor or on top of other furniture. Team MembersChris AvrichHai NingHenry WongScreen Shots:IntroductionInterArch is a multi-user tool to aid interior design. The program displays a three dimensional view of aroom or a series of rooms and allows users to easily and intuitively move and arrange virtual furniture.The program also allows multiple users to log on to a server and view or edit the same scene. InterArchprovides a simple chat program so that users can communicate with each other, and a simple lockingmechanism to help prevent concurrency problems. If a user logs into a server after a scene has beencreated, they can still participate in viewing and editing just as any other user can. InterArch has two distinct view modes. Editing mode allows the scene to be rotated, zoomed andtranslated. The interface is similar to that of Open Inventor, Cosmo World and other three-dimensionalmodeling tools. This mode is typically used to view large portions of the scene at once and allows theuser to move the entire scene around and view each room as a whole. Navigation mode allows the userto simply and easily move the camera around with six degrees of freedom. This mode uses both themouse and the keyboard in a manner similar to Quake or Descent. It is intended primarily to allowpeople to view the scene from the perspective of a person; they can float around the scene and look inany direction. Although any camera position can be reached by either view mode, some actions aremuch easier in one view mode than in another. For instance, rotating the scene in editing mode is asimple manner of dragging the mouse, but rotating the scene in navigation mode requires using severalkeys and dragging in a slow, highly controlled manner. "Walking" the camera from one corner of theroom to another is a simple manner of pointing in the right direction and pressing "forward" innavigation mode, but requires a complex series of zooms, translations and rotations in edit mode. Each user actually has two camera positions, one for editing and one for navigation. Swapping betweenview modes moves the camera to the corresponding camera position and moving the camera in one viewmode does not effect the other camera position. This is done primarily because edit mode is only usefulwhen the camera is pointed roughly in the direction of the scene and swapping from navigation mode toedit mode while the camera is pointed in a different direction will make it difficult to navigate aroundthe scene. Each InterArch client provides a list of all of the users logged on to that server; this list is automaticallyupdated every time someone logs in or out. Additionally, the client allows users to jump to each other’sviewpoints if they wish. InterArch includes models of most of the furniture needed to furnish a typicalbedroom, including a lamp, dresser, bed, and several others. Each of these pieces of furniture iscustomizable; the colors of the furniture can be altered or the furniture can be stretched or shrunk in anydimension. This allows users to use the same built in bed to model anything from a dark blue, king-sizedbed for the master bedroom to a small pink twin bed for a child. The furniture can be edited when it iscreated, or users can edit furniture that has already been placed into the scene. Additionally, users canmove or rotate furniture in any direction. InterArch provides a very simple collision detection system to check that none of the furniture present inthe scene overlaps the floor, the walls or other pieces of furniture. This system causes an object to fall asfar as possible until it hits another object or the floor. If an object is moved or placed in a location whereit overlaps with other pieces of furniture, it is automatically moved upwards until no further collisionsare detected. This project uses many of the mathematical techniques presented in 6.837 to compute camera positionsand to compose models such as a bed out of graphics primitives like a box, a cone or a sphere. Every primitive placed into the scene has a corresponding four by four matrix that controls its position,scale and orientation. Each model is composed of a set of primitives placed into a local object space. Forexample, the closet is a large rectangle with two smaller rectangles placed in the front for doors.Rotating, translating or scaling the closet requires multiplying the matrix that controls the placement ofeach primitive by a matrix encoding the desired transformation. Moving the camera around also requirestransforming the camera’s local position by multiplying it with the appropriate matrix. Additionally, InterArch uses a small bit of ray casting code to control object selection. When the userclicks on the scene to select a piece of furniture, the program casts a ray out from the camera position inthe direction that the user clicked on to determine which object was selected. GoalsWhat we originally envisioned was to build an environment where multiple designers can log on to asystem from different places and work in the same modeling space. They should be provided with anelegant GUI to interact with the model, but more importantly, when they add or move building blocks,the scene should be dynamically updated on each user’s screen. When designer A makes a modificationto a model, designer B should see these changes in real time. Each user should be able to view the modelfrom whatever viewpoint they choose; facilities should also be provided to look at the model from otherusers’ viewpoints, in order to help them gain insight into their partners’ ideas. We wished to implement a plugin chat box and/or whiteboard in the applet to enhance communication.This would make it a lot easier for designers to work together and to understand one another. Our basic networking architecture is broken down into a client part and a server part. The server partincludes the application server, which receives client requests to


View Full Document

MIT 6 837 - InterArch

Documents in this Course
Shadows

Shadows

64 pages

Animation

Animation

37 pages

Radiosity

Radiosity

25 pages

Color

Color

86 pages

Color

Color

15 pages

Animation

Animation

61 pages

Luxo Jr

Luxo Jr

14 pages

Animation

Animation

52 pages

Radiosity

Radiosity

37 pages

Load more
Download InterArch
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view InterArch and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view InterArch 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?