Mathematical Topics

27
Mathematical Topics Review of some concepts: trigonometry aliasing coordinate systems homogeneous coordinates matrices, quaternions

description

Mathematical Topics . Review of some concepts: trigonometry aliasing coordinate systems homogeneous coordinates matrices, quaternions. Vectors. v = ai + bj + ck Describes point or displacement in n-dimensional space Addition, subtraction Multiplication scalar times vector - PowerPoint PPT Presentation

Transcript of Mathematical Topics

Page 1: Mathematical Topics

Mathematical Topics

Review of some concepts: trigonometry aliasing coordinate systems homogeneous coordinates

matrices, quaternions

Page 2: Mathematical Topics

Vectors

v = ai + bj + ckDescribes point or displacement in n-

dimensional spaceAddition, subtractionMultiplication

scalar times vector dot product cross product (only in 3D)

Page 3: Mathematical Topics

Polar Coordinates

θ

r

x = r cos θy = r sin θ

Page 4: Mathematical Topics

Trigonometry

sin and cos, arcsin, arccos, tan, arctanRelationships between angles and lengths of

sides of triangles"Old Hands Always Help One Another"

mnemonic for right trianglesAxes form right triangle

x = r cos θy = r sin θθ

r

Page 5: Mathematical Topics

Cylindrical Coordinates

3D generalization of polar coordinates

r

θ θ

r

z

x = r cos θy = r sin θz = z

Page 6: Mathematical Topics

Spherical Coordinates

r

θ

φ

θ

r

x = r cos θ sin φy = r sin θ sin φz = r cos φ

θ in (0,2π)φ in (0,π)

Page 7: Mathematical Topics

Homogeneous Coordinates

In Cartesian coordinates, a point is (x, y, z)In homogeneous coordinates, (x, y, z, 1)

generally, (x, y, z, w)

Homogenization: (x/w, y/w, z/w, 1) The following points are equivalent:

(1,2,3,1) (2,4,6,2) (10,20,30,10)

Used for translation, revisit when we do perspective

Page 8: Mathematical Topics

Matrices

2d array of scalarsCan be thought of as "vector of vectors"Encodes a set of linear equations

"linear" because each variable has power 1 max

Main operation: multiplicationAddition possible (rarely used in graphics)

A + B given by entrywise addition of A[i][j]+B[i][j]

Page 9: Mathematical Topics

Matrix Multiplication

multiply a matrix and a scalar: s*A given by entrywise multiplication of s*A[i][j]

multiply a vector and a matrix result is a vector of appropriate length

multiply two matrices result is a matrix of appropriate dimensions

Page 10: Mathematical Topics

Matrix Operation Properties

A(BC) = (AB)C Multiplication is associative

AB != BA (in general) Multiplication is not commutative

Implications for coordinate transforms: We can gather transforms into a single matrix We must do elementary transforms in the proper

order – translate then scale != scale then translate

Page 11: Mathematical Topics

Matrix Rotations

We saw how matrices can encode rotationsEuler: any orientation described by axis of

rotation and magnitude of rotation from canonical orientation only need 3 values (2 for unit axis)

Rotation matrix: 9 elements, redundantProblem: composing lots of rotations leads to

transformations that are not rotations numerical errors inevitable skew, distort the model

Page 12: Mathematical Topics

Quaternions

Mathematical entity made up of a scalar and a vector

q = s+ u, q' = c' + u'q = s + (xi + yj + zk)

q + q': entrywise additionq * q' = s*s' - u∙u' + (u x u' + s*u' + s' * u)Multiplicative identity: 1 + (0,0,0)

Page 13: Mathematical Topics

Imaginary Numbers

Recall complex numbers, a+bi, i = sqrt(-1)Have geometric interpretation: points in 2D

Quaternions: generalized complex numbers

Im

Re

Page 14: Mathematical Topics

4D Complex Numbers

i2 = j2 = k2 = -1ij = kji = -ka + bi + cj + dk4D imaginary number, or (s, v) with vector

interpretation of i, j, k arithmetical properties of quaternions follow from the

complex interpretation

Page 15: Mathematical Topics

Quaternions for Rotation

A rotation is really just an axis and an angleQuaternion as rotation

q = (s,v) vector (axis of rotation) scalar (amount of rotation)

Can convert quaternion to rotation matrix, or apply to vector directly (XNA supports both)

Page 16: Mathematical Topics

Quaternion Rotations

Written as (cos(θ/2), v sin(θ/2))"Unit quaternion": q∙q = 1 (if v is a unit

vector)Maintain unit quaternion by normalizing vWhy not use s for angle, v for axis directly?

lack ability to normalize (trivial objection) difficult to compose rotations (serious)

“In mathematics you don't understand things. You just get used to them.” (von Neumann)

Page 17: Mathematical Topics

Composing Rotations

With two rotations, say q1 and q2, we can create a composite rotation q3 = q1*q2

XNA: Quaternion.Multiply(q1, q2);

Note: quaternion multiplication not commutative, just as rotations are not commutative (order matters)

Page 18: Mathematical Topics

Inverting Rotations

If you do a rotation of s about axis v... quaternion (s,v)

...you can reverse it by rotating by –s about v quaternion (-s,v) – but AVOID

preferred method is to rotate by s about –v superior theoretical properties same meaning

strange fact: (s, v) = (-s, -v) geometrically

Page 19: Mathematical Topics

Quaternion Rotation

Arbitrary vector r can be written in quaternion form as (0, r)

To rotate a vector r by θ about axis v: take q = (cos(θ/2), v sin(θ/2) ) Let p = (0,r) obtain p' from the quaternion resulting from qpq-1

p' = (0, r') r' is the rotated vector r

Page 20: Mathematical Topics

Quaternion Properties

Advantages: reasonably compact normalization enforces legitimate rotations interpolation of orientation well-defined

useful for animation, will not use much in this courseDisadvantages

no significant technical disadvantages requires 4 coordinates, possible to use 3

difficult to understand, develop intuition for

Page 21: Mathematical Topics

Aliasing

General term nowadays, like "bug": visual defect in computer graphics program

Properly, narrow definition: mismatch between sampling rate and underlying signal

Underlying signal: image, texture, synthetic structure

Sampling rate: one sample per pixel (?)

Page 22: Mathematical Topics

["Reflection",Nathan Sawaya]

Page 23: Mathematical Topics

Reconstructed signal will not matchreal signal

Page 24: Mathematical Topics

Moire pattern

Page 25: Mathematical Topics

Sampling Limit

Need two samples per period of signalIf signal has maximum frequency < B, spatial

sampling rate 1/(2B) sufficient

In practice, output sampling (display) fixedNeed to control signal “Don’t wear stripes on television”

Page 26: Mathematical Topics

Antialiasing

Pixel resolution fixedBut, can use more than one sample per pixel

Antialiasing strategy: compute multiple samples, average them

Recent improvements: try not to average across an edge

Page 27: Mathematical Topics

Antialiasing

Nvidia 2003