1 / 31

CS 551 / 645: Introductory Computer Graphics

CS 551 / 645: Introductory Computer Graphics. Mathematical Foundations. From last class…. U.S. film projectors play film at 24 fps Projectors have a shutter to block light during frame advance To reduce flicker, shutter opens twice for each frame – resulting in 48 fps flashing

eben
Download Presentation

CS 551 / 645: Introductory Computer Graphics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 551 / 645: Introductory Computer Graphics Mathematical Foundations

  2. From last class… • U.S. film projectors play film at 24 fps • Projectors have a shutter to block light during frame advance • To reduce flicker, shutter opens twice for each frame – resulting in 48 fps flashing • 48 fps is perceptually acceptable • European film projectors play film at 25 fps • American films are played ‘as is’ in Europe, resulting in everything moving 4% faster • Faster movements and increased audio pitch are considered perceptually acceptable

  3. From last class… • Film to DVD transfer • Problem: 24 film fps must be converted to television interlaced 29.97 (30) fps • Use 3:2 Pulldown • First frame of movie is broken into first three frames • Next frame of movie is broken into next two frames • Next frame of movie is broken into next three frames…

  4. From last class…

  5. Additional Displays • Display Walls (Princeton)

  6. Additional Displays • Stereo

  7. Mathematical Foundations • Hearn and Baker (A1 – A4) appendix gives good review • I’ll give a brief, informal review of some of the mathematical tools we’ll employ • Geometry (2D, 3D) • Trigonometry • Vector spaces • Points, vectors, and coordinates • Dot and cross products • Linear transforms and matrices

  8. 2D Geometry • Know your high school geometry: • Total angle around a circle is 360° or 2π radians • When two lines cross: • Opposite angles are equivalent • Angles along line sum to 180° • Similar triangles: • All corresponding angles are equivalent

  9. Trigonometry • Sine: “opposite over hypotenuse” • Cosine: “adjacent over hypotenuse” • Tangent: “opposite over adjacent” • Unit circle definitions: • sin () = x • cos () = y • tan () = x/y • Etc… (x, y)

  10. Slope-intercept Line Equation Slope = m = rise / run Slope = (y - y1) / (x - x1) = (y2 - y1) / (x2 - x1) Solve for y: y = [(y2 - y1)/(x2 - x1)]x + [-(y2-y1)/(x2 - x1)]x1 + y1 or: y = mx + b P = (x, y) y P2 = (x2, y2) P1 = (x1, y1) x

  11. Parametric Line Equation • Given points P1 = (x1, y1) and P2 = (x2, y2) x = x1 + t(x2 - x1) y = y1 + t(y2 - y1) • When: • t=0, we get (x1, y1) • t=1, we get (x2, y2) • (0<t<1), we get pointson the segment between(x1, y1) and (x2, y2) y P2 = (x2, y2) P1 = (x1, y1) x

  12. Other helpful formulas • Length = sqrt (x2 - x1)2 + (y2 - y1)2 • Midpoint, p2, between p1 and p3 • p2 = ((x1 + x3) / 2, (y1 + y3) / 2)) • Two lines are perpendicular if: • M1 = -1/M2 • cosine of the angle between them is 0

  13. Y Y Z X X Z Coordinate Systems • Grasp z-axis with hand • Roll fingers from positive x-axis towards positive y-axis • Thumb points in direction of z-axis Left-handed Right-handed coordinate coordinate system system

  14. Points • Points support these operations • Point-point subtraction: Q - P = v • Result is a vector pointing fromPtoQ • Vector-point addition: P + v = Q • Result is a new point • Note that the addition of two points is not defined Q v P

  15. Vectors • We commonly use vectors to represent: • Points in space (i.e., location) • Displacements from point to point • Direction (i.e., orientation)

  16. Vector Spaces • Two types of elements: • Scalars (real numbers): a, b, g, d, … • Vectors (n-tuples):u, v, w, … • Operations: • Addition • Subtraction • Dot Product • Cross Product • Norm

  17. u+v y v u x Vector Addition/Subtraction • operation u + v, with: • Identity 0v + 0 = v • Inverse -v + (-v) = 0 • Vectors are “arrows” rooted at the origin • Addition uses the “parallelogram rule”: y v u x -v u-v

  18. Scalar Multiplication • Scalar multiplication: • Distributive rule: a(u + v) = a(u) + a(v) (a + b)u = au + bu • Scalar multiplication “streches” a vector, changing its length (magnitude) but not its direction

  19. v θ 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 (Euclidean Norm) of a vector: length(v) = ||v|| = sqrt(v • v) • Normalizing a vector, making it unit-length: v = v / ||v|| • Computing the angle between two vectors: u • v = |u| |v| cos(θ) • Checking two vectors for orthogonality • u • v = 0.0 u

  20. Dot Product • Projecting one vector onto another • If v is a unit vector and we have another vector, w • We can project w perpendicularly onto v • And the result, u, has length w • v w v u

  21. Dot Product • Is commutative • u • v = v • u • Is distributive with respect to addition • u • (v + w) = u • v + u • w

  22. Cross Product • The cross product or vector product of two vectors is a vector: • The cross product of two vectors is orthogonal to both • Right-hand rule dictates direction of cross product

  23. Cross Product Right Hand Rule • See: http://www.phy.syr.edu/courses/video/RightHandRule/index2.html • Orient your right hand such that your palm is at the beginning of A and your fingers point in the direction of A • Twist your hand about the A-axis such that B extends perpendicularly from your palm • As you curl your fingers to make a fist, your thumb will point in the direction of the cross product

  24. Cross Product Right Hand Rule • See: http://www.phy.syr.edu/courses/video/RightHandRule/index2.html • Orient your right hand such that your palm is at the beginning of A and your fingers point in the direction of A • Twist your hand about the A-axis such that B extends perpendicularly from your palm • As you curl your fingers to make a fist, your thumb will point in the direction of the cross product

  25. Cross Product Right Hand Rule See: http://www.phy.syr.edu/courses/video/RightHandRule/index2.html Orient your right hand such that your palm is at the beginning of A and your fingers point in the direction of A Twist your hand about the A-axis such that B extends perpendicularly from your palm As you curl your fingers to make a fist, your thumb will point in the direction of the cross product

  26. Cross Product Right Hand Rule See: http://www.phy.syr.edu/courses/video/RightHandRule/index2.html Orient your right hand such that your palm is at the beginning of A and your fingers point in the direction of A Twist your hand about the A-axis such that B extends perpendicularly from your palm As you curl your fingers to make a fist, your thumb will point in the direction of the cross product

  27. Cross Product Right Hand Rule See: http://www.phy.syr.edu/courses/video/RightHandRule/index2.html Orient your right hand such that your palm is at the beginning of A and your fingers point in the direction of A Twist your hand about the A-axis such that B extends perpendicularly from your palm As you curl your fingers to make a fist, your thumb will point in the direction of the cross product

  28. Triangle Arithmetic b • Consider a triangle, (a, b, c) • a,b,c = (x,y,z) tuples • Surface area = sa = ½ * ||(b –a) X (c-a)|| • Unit normal = (1/2sa) * (b-a) X (c-a) a c

  29. Vector Spaces • A linear combination of vectors results in a new vector: v= a1v1 + a2v2 + … + anvn • If the only set of scalars such that a1v1 + a2v2 + … + anvn = 0 is a1 = a2 = … = a3 = 0 then we say the vectors are linearly independent • The dimension of a space is the greatest number of linearly independent vectors possible in a vector set • For a vector space of dimension n, any set of n linearly independent vectors form a basis

  30. Vector Spaces: Basis Vectors • 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 • If basis vectors are orthogonal and unit length: • Vectors comprise orthonormal basis • Best-known example: Cartesian coordinates • Note that a given vector v will have different coordinates for different bases

  31. Conclusion • Read Chapters 1 – 3 of OpenGL Programming Guide • Assignment 1 out today, due 8 days from now, Wednesday the 12th

More Related