First assignment: |
Compile
and/or install the visualization toolkit (vtk) on a computer you have
access to using cmake and a C++ compiler of your choice. If you are
using one of the computers in RC 152 keep in mind that you should store
the resulting libraries in an area that you will still have access to
after you logged off the machine. You can find a copy of vtk on the CD
that accompanies the text book or you can download it from www.vtk.org. Familiarize yourself with vtk's pipeline concept and the C++ examples provide on the CD or vtk's web site, particularly the ones discussed in chapters 3 and 4. For this assignment, you will not need to turn anything in. |
Second assignment: |
The second assignment consists of two parts. First,
implement a visualization software for visualizing
a vector data set using VTK. Your
software should be capable of displaying the entire
data set using glyphs as well as an
arbitrary number of streamlines. In order to
define data file, the start points of the
streamlines, as
well as all other necessary thresholds, implement
a config file reader. The config file should define
a value in each line (if not a comment line marked
with # at the beginning) where first a keyword is
given followed by a colon and the value itself
separated by a space. For the second part,
visualize a volumetric data set using the
Marching Cubes
algorithm implemented in VTK. Again, data file and
isovalue should be defined via a config file. Your
software should allow the specification of more
than one isovalue. For
both parts, turn in your source code and example
images of your results. You can find data files
on your VTK CD (or the
VTK homepage).
Additional
data files are provided here.
The slides
describing the assignment are also available.
|
Final project: |
Use VTK to implement a volume renderer using the ray casting method. Use two separate transfer functions; one for changing the opacity, the other one for choosing the color map. Implement a user interface that allows you to interactively change the transfer function. Use a series of sliders for manipulating each of the transfer functions at discrete points (spaced at equidistant locations). You can use a widget library of your choice. Use your config file reader to preset all settings for the different sliders, as well as the data set to load. When turning in the assignment please provide your source code, the cmake file, and a sample screenshot of your results. For testing, you can use the data files provided here which were used earlier.
|
|