Geometric Modeling 91.580.201 - PowerPoint PPT Presentation

About This Presentation
Title:

Geometric Modeling 91.580.201

Description:

Affine Maps ... Examples of affine transformations (can be composed using matrix multiplication ... to straight lines and is ratio preserving is an affine map. ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 37
Provided by: Kar9281
Learn more at: https://www.cs.uml.edu
Category:

less

Transcript and Presenter's Notes

Title: Geometric Modeling 91.580.201


1
Geometric Modeling91.580.201
  • Mortenson Chapter 1
  • (including some material from Farin Ch. 2)

2
Vector Properties
scalar (dot) product
vector (cross) product
Direction cosines
source Mortenson
3
Matrix 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
4
Matrix 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
5
Matrix Properties (continued)
source Mortenson
6
Geometric Modeling91.580.201
  • Farin Chapters 2,3
  • (including some 91.504 material from ORourke)

7
Points 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
8
Barycentric Coordinates in the Plane
source Farin
9
Linear Interpolation
source Farin
10
Affine 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
11
Affine 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
12
Linear Interpolation
  • Linear interpolation
    is affinely invariant

source Farin
13
More 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
14
Function 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
15
Function 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
16
Variation Diminishing Property
source Farin
17
Menelaos Theorem
useful in proof of many algorithms
source Farin
18
Blossoms
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
19
Common Computational Geometry Structures
Convex Hull
Voronoi Diagram
New Point
Delaunay Triangulation
source ORourke, Computational Geometry in C
20
Geometric Modeling91.580.201
  • OpenGL

21
OpenGL 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
22
OpenGL 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
23
Window and Viewport
source Hill / Kelley
24
OpenGL 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
25
OpenGL Geometric Primitives
sourceon-line OpenGL Programming Guide (see
course web site for link)
26
OpenGL 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
27
GL Utility Toolkit (GLUT)
  • Event-driven, interactive windowing support
  • call-back functions

28
sourcehttp//www.avl.iu.edu/ewernert/b581/lectur
es/12.1/index.html
29
OpenGL and GLUT part of HW1
  • Starting point articulated robot by Michelle
    Daniels

30
OpenGL and GLUT part of HW1
  • Add some GLUT objects to the scene.

31
Geometric Modeling91.580.201
  • Polyhedra

source ORourke, Computational Geometry in C
32
Polyhedra 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
33
Polyhedra 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
34
Polyhedra Eulers Formula
V - E F 2
  • Proof has 3 parts
  • 1) Convert polyhedron surface to planar graph
  • 2) Tree theorem
  • 3) Proof by induction

35
Polyhedral 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

36
Polyhedral 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
Write a Comment
User Comments (0)
About PowerShow.com