Surface modeling and representation
Complicated,
organic surfaces are difficult to create and model. There exist
several approaches, each with its
own strengths and weaknesses.
The term "manifold" has become a bit over-loaded,
unfortunately. For our purposes, a surface is manifold if it is
locally Euclidean, i.e., you can map a piece of the surface to the
plane without folding, bending or tearing.
Building a surface in the manifold-style (I've been adopting the
term "constructive manifolds" for the resulting surfaces) involves
building a surface in pieces, then gluing the results together. The
key here is that the pieces overlap. The benefits are many:
- We can use any existing 2D technique almost as-is, simply moving
the computation from one chart to another when necessary. This
includes writing an embedding function.
- Surface fitting is a simpler
task, because a) we don't have to worry about end-conditions b) we can
fit each piece individually c) we can adjust the degrees of freedom
locally, without affecting the entire surface.
- We can add new patches at will, and, if desired, have those
patches over ride the
current surface. This is an analytically correct way of defining
surface pasting.
- We can build a single, abstract manifold then fit it to multiple
versions of the same basic shape. If similar points in the data sets
are marked as corresponding, we
can adjust the fitting process to ensure that we have consistent
parameterizations across the entire data set.
- Why parameterize? Parameterization is a natural way to put two surfaces into correspondence, without needing to specify a complex 3D deformation.
On-going work: The two main focuses of this work currently are a)
better hierarchical editing tools and b) automatically creating
consistent parameterizations of MRI and CT-defined data.
Related work: Lexing Ying and Denis Zorin present a manifold
construction technique based on complex
transforms. Navau and Garcia present a technique based on the characteristic
map and splines. Gu, He and Qin present a technique based on conformal
parameterization; it's not clear if this approach is everywhere analytical.
See also: editing, fitting, and comparison.
Talks
- Siggraph 2005 course: Introduction (overview of the course)
- Siggraph 2005 course: What is a manifold?
- Siggraph 2005 course: Why manifolds are the best thing since sliced bread.
- Siggraph 2005 course: Mesh-based approaches (introduction)
- Siggraph 2005 course: Grimm and Hughes Siggraph 95 paper.
- Siggraph 2005 course: Canonical approach to building manifolds (using an existing canonical topology and building charts on it).
- Siggraph 2005 course: Applications using manifolds in areas outside of surface modeling
- Berkeley 2005: Canonical manifolds: how to make one.
- Mathematics of surfaces X 2003: n-holed tori manifolds using hyperbolic geometry.
- Shape modeling international 2002: Canonical manifolds using pre-defined charts (all but n-holed).
Papers
- The Course notes from Siggraph course 13, 2006 "Manifolds and Modeling", presented by myself and Denis Zorin.
- The original
paper on building surfaces using a constructive manifold
approach. Input: Mesh Output: Ck analytical surface.
- A canonical
approach to building manifolds. Builds a spherical manifold out of 6
charts, each covering nearly 1/2 of the sphere. The torus manifold is
built from 9 charts, and the cylinder from 3.
- A canonical
approach to building an n-holed manifold. Uses hyperbolic geometry.
- A combination
of the two above papers.
- Placing charts
anywhere on a spherical manifolds. (Note: this works for any closed topology, but this paper only discusses spheres.)
- Building correspondences between two bones to analyze the differences between an injured and an uninjured wrist.
- Building a model of the heart.
Students