Critical Evaluation
We started working on the project at home and in the GrUVi lab.
When we transferred our work to the CSIL computers, we were
confronted with a series of segmentation faults that were not
present elsewhere.
Fortunately, we used CVS, and were able to roll back our work and
restart from a working state. Some or our segmentation faults came
as a result of us not initializing some pointer attributes to 0,
although oddly the program ran fine at home and at the GrUVi lab.
As mentioned before, time should have been allocated for
communication between us. For the magnitude of this project, to
ask someone to add a feature to it without learning the structure
of the code well is two tasks in itself. I decided to not
implement accurate color calculations so that I could have more
time to work with Ian to set up certain rendering feature (i.e.
curvilinear data rendering, and render by slice or region). In the
end, I am glad I did so, because together as I team, we were able
to accomplish more than if we each went our own ways.
Problems still exist in the program. As mentioned before, color
calculations are not accurate as of yet. When I triangulated my
tetrahedra, I calculated the two points on each tetrahedron
between which maximum thickness occur. As a crude approximation,
the color of the nearer point is calculated as an interpolated
value between the vertices of the tetrahedron. That point is used
for triangulation. Further, the vertices of each tetrahedron is
not assigned an opacity of 0, but instead the opacity associated
with the intensity at that vertex. Although this approximation is
very crude, for the data sets that we rendered, recognizable
images were produced. What we have now, along with the demos, have
set up a great testing environment for the implementation of the
color calculations later.
Another problem exist in triangulating the tetrahedra in
curvilinear data sets. The calculation of the nearest point is
wrong for certain viewing angles. The error occurs in either case
1 or case 2 tetrahedra (please see diagrams below), as suggested
by debug messages. Further investigation is needed before we can
determine where the problem originates.
|