CMPT461 Final Project
Preliminary Results

CMPT461 Final Project

The final web page can be found here.

Tai Meng / Ian White

Contents of this Page:

- Project Title
- Project Goals
- Our Approach
- Tentative Schedule
- References

Project Title: Cell Projection - Visualizing 3D Data

Project Goals

This project will be a continuation of the cell projection project that I (Tai) undertook this past summer.

The existing program has 3D sets of cubic cells triangulated via a 5-fold tetrahedralation technique. Those cubic cells are displayed from back to front order, depending on the viewing angle.

Currently, the program has no file reading capabilities. We will aim to read in regular data sets and curvilinear data sets.

Errors also exist in the calculation of transparency values. We will try to fix these errors and produce several demos illustrating the corrected results.

We plan to implement one more tetrahedralation technique (the 6-fold technique). When this is working, the 12-fold and 24-fold techniques will become relatively easy to implement (the 12-fold and 24-fold techniques will not be implemented during this project).

Since the program will eventually integrate into vuVolume, we do not see a need to implement a GUI for transfer functions, since we should be able to use vuVolume's. Therefore, we will not likely pay special attention to transfer functions other than hard-coding them.

Our Approach

Since Ian is not very familiar with my project, we both agreed that a natural division of tasks will be for him to implement the file reading of regular and curvilinear data sets, while I fix up the transparency calculation errors and work on the 6-fold tetrahedralation.

We have already set up a cvs root just for this final project, in hope that it will lessen integration problems.

The regular grid file reading should be relatively easy. The data should be read into an already implemented data structure, and it should display on screen. If the default transfer function does not work well with the data sets read in, a different transfer function may be hard-coded (for now) for each data set we read in. We will only read in small data sets, because cell projection is a slow process.

The curvilinear file reading will be more difficult. New data structures need to be implemented to store the warped vertex locations.

A tentative schedule for file reading has been laid out in the next section, with the assumption that there is sufficient documentation for the format of the two kinds of data set files.

For my part, I will have to step through my code again to try to fix the transparency calculations. Some time may be needed for me to remember all that I did before, since it was a fairly sized program already. If I cannot fix the problems, I will produce demos illustrating them, which would pave my way for fixing them later.

For the 6-fold tetrahedralation technique, the back-to-front ordering will be key. This will take a considerable amount of time, since on top of figuring out an algorithm I will have to bring myself completely up to date with how I set up my classes responsible for tetrahedralation.

We have set out a tentative schedule as follows.

Tentative Schedule


Tai Meng

Ian White




Nov 27 (Wed)

-         Create temporary schedule

-         Upload initial webpage

-         CMPT320 presentation



-         Meet together to discuss tentative schedule

Nov 28 (Thu)

-         Work on Math hw

-         CMPT412 hw due

Nov 29 (Fri)

-         MATH343 hw due

-         Start working on reading in regular grid 3D data.


-         Meet together to familiar ourselves with the existing program and data structures.

-         Plan about new data structure(s) that need to be implemented.

Nov 30 (Sat)

-         Work on Math hw

-         Finish reading in regular 3D data.

-         Update GLUI to allow the user to read in from a selection of 3D data sets.

Dec 1 (Sun)

-         Port code over from CMPT461 labs to fix some existing problems in the GLUI window.

-         Write some code so that the camera will be located and set up automatically to capture the entire data set.

-         Try fixing existing errors on transparency calculations

-         Start working on reading in curvilinear 3D data sets.

Dec 2 (Mon)

-         MATH332 hw due

-         STAT330 hw due

-         If transparency problem fixed, produce demo for:

o       Single tetrahedron

o       Single cubic cell

o       Single slice

o       Two slices

o       Sphere

-         Curvilinear grid continued

-         Since new data structures need to be implemented without interfering with the existing structure, this may take a while.

Dec 3 (Tue)

-         Start to work on 6-fold tetrahedralation of cubic cells.

-         Finish on curvilinear grid

Dec 4 (Wed)

-         Try to finish 6-fold tetrahedralation of cubic cells and produce demo for it.

-         Study

Dec 5 (Thu)

-         Slack time (in case something went wrong)

-         One Final Exam

Dec 6 (Fri)

-         Concatenate all existing demos so they are accessible via a radio group inside the GLUI window.

-          Update final web page

-         Produce a PowerPoint presentation

-         Do a simple write up for both of us


-         Practice the presentation if time allows

Dec 7 (Sat)

-         Slack time: practice presentation if time allows

Dec 8 (Sun)

-         Study

-         Study

Dec 9 (Mon)

-         Two Final Exams

-         One Final Exam

Dec 10 (Tue)

-         - ?? Presentation



Tai Meng | 孟泰 | Last Updated: May 01, 2013