Virtual Worlds Personal Project
Important Dates
Abstract due: Tuesday, February 15
Full Proposal due: Friday, February 25
Project Meetings: Friday, March 10, March 31,
April 14, April 28
Paper presentation choice due: Friday, March
17
Progress reports due: Friday, March 3, March
10, March 17, March 31, April 7, April 14, April 21, April 28
Final Project Presentation: TBA
Project Deliverables due: TBA
Overview
Each of you will plan and carry out a virtual worlds project of your own
design. This project has several goals, including: exposing you to some
recent developments in computer graphics, giving you the opportunity to
dig more deeply into some area of computer graphics that interests you,
teaching you to do some brief research into this area, and allowing you
some creative freedom to choose a major programming assignment.
You will have a number of things to turn in to me related to your project,
including:
-
Brief abstract
-
Full Proposal
-
Progress Reports
-
Final Presentation
-
Project Write-Up, source code, and data
In addition, you will be presenting a research paper to the class, which
should relate to the subject matter of your project.
Choosing a Project
Your project does not have to be a true research project (although if you
want to work on something new and publishable, let me know and we can discuss
that). It should be something that you will find interesting and fun. It
must be an interactive 3D graphics application, and it should provide some
kind of compelling visual experience, a sense of presence, or something
that facilitates that. It may provide great visuals, interesting dynamics,
useful or pleasing interactions, etc. Use your creativity and do not feel
constrainted by the rules of the physical world - you may even create worlds
that do not behave the same as the physical world, but are interesting
in their own right.
For instance, these are some of the possible topic areas:
Applications
-
Scientific visualization
-
Architectural walkthrough
-
Medicine
-
Entertainment
Modeling
-
Physically-based modeling
-
Computer-aided design
-
Natural phenomena
-
Animation
Geometric Algorithms
-
Collision detection
-
Morphing
Interaction Techniques
Tracking Techniques
Rendering Techniques
-
Volume visualization
-
Image-based rendering
-
Non-photorealistic rendering
-
Multi-pass OpenGL rendering
Here are a few projects created by students in previous years:
You may use existing software tools and resources. However, this is a programming
class, so your project should have a major programming component. So, for
example, building a 3D model in an existing modeling package and rendering
an image of the model is not a suitable project.
In seeking a topic, you will briefly research your topic area to see
what sorts of interesting things people are doing in that area (in, say,
the last 5-10 years). One type of project is to implement an algorithm
described in a recent research paper. You do not have to implement someone
else's work, but it's a good place to start if you do not have a spectacular
idea of your own brewing.
You will be demonstrating (i.e. showing off) your project to me and
the rest of the class, so you should be thinking from the beginning of
what sort of demonstration you would like to end up with. This can help
drive your project development.
You should seek to impress me by demonstrating not just a working
program, but one that has developed to a point of richness. You have 8
weeks to develop a program with enough infrastructure to support some interesting
features. At your demo, show me all the interesting things it can do.
Research Resources
There are a number of resources available to you
at the MSE library. One of the most important resources is the published
proceedings of the annual SIGGRAPH conference. All of the recent years
are available. However, some of them are bound together with the journal,
Computer Graphics, so you may have to look carefully. You can really get
a good feeling for the sorts of graphics research going on by just looking
at the table of contents, skimming through the abstracts, looking at the
pictures, etc. This may help you get find a topic to get excited about.
In addition to the SIGGRAPH proceedings, there
are a number of other useful conferences and journals, including: IEEE
VR, IEEE Computer Graphics and Applications, Computers and Graphics,
The Visual Computer, Computer Graphics Forum, ACM Symposium on Interactive
3D Graphics, ACM Transactions on Graphics, and many more.
Many of the more recent SIGGRAPH articles may
also be found on-line. You might want to look at http://www2.iro.umontreal.ca/~ratib/code/cg-pub.htm
(many of the individual journals also have their own web sites). When looking
for ideas or inspiration, I don't find this as compelling as actually getting
into the library and paging through the real, physical articles, but it
is a useful way to get yourself a nice electronic or printed copy of a
recent article.
There is also a graphics bibliography server available
on-line at: http://www.cgrg.ohio-state.edu/~spencer/gbib.html.
Proposal Abstract
Your proposal abstract should be one or two paragraphs
including a brief description, discussion of the novel aspects, the potential
pitfalls, and a summary of the required resources. We have access at least
to the HMD and tracker in the graphics lab, as well as several SGI workstations.
If you have some exciting idea that requires additional resources, we may
be able to get access to Phantom force feedback device, video cameras,
etc., but this will require some coordination with the other basement laboratories.
Full Project Proposal
Your full proposal (as opposed to the abstract you
already submitted) should be no more than two typed pages. It should include
exactly
the following sections, with exactly the following headings:
-
Abstract. One or two paragraphs summarizing
your project.
-
Most Compelling Aspect(s). Describe what you
think will be the most interesting or compelling aspect(s) of your proposed
project. Does it involve potentially new research, or are you planning
a really good implementation of something that has been demonstrated before?
Why or what will people say "wow!" to?
-
Development Plan. This should be a dated list
of tasks to be completed to realize the final project. You should include
tasks at a granularity such as "week 1: learn to use such and such tool",
and "week 2: model the ocean floor", i.e. you will probably have a list
of fewer than 10 tasks. This list will help you and me feel comfortable
that your project is indeed achievable within the semester, and will give
me something to judge your progress by.
-
Completion Criteria. Tell me what exactly
you propose to demonstrate, at a minimum, to get a grade for the course.
For example, "My project will be considered complete and ready for grading
when I have implemented the _____ and _____ and _____ features."
This will most likely refer to your "Cool!" feature (above). State this
as clearly as possible so that we can agree on what, at a minimum, is expected.
-
Equipment Needs.
-
Foreseeable Pitfalls and Alternatives. What
tasks or features are you most unsure about, and what if you can't do or
implement them? You should, where possible, have some alternative plans
ready.
Choose and document (in your proposal) the above
carefully. A little time spent here could save all of us tons of grief
later. I want you all to succeed and have some fun!
Project Meetings
We will have several meetings to discuss your project
proposal and your bi-weekly progress. I am willing to commit time to meeting
with you and helping to guide your progress throughout the semester, but
you must come to these meetings prepared. You should have been actually
accomplishing things in the weeks before the meeting. We can discuss the
direction your project is taking, possible ways to go from there, and particular
problems you are encountering. You are also free to schedule additional
meetings with me and discuss problems via e-mail as well (rather than wait
2 weeks to tell me you've hit a brick wall and can make no progress).
Paper Presentation
As part of this course, you will be presenting a recent research paper
to the class. The grade for this presentation is actually separate from
your project grade, but you may wish to choose to present a paper related
to your project. By the above due date for paper selection, you must let
me know (by e-mail, not just in person) what paper you will present.
In the case of multiple students choosing the same paper, the one whose
e-mail I received first will get to present that paper (this has actually
happened). Again, don't just tell me your choice in person - I need a dated
record of your choice (and I will not remember who tells me what in person
after class).
You will prepare your presentation in Microsoft PowerPoint. At least
one day before your presentation, you must schedule a meeting with me to
show me your slides and discuss the presentation. This should give you
enough time to make any changes I recommend. If your presentation file
is too big to fit on a floppy disk, you will need to come see me before
class so we can download your slides onto my laptop.
Here are a few guidelines for preparing your slides:
-
Avoid background styles that are too "busy".
-
Light text on a darker background is usually more visible than vice versa.
-
Keep the text size fairly large (32 and 28 point)
-
Make your text concise. Avoid using complete sentences, and try to keep
bullet items from taking more than a single line.
-
You may want a slide towards the beginning to show the organization of
your talk so people can follow more easily.
-
Be sure to motivate the problem being solved before getting into the details.
Progress Reports
After the full proposal is turned in, you will not have any more homework
assignments, so I will expect you to be working hard and consistently on
your project. It is unacceptable to work on the project just for the week
before it is due. With this in mind, you will submit to me several weekly
progress reports. Each such report should be one to two paragraphs describing
your progress on the project for the week. This can include what things
you tried out, what things you completed, and what things are giving you
trouble. You should also refer to the milestones in your proposal to indicate
if you are ahead or behind and any changes you need to make in your plan.
For the most part, these progress reports should typically be things
you can write in 15 minutes or less, so they should not be burdens in themselves
(but they should motivate you to make progress each week). You may think
of the reports as containing the types of things we would discuss in a
personal meeting.
Project Presentation
We will schedule the presentations for some day during final exam week
(to be decided). I expect them to last less than 4 hours. You must attend
the entire presentation period to see the demonstrations of your fellow
students.
Project Deliverables
The deliverables that go with your project are not due until after the
presentation. The final project report is non-trivial (probably 3-5 pages
or so). It provides me written documentation of what your project was about,
the techniques and features you implemented, and the overall system you
produced. You should consider including actual pictures from your program
as well as the description of its components. You can turn it in as a postscript
or pdf file, an html document (a directory containing the actual html files
plus any image files), or an MS Word file (Word 97 or earlier format, please).
Remember that the report is your final chance to impress upon me all that
you have accomplished. In addition, you should turn in your documented
source code and any data files, along with instructions on how to execute
programs, etc. All of this should be turned in electronically (e-mail me
a zip file - don't just point me to your URL).
February 10, 2000