Background%20Mathematics - PowerPoint PPT Presentation

About This Presentation
Title:

Background%20Mathematics

Description:

Background Mathematics. Aaron Bloomfield. CS 445: Introduction to Graphics. Fall 2006 ... A very brief review of some mathematical tools we'll employ. Geometry ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 25
Provided by: davidp93
Category:

less

Transcript and Presenter's Notes

Title: Background%20Mathematics


1
Background Mathematics
  • Aaron Bloomfield
  • CS 445 Introduction to Graphics
  • Fall 2006

2
Mathematical Foundations
  • A very brief review of some mathematical tools
    well employ
  • Geometry (2D, 3D)
  • Trigonometry
  • Vector and affine spaces
  • Points, vectors, and coordinates
  • Dot and cross products
  • Linear transforms and matrices

3
3D Geometry
  • To model, animate, and render 3D scenes, we must
    specify
  • Location
  • Displacement from arbitrary locations
  • Orientation
  • Well look at two types of spaces
  • Vector spaces
  • Affine spaces
  • We will often be sloppy about the distinction

4
Vector Spaces
  • Given a basis for a vector space
  • Each vector in the space is a unique linear
    combination of the basis vectors
  • The coordinates of a vector are the scalars from
    this linear combination
  • Best-known example Cartesian coordinates
  • Note that a given vector will have different
    coordinates for different bases

5
Vectors And Points
  • We commonly use vectors to represent
  • Direction (i.e., orientation)
  • Points in space (i.e., location)
  • Displacements from point to point
  • But we want points and directions to behave
    differently
  • Ex To translate something means to move it
    without changing its orientation
  • Translation of a point different point
  • Translation of a direction same direction

6
Affine spaces vs. Vector spaces
  • Vector spaces
  • All vectors originate at the origin
  • Thus, can be denoted with (x,y,z) coordinates
  • The head of the vector
  • The origin is absolute
  • Affine spaces
  • Vectors can start at an arbitrary point
  • Thus, can be denoted via (x,y,z) and starting
    point P
  • The origin is relative to the current context
  • Only when the distinction matters will we specify

7
Affine Spaces
  • To be more rigorous, we need an explicit notion
    of position
  • Affine spaces add a third element to vector
    spaces points (P, Q, R, )
  • Points support these operations
  • Point-point subtraction Q - P v
  • Result is a vector pointing from P to Q
  • Vector-point addition P v Q
  • Result is a new point
  • P 0 P
  • Note that the addition of two points is not
    defined

Q
v
P
8
Affine Spaces
  • Points, like vectors, can be expressed in
    coordinates
  • The definition uses an affine combination
  • Net effect is same expressing a point in terms
    of a basis
  • Thus the common practice of representing points
    as vectors with coordinates
  • Be careful to avoid nonsensical operations
  • Point point
  • Scalar point

9
Affine Lines An Aside
  • Parametric representation of a line with a
    direction vector d and a point P1 on the line
  • P(a) Porigin ad
  • Restricting 0 ? a produces a ray
  • Setting d to P - Q and restricting 0 ? a ? 1
    produces a line segment between P and Q

10
Dot Product
  • The dot product or, more generally, inner product
    of two vectors is a scalar
  • v1 v2 x1x2 y1y2 z1z2 (in 3D)
  • Useful for many purposes
  • Computing the length of a vector
  • length(v) v sqrt(v v)
  • Normalizing a vector, making it unit-length
  • Divide each coordinate by the length
  • Computing the angle between two vectors
  • u v u v cos(?)
  • Checking two vectors for orthogonality
  • Does the angle equal 90º?
  • Projecting one vector onto another

11
Cross Product
  • The cross product or vector product of two
    vectors is a vector
  • Cross product of two vectors is orthogonal to
    both
  • Right-hand rule dictates direction of cross
    product
  • Cross product is handy for finding surface
    orientation
  • Lighting
  • Visibility

12
Linear Transformations
  • A linear transformation
  • Maps one vector to another
  • Preserves linear combinations
  • Thus behavior of linear transformation is
    completely determined by what it does to a basis
  • Turns out any and all linear transformations can
    be represented by a matrix

13
Matrices
  • By convention, matrix element Mrc is located at
    row r and column c
  • This is called row-major order
  • By (OpenGL) convention, vectors are columns
  • And 2-D matrices are in column-major order!

14
Matrices
  • Matrix-vector multiplication applies a linear
    transformation to a vector
  • Recall how to do matrix multiplication

15
Matrix Transformations
  • A sequence or composition of linear
    trans-formations corresponds to the product of
    the corresponding matrices
  • Note the matrices to the right affect vector
    first
  • Note order of matrices matters!
  • The identity matrix I has no effect in
    multiplication
  • Some (not all) matrices have an inverse

16
3D Scene Representation
  • Scene is usually approximated by 3D primitives
  • Point
  • Line segment
  • Polygon
  • Polyhedron
  • Curved surface
  • Solid object
  • etc.

17
3D Point
  • Specifies a location
  • Represented by three coordinates
  • Infinitely small

typedef struct Coordinate x Coordinate
y Coordinate z Point
(x,y,z)
18
3D Vector
  • Specifies a direction and a magnitude
  • Represented by three coordinates
  • Magnitude V sqrt(dx dx dy dy dz dz)
  • Which is the square root of the dot product
  • Has no location (in affine spaces!)
  • Dot product of two 3D vectors
  • V1V2 dx1dx2 dy1dy2 dz1dz2
  • V1V2 V1 V2 cos(Q)

(dx,dy,dz)
typedef struct Coordinate dx Coordinate
dy Coordinate dz Vector
(dx2,dy2 ,dz2)
Q
19
3D Line Segment
  • Use a linear combination of two points
  • Parametric representation
  • P P1 t (P2 - P1), (0 ? t ? 1)

typedef struct Point P1 Point P2 Segment
P2
P1
20
3D Ray
  • Line segment with one endpoint at infinity
  • Parametric representation
  • P P1 t V, (0 lt t lt ?)

typedef struct Point P1 Vector V Ray
V
P1
21
3D Line
  • Line segment with both endpoints at infinity
  • Parametric representation
  • P P1 t V, (-? lt t lt ?)

typedef struct Point P1 Vector V Line
V
P1
22
3D Plane
  • A combination of three non-linear points
  • Implicit representation
  • N d 0, or
  • ax by cz d 0
  • N is the plane normal
  • Unit-length vector
  • Perpendicular to plane

typedef struct Vector N Distance d Plane
P3
P2
P1
23
3D Polygon
  • Area inside a sequence of coplanar points
  • Triangle
  • Quadrilateral
  • Convex
  • Star-shaped
  • Concave
  • Self-intersecting
  • Points are in counter-clockwise order
  • Holes (use gt 1 polygon struct)

typedef struct Point points int npoints
Polygon
24
3D Sphere
  • All points at distance r from point (cx, cy,
    cz)
  • Implicit representation
  • (x - cx)2 (y - cy)2 (z - cz)2 r 2
  • Parametric representation
  • x r cos(?) cos(?) cx
  • y r cos(?) sin(?) cy
  • z r sin(?) cz

typedef struct Point center Distance
radius Sphere
Write a Comment
User Comments (0)
About PowerShow.com