MIM 3142 (SE 741-F)
Building Virtual Environments
Spring Quarter, 2003

Professor Ronald R. Mourant, 334 Snell Engineering Center
Northeastern University, 360 Huntington Ave., Boston, MA 02115
Phone: 617 373-3931 FAX: 617 373-2921
email: mourant@coe.neu.edu
Office Hours: Mondays and Wednesdays 10:30 - 11:30 A.M. and by appointment.

Texts:
1. Getting Started with the Java 3D API (Tutorial)
http://java.sun.com/products/java-media/3D/collateral

2. Java 3D Programming, 2002
Author: Daniel Selman ISBN: 1930110359
http://www.manning.com/ (eBook available)

Course Description:
An object-oriented approach to building three-dimensional worlds. The Java 3D API will be used to constuct
scene graphs, and to control viewing and rendering. The scene graph, a treelike structure which includes geometric
data, attribute information, and the infromation needed to render the scene from a particular point of view will be
studied. A student project to program traversing a virtual environment that includes autonomous behaviours will be required.
Prep. MIM 3140.

Getting Started:
This course will be based on JDK 2 SDK which is available from Sun The System Development Kit includes
a Java compiler, a Java Virtual Machine (JVM), and a debugger.

You may need to download Java 3D 1.3 Beta 1 Software API from http://java.sun.com/products/java-media/3D/

Java 3D has been downloaded to the Sun 10 UltraSparc computers in room 268 Snell.
Northeastern University students may use their College of Engineering account for this course.
You can get a computer account in 268 Snell Engineering.


Lectures:

March 24 Tutorial 1 Introduction, Scene Graph
March 26 Chapter 3 QuadArrays, Transformations

March 31 Tutorial 7 Textures
April 2 Chapter 14 More On Textures

April 7 Chapter 15 Loaders
April 9 Chapter 15 More on Loaders, Vehicle Dynamics

April 14 Vehicle Dynamics, Collision Detection
April 16 Chapter 14 Moving the Viewpoint, Mouse Controller, Behavior

April 21 Scaling, Generalization, Curves
April 23 Moving Indicators, Steering Wheel, Transparency

April 28 Tutorial 3 More GeometryInfo, More Multi-Texturing Objects
April 30 Chapter 12 Sound

May 5 Chapter 13 Collision Detection, Animation
May 7 Tutorial 6 Lights

May 12 Distance LOD, Hierarchal Transformations
May 14 Chapter 12 Splines

May 19 Tutorial 5 Morphing, Bones
May 21 Chapter 16 - Picking

May 27 Memorial Day
May 28 Chapter 18 - Performance

Final Project Presentations by Appointment


Quizzes:

There will be closed-book, closed-notes in-class quizzes on Wednesdays: April 2, 9, 16, 23, 30, May 7, 14, 21.

Individual Project:

The project will be to build a virtual universe with the following features:

1. Traversal through the environment with associated dynamics, i.e. car, bicycle, walking, etc.

2. 2D and/or 3D animation. 2D animation can be done with the "playing" of textures. 3D animation is the moving/rotation of 3D objects.

3. At least one sophisticated 3D object that includes high quality texturing that you created.

4. Sound and lighting effects.

You may include other features such as: a textured background, picking, morphing, collision detection, head turning, LOD, and MIPmaps.

Below are images and geometry that you may use in your project. If you find images and geometry that may be useful to others
please put them in a jar file and email it to me.

Project proposals are due April 28 and should include a description of the geometry and behavior of the virtual envrionment that you will implement.
Include a schedule listing tasks to be done each week till the final project due day of June 4. Send project proposals to mourant@coe.neu.edu

Progress reports that include 1) source code, 2) geometry and an adusted project schedule.
Burlington/Dedham and NNU students should make arrangements to demo their final projects in class or to me on June 4.
NTU students may mail or FEDEX their final projects so they arrive on or before June 10.

All final projects are to besubmitted as a .jar file. For this you should use the jar utility.
Put all your .java, .class, .jpg, .txt files, etc. into project.jar.

Here is a check list for your final project:

Include all source and resource files so your program can be compiled.
Provide clear directions on how to run your software.
Describe the expected results of running your program.
List all known bugs in your program.
Put comments only where appropriate in your source code.
Use meaningful names for classes, variables, etc. in your source code.
Discuss possible project improvements.
Do not include a MS Word file that has figures unless it is Word 2000 or later.
Your software should have the capability to display frames per second as an option.
Provide a scene graph as a separate .gif or .jpg file.


Java Resources:

The Java 3D Homepage

Java 3D Mail Archive

Java Shareware

http://www.java3d.org/

http://www.j3d.org

http://java.sun.com/products/java-media/3D/forDevelopers/J3D_1_2_API/j3dguide/

http://www.starfireresearch.com/services/java3d/java3d.html


Student Ethics:

Although it is permissible for students to discuss homework assignments, the sharing and/or copying of computer code is not permitted. Each students is expected to write his/her own code and to debug it. If two or more students' work is suspiciously similar, the penalty will be assessed to all students. Students who cheat on homework and/or examinations may end up being suspended from the course and possibly from Northeastern University.

Please try to arrive in the classroom by 4:10 P.M. I realize that traffic and other events may
cause you to be late, but try to allow for such contingencies. People arriving late disturb
the attention of others.

It is impolite to talk with others during the lecture. If you have a question, one option is to
write it on a piece of paper. Another is to raise your hand.
Please turn off all cellular phones while in class.

Thank you for your kind cooperation.


Grading:

Quizzes 30%
Homework 30%
Final Project 40%


References

Ready-toRun Java 3D
by Kirk Brown and Daniel Petersen, John Wiley & Sons, Inc., 1999.

Core Java 3D
by A. Walsh, Prentice Hall, 2001

Java 3D Jump-Start
by Aaron Walsh, Doug Derringer, Doug Gehringer, Prentice Hall, 2001

Essential Java 3D fast
by I. Palmer, Springer Science, 2001

Images

trees
signs


Downloads

FPS.java
FourObjects2.java
Henge.jar

Graduate Assistant

Pelin Ersavas is the Graduate Assistant for this course. email persavas@coe.neu.edu

Her office hours are:
Thursdays 10:30 - 12:30
Fridays 10:30 - 12: 30
Phone: 617 373 5620

If you have questions pertaining to course content and/or homework, please
direct them to Pelin.