MCIS 625: Computer Graphics
Winter 2004

VRML PROJECT 1

Instructor: Dr. Michael Laszlo
Handout date: Tuesday, January 13
Due date: Wednesday, February 11 via ESET category VRML Project 1


VRML Project 1
Write a VRML program that represents a table together with several objects that rest on the table top:

Your objects may be shapes possessing primitive geometries such as Cones or Spheres, or you may build more complex geometries using Extrusion or IndexedFaceSet nodes (although this is not required). Also, you can include other objects on your table, although the assignment requires only the objects A, B, and C described above.

Your table should be composed of a table top and legs, at a minimum. The table should also be described in its own file named (say) table.wrl. Your top-level world should be described in its own file, named (say) tableworld.wrl, which positions and orients the table within the top-level (world) coordinate system. This is accomplished by inlining the file table.wrl within a Transform node:

Transform {
translation ? ? ? # position the table
rotation ? ? ? ? # orient the table
scale ? ? ? # scale the table
children Inline { url "table.wrl"
}
}

Of course, it may be possible to use the default values of the translation, rotation, or scale fields. Moreover, you may wish to inline the file table.wrl within any number of nested Transform nodes to best position and orient the table. The file tableworld.wrl (or subordinate inlined files) should also describe the objects that live on the table top, either directly, or by inlining additional files that describe these objects. (In general, inlining should be used in all but the most trivial worlds. Every VRML file can be viewed as a module representing a single element, defined within its own coordinate system. The file can be inlined any number of times in any number of worlds. Thus, the Inline node is a mechanism for software reuse, analogous to the procedure in procedural programming language, which can be called any number of times by any number of programs.)

Do not use a world builder or modeler for this assignment. You should write all your code yourself by hand.

Please submit your code to me on the due date. Although your code will span two or more separate files, I ask you to concatenate them into a single file (preferably of type MS Word doc) for submission through ESET. Each .wrl file within the submission file should contain a header comment indicating the file's name and purpose. Moreover, your code should be commented generously and indented to reflect its structure.

In addition, please set up your world on your web site and include the URL near the top of your ESET submission. This is most important because I will run your world through the URL you provide, not through the code you submit. You may also want to post your world's URL to our course forum after the due date.


[ Home | Course | Syllabus ]