Title: Aspects of Geometric Design
1Aspects of Geometric Design
- Jean Gallier
- CIS Department
- University of Pennsylvania
2Thanks, Dianna, Marcelo, Gary
3WhatIs Computer-Aided Geometric Design?
- Computer Aided Geometric Design CAGD
- Techniques for modelling curved shapes
- Using curves and surfaces
- Computational Geometry
- Scientific Visualization
- Computer Vision
- Architecture
- Computer Animation (movies)
-
4What is CAGD?
- Product Design and Manufacturing
- (cars, planes, ships, etc.)
- Medical Imaging (brain, liver, lungs, )
- Robotics Motion interpolation
- Biology and Computational Chemistry
- Art, Archaeology
5Some History
- Even before the 19th century, ship hulls were
designed using long flexible wooden strips called
splines. - In the forties, engineers at BOEING experimented
with CAGD methods for designing airplanes. - Various types of surfaces were created.
6More History (1)
- In the sixties, independently, two French
Engineers working for Citroen and Renault
pioneered the use of CAGD in car design. - Pierre Bezier and Paul de Casteljau proposed
schemes for specifying curves and surfaces using
control points (as opposed to explicit coeffs.).
7 More History (2)
- In the early 70s, Carl de Boor and Richard
Riesenfeld came up with - B-splines and the de Boor algorithm.
- In 1978, Catmull and Clark proposed subdivision
surfaces. Catmull is now one of the vps of
Pixar! - Subdivision surfaces heavily used by Pixar to
make animated movies.
8Some Problems Considered
- Approximating a curved shape (accuracy not so
crucial) - Interpolating a curved shape. Here some data
points must be on the surface. - Drawing (rendering) smooth surfaces (or curves).
9Mathematical Representations of Curves and
Surfaces
- System of equations
- Parametric form
- Implicit form
10Parametrization
A 3D point is assigned a unique pair of values
(u,v) in the plane by means of projection
11Parametric Curves
12Wiggling Effect
- Example
- Four data points
- Third degree polynomial
- Might look something like
- This is the ONLY third degree polynomial which
fits the data - Wiggling gets much worse with higher degree
13Problems with Polynomial Curves
- To interpolate many points, high degree is
required - Too expansive to draw curves of high degree
- Excessive wiggling
- Precision issues
- Impossible to make local changes (lack of local
control) - Lack of modularity
- Lack of incrementality
14A solution Splines
- Use piecewise polynomial curves
- The complete curve consists of several simple
polynomial pieces - All pieces are of low order
- Third order (cubic) is the most common
- Pieces join smoothly (typically,C2)
15Parametric Continuity
- common endpoint
- tangent vectors also agree
- change in tangents also agree
- 0 through kth derivatives match
16Bézier Curves
- A polynomial curve of degree is uniquely
determined by control points,
, forming a - Control polygon
17Bézier Curves Examples
- Changing the position of a control point will
change the shape of the curve
18The de Casteljau algorithm (1)
- A method for computing a point on the curve,
F(t), using affine interpolation - If , then F(t) is in the convex
hull of the control polygon - This method yields a recursive algorithm to draw
a curve segment
19The de Casteljau algorithm (2)
20Parametric Surfaces
- Generalizing from curves to surfaces by using two
parameters u and v - Parametric surfaces can be either rectangular or
triangular, depending on how the parameter plane
is divided
21Bézier Surfaces (rectangular case)
- Defined in terms of a two dimensional control net
22B-spline Surfaces local control
- Local control is one of the most desirable
properties of B-splines - Modification of a control point only affects a
small neighborhood
23The Difficulties with Triangular Splines
- Rectangular spline surfaces are constructed as a
cross product of spline curves in two directions - The B-spline curve framework does not carry over
to triangular spline surfaces - Lack simple and intuitive algorithms that offer
local control
24Why Triangular Splines?
- Arbitrary topology
- how to represent a sphere?
- More generally, any closed surface?
- Many related areas generate triangular meshes
- laser scanning
- mesh construction and simplification
- Generality
25Motivations for triangular spline surfaces
- Design and/or interpolation of complex 3D shapes
- Such shapes may have holes or sharp corners
- Incremental algorithm
- Local flexibility
26Polar Forms (blossoms)
- Polynomials can be linearized in terms of
symmetric multiaffine maps - The specification of (polynomial) curves and
surfaces in terms of control points is best
explained by polar forms - Specifying Ck -continuity is greatly simplified
when polar forms are used
27Multiaffine Maps
- A map is affine if
- for all , and all
- A map is multiaffine if it
is affine in each of its arguments - A map is symmetric if it
does not depend on the order of its arguments
28Example Ennepers Surface
- Parametric forms
- Polar forms
29Polar Forms of Polynomial Surfaces
- Given a surface , (degree m)
there exists a unique symmetric multiaffine map,
-
- such that
-
- is also known as the polar form of the
polynomial surface
30Example of a Triangular Control Net
- Control Net 0, 0, 0, 2, 0, 2, 4, 0, 2,
6, 0, 0, 1, 2, 2, 3, 2, 5, 5, 2, 2, 2,
4, 2, 4, 4, 2, 3, 6, 0 - The surface patch associated is approximated with
the subdivision version of the de Casteljau
algorithm
31Joining Triangular Patches with Cn Continuity
s
A
B
p
q
A
B
r
- The patches FA and FB (degree m) join with Cn
- continuity along (r, s) iff their polar forms
satisfy -
-
32C1 Constraints along an Edge
s
B
p
q
A
B
r
- Along the edge ,
- Every diamond must be
the image of
33Dianna Xus dissertation
- Incremental Algorithm for the Design of
Triangular-Based Spline Surfaces (2002)
34C1 Constraints around a Vertex special case
- There are only 5 significant cases given
equilateral triangles - There are 3 degrees of freedom among star points
in all cases when equations are examined
35C1 Constraints around a Vertex general case
- The star control points must observe the same
affine relations given by the vertices of the
template triangles - There are again only 3 degrees of freedom in all
cases
36Algorithm for Choosing Prescribed Control Points
- Systematically prescribe a set of control points
- The rest of the control points are computed
efficiently via propagation - The resulting surface has guaranteed continuity
- We look at both equilateral and irregular
triangulations
37Prescription around a Vertex
38Prescription along the Edges
39Prescription 6 patches
40Irregular Triangulations
- Algorithm adapts with minimal modifications
- Complexity remains the same
- Any three non-collinear points are picked at the
corners - We have similar quadrilaterals instead of
parallelograms along the edges
41Closed Surfaces
- The method generalizes to one that is based on a
triangulated polyhedron - Algebraic topology offers some insights
- Example
- Triangulation of a sphere
42Geometric Continuity
- Fitting a parametrically continuous surface over
a triangulated polyhedron cannot always be done - Two surface patches F and G are said to be
- -continuous at the joining point a if and
only if there exist two reparameterizations - and
such that - and are
-continuous at a
43Icosahedron
- The simplest local reparameterization maps were
chosen. - The experimental results are surprisingly good.
44Examples
45And now, cheese and dessert!
46Marcelo Siqueiras work
- Ph.D dissertation in progress
- Generating provably good 2D and 3D meshes from
biomedical imaging data
47Mesh Generation (1)
- Given a polygonal region (resp. polyhedron) ? in
R2, a mesh of ? is a collection T of triangles
(resp.. tetrahedra) such that - the union of all triangles (resp. tetrahedra) in
T is equal to ? and, - for any two t1 and t2 in T, the intersection of
t1 and t2 is either empty or a common vertex,
edge, or face (if t1 and t2 are tetrahedra) of t1
and t2.
48Mesh Generation (2)
- The mesh generation problem finding a mesh for a
given polygonal region (polyhedron) ?. - We can add more constraints to the above problem.
For instance - We may ask for a mesh T such that T has mostly
well-shaped triangles (resp. tetrahedra). - We can formally define what we mean by
welll-shaped. For instance, we can assume that
a triangle is well-shaped if it has no angle
smaller than 30o. - We can also ask for a mesh T in which the area of
the triangles in a given region of ? does not
exceed a given upper bound.
49Mesh Generation (3)
- The problem of generating a mesh for a polygonal
region such that mesh triangles are mostly
well-shaped is well understood. There are very
good solutions available. - However, the problem of generating a mesh for a
polyhedron such that mesh tetrahedra are mostly
well-shaped is not so well understood. - There are several open questions related to this
problem. You can find some of these questions in - http//www.ics.uci.edu/eppstein/280g/open.html
50Mesh Generation (4)
- Why is the mesh generation problem important?
- The availability of a mesh for a domain is an
essential prerequisite for the use of powerful
numerical methods to solve PDEs, such as the
Finite Element Method (FEM). - The accuracy of the solution provided by such
numerical methods is highly dependent on a
variety of mesh parameters, one of which is the
shape and the number of mesh triangles (resp.
tetrahedra).
51Mesh Generation from Imaging Data (1)
- We are interested in generating meshes from 2D
and 3D digital images. - A digital image can be seen as a map that assigns
a real value (color) to points of a 2D or 3D
grid of integer points. - Since a digital image is a map rather than a
polygonal region or a polyhedron, what do we mean
by generating a mesh from a 2D or a 3D digital
image?
52Mesh Generation from Imaging Data (2)
- We perceive the integer points of the image
domain as points in R2 (resp. R3) with integer
coordinates, and consider the polygonal region
(resp. polyhedron) defined by the pixels (resp.
voxels) corresponding to the image points.
53Mesh Generation from Imaging Data (3)
- We want our meshes to respect the boundaries
between polygonal regions (polyhedra) defined by
pixels (resp. voxels) whose points are assigned
the same color.
54Mesh Generation from Imaging Data (4)
- Our motivation for generating meshes from images
is to enable the use of numerical methods such as
the FEM on imaging data. - Images adds new challenges to the mesh generation
problem - The polygonal regions (resp. polyhedra) obtained
from a 2D (resp. 3D) digital image tend to have
too many vertices, edges, and faces, which causes
meshing algorithms to generate an excessive
number of triangles (tetrahedra) near the
boundary of the polygonal regions (resp.
polyhedra). - In our work, we solve the above problem using
some of the CAGD tools we saw before.
55Thanks! For more challenges, come and
talk to me.