DOC PREVIEW
UVA CS 445 - Background Mathematics

This preview shows page 1-2-23-24 out of 24 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Background MathematicsMathematical Foundations3D GeometryVector SpacesVectors And PointsAffine spaces vs. Vector spacesAffine SpacesSlide 8Affine Lines: An AsideDot ProductCross ProductLinear TransformationsMatricesSlide 14Matrix Transformations3D Scene Representation3D Point3D Vector3D Line Segment3D Ray3D Line3D Plane3D Polygon3D SphereBackground MathematicsAaron BloomfieldCS 445: Introduction to GraphicsFall 20062Mathematical FoundationsA very brief review of some mathematical tools we’ll employGeometry (2D, 3D)TrigonometryVector and affine spaces Points, vectors, and coordinatesDot and cross productsLinear transforms and matrices33D GeometryTo model, animate, and render 3D scenes, we must specify:LocationDisplacement from arbitrary locationsOrientationWe’ll look at two types of spaces:Vector spacesAffine spacesWe will often be sloppy about the distinction4Vector 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 bases5Vectors 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 direction6Affine 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 specify7Affine 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 definedPQv8Affine 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 * point9Affine Lines: An AsideParametric representation of a line with a direction vector d and a point P1 on the line:P() = Porigin + dRestricting 0   produces a raySetting d to P - Q and restricting 0    1 produces a line segment between P and Q10Dot 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θuv11Cross 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12211221122121)(y x y xz x z xz y z yvv12Linear 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 matrix13Matrices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!mnm2m12n22211n1211MMMMMMMMMM32vvvv114MatricesMatrix-vector multiplication applies a linear transformation to a vector:Recall how to do matrix multiplication-zyxvvvMMMMMMMMMvM33323123222113121115Matrix 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:  vvMM  1163D Scene RepresentationScene is usually approximated by 3D primitivesPointLine segmentPolygonPolyhedronCurved surfaceSolid object etc.173D PointSpecifies a locationRepresented by three coordinatesInfinitely smalltypedef struct {Coordinate x;Coordinate y;Coordinate z;} Point;typedef struct {Coordinate x;Coordinate y;Coordinate z;} Point;(x,y,z)Origin183D 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V1·V2 = dx1dx2 + dy1dy2 + dz1dz2V1·V2 = ||V1 || || V2 || cos()typedef struct {Coordinate dx;Coordinate dy;Coordinate dz;} Vector;typedef struct {Coordinate dx;Coordinate dy;Coordinate dz;} Vector;(dx,dy,dz)(dx2,dy2 ,dz2)193D 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;typedef struct {Point P1;Point P2;} Segment;P1P2Origin203D RayLine segment with one endpoint at infinityParametric representation: P = P1 + t V, (0 <= t < )typedef struct {Point P1;Vector V;} Ray;typedef struct {Point P1;Vector V;}


View Full Document

UVA CS 445 - Background Mathematics

Documents in this Course
Lighting

Lighting

49 pages

Color

Color

20 pages

Clipping

Clipping

10 pages

Shadows

Shadows

95 pages

Color

Color

37 pages

Radiosity

Radiosity

49 pages

Clipping

Clipping

59 pages

Assign 3

Assign 3

28 pages

Splines

Splines

17 pages

Color

Color

17 pages

Load more
Download Background Mathematics
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Background Mathematics and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Background Mathematics 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?