Abstract:
Meshes are used in a variety of applications to specify the three dimensional (3D)
shapes of objects in simulated scenes. For example, a mesh can be used as an animal
in an animation movie, a soldier in a video game, or a bulldozer in a simulation
application. A straightforward way of creating a mesh is to modify an existing mesh.
Although several mesh modi cation algorithms exist, there is a need for an algorithm
that constructs a mesh from any combination of existing meshes and simple geometric
shapes (called primitives) according to a list of user commands. When visualized, the
resulting mesh should have a smooth (i.e. not blocky) surface.
We propose the Revo method for constructing meshes from any combination of
existing meshes or primitives according to user commands. The commands required
to construct a speci c 3D mesh should be determined by an artist. First, the Revo
method generates a volumetric representation of each input mesh or primitive. To do
so, for each input mesh, it imposes a 3D grid called a volumetric grid on the portion
of the 3D world that contains the mesh. Revo may apply some transformations to an
input mesh to ensure that it is completely enclosed by the volumetric grid. A distance
eld is used to approximate the input mesh in the volumetric grid. Similarly, each
required primitive is constructed in a volumetric grid to yield a distance eld. A
series of distance-based operations, such as union, intersection, and subtraction, are
used to combine the distance elds according to the user commands. Finally, Revo
extracts the implicit surface from the resulting distance eld and constructs a mesh.
We analyzed the Revo method theoretically and empirically. Our analysis shows that the size of the volumetric grid a ects the accuracy of the volumetric data, the
complexity of the generated mesh, and the performance of the algorithm. Using a
larger volumetric grid results in more accurate volumetric data. However, it makes
the process slower and the generated mesh more complex. The characteristics of the
input meshes, such as the number of triangles, also a ect the performance of Revo.
For a highly detailed input mesh, the generated mesh has fewer triangles than the
input mesh because the output mesh has less detail than the input mesh. Also, the
processing time and the
Description:
A Thesis Submitted to the Faculty of Graduate Studies and Research In Partial Fulfillment of the Requirements for the Degree of Master of Science in Computer Science, University of Regina. xi, 121 p.