Title: Geometric Modeling 91.580.201
1Geometric Modeling91.580.201
- Mortenson Chapter 1
- (including some material from Farin Ch. 2)
2Vector Properties
scalar (dot) product
vector (cross) product
Direction cosines
source Mortenson
3Matrix Properties
- Special square matrices
- - Diagonal 0 elements except on main diagonal
- Identity matrix
- Symmetric matrix symmetric about main diagonal
- Antisymmetric (skew symmetric) aij - aji
Transpose AT (AAT)T AAT
- Determinant properties A
- A AT
- AB AB
source Mortenson
4Matrix Properties (continued)
- Eigenvalues and Eigenvectors
- - Let p be a point and A be a transformation
matrix. - - Suppose that scalar l exists such that Ap lp.
- Each vector for which Ap lp is true is an
eigenvector of A. - - Each scalar l for which Ap lp is true is an
eigenvalue of A corresponding to p. - Characteristic equation ( if )
A-lI0. Solutions are eigenvalues of A. - Finding eigenvectors (see Introduction to
Linear Algebra by Krause) - Theorem A linear transformation has a diagonal
matrix there is a basis of eigenvectors
of that matrix.
Also in Ch. 2 of Farin Eigenvectors can be used
to determine axes of norm ellipse for a 2D set of
points whose centroid is at origin. Eigenvalues
give lengths of ellipses axes. This helps to
characterize the point set.
sources Mortenson, Farin
5Matrix Properties (continued)
source Mortenson
6Geometric Modeling91.580.201
- Farin Chapters 2,3
- (including some 91.504 material from ORourke)
7Points and Vectors
Barycentric combination of points
Note some as may be negative.
Example center of gravity
Special case convex combination of points as
must all be positive.
Convex Hull of a set of points is the set of all
convex combinations of points in the set.
sources Farin, ORourke
8Barycentric Coordinates in the Plane
source Farin
9Linear Interpolation
source Farin
10Affine Maps
- A map F that maps E3 into itself is an affine map
if it leaves barycentric combinations invariant. - So, if
- and F is an affine map, then
- Formulation for a point x in a coordinate system
with a 3x3 matrix A and vector from R3
source Farin
11Affine Maps (continued)
- Examples of affine transformations
(can be composed using matrix
multiplication to form chains of transformations)
- Identity A I and v 0. x is unchanged.
- Translation A I and v translation vector. x
is shifted by v. - Scaling A is a diagonal matrix and v 0. x is
stretched. - Rotation A is a rotation matrix (for rotation
about an axis) and v 0. x is rotated about the
associated axis. - Shear A is I with some 0 elements replaced by
non-0 value(s). v 0. Effect on x is like
tilting an axis. - Parallel projection center of projection is at
infinity, so that there is a single viewing
direction. Primary types are oblique and
orthographic. - Rigid Body Motions preserve lengths and angles.
ATA I. - Translations and Rotations are examples.
source Farin
12Linear Interpolation
- Linear interpolation
is affinely invariant
source Farin
13More on Affine Maps
- Every map that takes straight lines to straight
lines and is ratio preserving is an affine map. - For 3 collinear points a, b, c
- where vol1 denotes one-dimensional volume.
source Farin
14Function Spaces
- This material will simplify notation later.
- Let Ca,b be set of all real-valued continuous
functions defined over a,b . - Ca,b forms a linear space over the reals if
- For
- n functions are
linearly independent if
source Farin
15Function Spaces (continued)
- Some useful subspaces of Ca,b
- Polynomials of degree n
- Monomials are linearly
independent and form a basis for the polynomials. - A linear transformation preserves linear
combinations - Piecewise linear functions over a fixed partition
of a,b. Hat
functions form a basis.
source Farin
16Variation Diminishing Property
source Farin
17Menelaos Theorem
useful in proof of many algorithms
source Farin
18Blossoms
Example of a blossom
- In general, a blossom is an n-variate function
bt1,, tn from Rn to E2 or E3 with properties - Symmetry
- Multiaffinity
- Diagonality
where p denotes permutation
where indicates same arguments on both sides
where argument is repeated n times
This determines a polynomial curve.
Special case has Leibniz formula
source Farin
19Common Computational Geometry Structures
Convex Hull
Voronoi Diagram
New Point
Delaunay Triangulation
source ORourke, Computational Geometry in C
20Geometric Modeling91.580.201
21OpenGL Overview
- Open-Source Graphics API Specification
- Hardware-independent
- Operating system independent
- Vendor-neutral
- Bindings for C and some other languages
- Client/server paradigm
- Managed by OpenGL Architecture Review Board
sourcehttp//web.cs.wpi.edu/matt/courses/cs563/t
alks/OpenGL_Presentation/OpenGL_Presentation.html
22OpenGL Graphics Pipeline
store commands for later use
produce fragments (series of framebuffer
addresses and values)
stores pixel values for bit planes
evaluate polynomial functions
transformation,lighting, clipping, projection,
viewport selection
hidden surface removal via depth (z)-buffering
sourcehttp//web.cs.wpi.edu/matt/courses/cs563/t
alks/OpenGL_Presentation/OpenGL_Presentation.html
23Window and Viewport
source Hill / Kelley
24OpenGL Overview
- State-Based stacks maintain state
- Push saves current state
- Pop restores previous state
- Matrix stack for transformations
- Attribute stack for properties such as color
sourcehttp//web.cs.wpi.edu/matt/courses/cs563/t
alks/OpenGL_Presentation/OpenGL_Presentation.html
25OpenGL Geometric Primitives
sourceon-line OpenGL Programming Guide (see
course web site for link)
26OpenGL GLU Evaluators for Curves and Surfaces
Bezier curve with 4 control points
wireframe Bezier surface
lit, shaded Bezier surface using mesh
NURBS surface
sourcehttp//hal.chem.uwm.edu/library/SGI_bookshe
lves/SGI_Developer/books/OpenGL_PG/sgi_html/ch13.h
tml
27GL Utility Toolkit (GLUT)
- Event-driven, interactive windowing support
- call-back functions
28sourcehttp//www.avl.iu.edu/ewernert/b581/lectur
es/12.1/index.html
29OpenGL and GLUT part of HW1
- Starting point articulated robot by Michelle
Daniels
30OpenGL and GLUT part of HW1
- Add some GLUT objects to the scene.
31Geometric Modeling91.580.201
source ORourke, Computational Geometry in C
32Polyhedra What are they?
- Polyhedron generalizes 2D polygon to 3D
- Consists of flat polygonal faces
- Boundary/surface contains
- 0D vertices 1D edges 2D faces
- Components intersect properly. Each face pair
- disjoint or have vertex in common or have
vertex/edge/vertex in common - Local topology is proper
- at every point neighborhood is homeomorphic to
disk - Global topology is proper
- connected, closed, bounded
- may have holes
polyhedra
not polyhedra!
for more examples, see http//www.ScienceU.com/geo
metry/facts/solids/handson.html
33Polyhedra Regular Polytopes
- Convex polyhedra are polytopes
- Regular polyhedra are polytopes that have
- regular faces, faces, solid (dihedral) angles
- There are exactly 5 regular polytopes
Excellent math references by H.S.M. Coxeter -
Introduction to Geometry (2nd edition), Wiley
Sons, 1969 - Regular Polytopes, Dover
Publications, 1973
34Polyhedra Eulers Formula
V - E F 2
- Proof has 3 parts
- 1) Convert polyhedron surface to planar graph
- 2) Tree theorem
- 3) Proof by induction
35Polyhedral Boundary Representations
v7
v2
v1
e1-
v1
es twin
e1
f1
f1
v3
e
v6
e
f0
e0,1
f0
e0
e4,0
v0
v5
v0
e0-
v4
twin edge DCEL doubly connected edge list
winged edge
- represent edge as 2 halves
- lists vertex, face, edge/twin
- more storage space
- facilitates face traversal
- can represent holes with face inner/outer edge
pointer
- focus is on edge
- edge orientation is arbitrary
36Polyhedral Boundary Representations Quad-Edge
e1,1
e0,0
- general subdivision of oriented 2D manifold
- edge record is part of
- endpoint 1 list
- endpoint 2 list
- face A list
- face B list