Mathematical Foundations Sections A-1 to A-5 Some of the material in these slides may have been adapted from university of Virginia, MIT and Åbo Akademi.

Slides:



Advertisements
Similar presentations
Demetriou/Loizidou – ACSC330 – Chapter 4 Geometric Objects and Transformations Dr. Giorgos A. Demetriou Dr. Stephania Loizidou Himona Computer Science.
Advertisements

UBI 516 Advanced Computer Graphics
Informationsteknologi Wednesday, November 7, 2007Computer Graphics - Class 51 Today’s class Geometric objects and transformations.
MAE152 Computer Graphicsfor Scientists and Engineers Revision of Matrices Relevance to Graphics.
Geometry (Many slides adapted from Octavia Camps and Amitabh Varshney)
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 : “shiv rpi” Linear Algebra A gentle introduction Linear Algebra has become as basic and as applicable.
Chapter 4.1 Mathematical Concepts
Chapter 4.1 Mathematical Concepts. 2 Applied Trigonometry Trigonometric functions Defined using right triangle  x y h.
CS5500 Computer Graphics March 22, Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 Coordinate-Free Geometry When we learned simple.
Welcome to CSc 830 Advanced Computer Graphics
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Geometry Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and.
CSCE 590E Spring 2007 Basic Math By Jijun Tang. Applied Trigonometry Trigonometric functions  Defined using right triangle  x y h.
3-D Geometry.
3D orientation.
Basic Math Vectors and Scalars Addition/Subtraction of Vectors Unit Vectors Dot Product.
Computer Graphics using OpenGL, 3 rd Edition F. S. Hill, Jr. and S. Kelley Chapter Vector Tools for Graphics.
CS 376b Introduction to Computer Vision 03 / 04 / 2008 Instructor: Michael Eckmann.
Transformations. 2 Angel: Interactive Computer Graphics 3E © Addison-Wesley 2002 Coordinate-Free Geometry When we learned simple geometry, most of us.
Vectors.
Linear Algebra Review CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Geometric Objects and Transformations Geometric Entities Representation vs. Reference System Geometric ADT (Abstract Data Types)
2IV60 Computer Graphics Basic Math for CG
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
COS 397 Computer Graphics Svetla Boytcheva AUBG, Spring 2013.
Graphics CSE 581 – Interactive Computer Graphics Mathematics for Computer Graphics CSE 581 – Roger Crawfis (slides developed from Korea University slides)
6.837 Linear Algebra Review Patrick Nichols Thursday, September 18, 2003.
Patrick Nichols Thursday, September 18, Linear Algebra Review.
Transformations Aaron Bloomfield CS 445: Introduction to Graphics
Recap of linear algebra: vectors, matrices, transformations, … Background knowledge for 3DM Marc van Kreveld.
Chapter 4.1 Mathematical Concepts
Geometry CSC 2141 Introduction to Computer Graphics.
1 Geometry. 2 Objectives Introduce the elements of geometry ­Scalars ­Vectors ­Points Develop mathematical operations among them in a coordinate-free.
Geometric Transformation. So far…. We have been discussing the basic elements of geometric programming. We have discussed points, vectors and their operations.
Computer Graphics in Java1 Objects and Viewers Two basic entities (one object seen from two different positions) :
Computer Graphics Bing-Yu Chen National Taiwan University.
Dx = 2 dy = 3 Y X D Translation A translation is applied to an object by repositioning it along a straight-line path.
Intro to 3D Models Angel Angel: Interactive Computer Graphics5E © Addison-Wesley
6.837 Linear Algebra Review Patrick Nichols Thursday, September 18, 2003.
CSE 681 Review: Transformations. CSE 681 Transformations Modeling transformations build complex models by positioning (transforming) simple components.
Mathematics for Graphics. 1 Objectives Introduce the elements of geometry  Scalars  Vectors  Points Develop mathematical operations among them in a.
CS 376 Introduction to Computer Graphics 02 / 16 / 2007 Instructor: Michael Eckmann.
16/5/ :47 UML Computer Graphics Conceptual Model Application Model Application Program Graphics System Output Devices Input Devices API Function.
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 52 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 52 Computer Graphics Three-Dimensional Graphics I.
Background Mathematics Aaron Bloomfield CS 445: Introduction to Graphics Fall 2006.
CS 551 / 645: Introductory Computer Graphics Mathematical Foundations.
Geometric Transformations
3D Transformation A 3D point (x,y,z) – x,y, and z coordinates
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner Math Basics Week 1, Fri.
Affine Geometry.
CSCE 552 Fall 2012 Math By Jijun Tang. Applied Trigonometry Trigonometric functions  Defined using right triangle  x y h.
David Luebke2/16/2016 CS 551 / 645: Introductory Computer Graphics Mathematical Foundations The Rendering Pipeline.
Vectors and Scalars and Their Physical Significance.
2/28/2016 CS 551 / 645: Introductory Computer Graphics Framebuffer Mathematical Foundations The Rendering Pipeline.
Computer Graphics I, Fall 2010 Geometry.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Geometric Transformations Ceng 477 Introduction to Computer Graphics Computer Engineering METU.
Chapter 4.1 Mathematical Concepts. 2 Applied Trigonometry "Old Henry And His Old Aunt" Defined using right triangle  x y h.
David Luebke6/12/2016 CS 551 / 645: Introductory Computer Graphics David Luebke
Graphics Graphics Korea University kucg.korea.ac.kr Mathematics for Computer Graphics 고려대학교 컴퓨터 그래픽스 연구실.
Introduction; Mathematical Foundations CS 445/645 Introduction to Computer Graphics David Luebke, Spring 2003.
CA 302 Computer Graphics and Visual Programming
CSC461: Lecture 12 Geometry Objectives
Lecture 03: Linear Algebra
Joshua Barczak CMSC 435 UMBC
CSE 411 Computer Graphics Lecture #2 Mathematical Foundations
CS 551 / 645: Introductory Computer Graphics
Game Programming Algorithms and Techniques
Presentation transcript:

Mathematical Foundations Sections A-1 to A-5 Some of the material in these slides may have been adapted from university of Virginia, MIT and Åbo Akademi University

2 Mathematical Foundations ● I’ll give a brief, informal review of some of the mathematical tools we’ll employ ■ Geometry (2D, 3D) ■ Trigonometry ■ Vector and affine spaces ○ Points, vectors, and coordinates ■ Dot and cross products ■ Linear transforms and matrices ● I know that everyone knows that…

3 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 ○ Corresponding pairs of sides have the same length ratio and are separated by equivalent angles ○ Any corresponding pairs of sides have same length ratio

4 Trigonometry ● Sine: “opposite over hypotenuse” ● Cosine: “adjacent over hypotenuse” ● Tangent: “opposite over adjacent” ● Unit circle definitions: ■ sin (  ) = y/z ■ cos (  ) = x/z ■ tan (  ) = y/x ■ Z = sqrt(x 2 + y 2 ) ■ Degrees vs Radians ■ Etc… y x Z 

5 3D 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 distinction

6 Co-ordinates ● Cartesian ■ 3 Perpendicular Axes ■ Right Hand Rule ● Curvilinear ■ Any non-cartesian ■ Formed by the intersection of any 3 surfaces ■ Each Surface is constructed by fixinging one co-ordinate ■ May be orthogonal y x z

7 Cylindrical Co-ordinate  z Related to Cartesian A surface is formed by fixing one co-ordinate Plane including the z-axis is formed by fixing  Plane intersecting z-axis is formed by fixing z Cylinder is formed by fixing   x-axis y-axis ● How to convert from Cylindrical to Cartesian

8 Polar Co-ordinates 3 co-ordinates:  Surface of constant  is sphere Surface of constant  is a cone Surface of a constant  is a plane including z- axis  z  x-axis y-axis  ● How to convert from Polar to Cartesian

9 Vector Spaces ● A space is basically a set of elements with operations defined on the elements ● Two types of elements: ■ Scalars (real numbers):  … ■ Vectors (n-tuples): u, v, w, … ● Supports two operations: ■ Addition operation u + v, with: ○ Identity 0 v + 0 = v ○ Inverse - v + (- v ) = 0 ■ Scalar multiplication: ○ Distributive rule:  ( u + v ) =  ( u ) +  ( v ) (  +  ) u =  u +  u

10 Vector Spaces ● A linear combination of vectors results in a new vector: v =  1 v 1 +  2 v 2 + … +  n v n ● If the only set of scalars such that  1 v 1 +  2 v 2 + … +  n v n = 0 is  1 =  2 = … =  3 = 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

11 Vector Spaces: A Familiar Example ● Our common notion of vectors in a 2D plane is (you guessed it) a vector space: ■ Vectors are “arrows” rooted at the origin ■ Scalar multiplication “streches” the arrow, changing its length (magnitude) but not its direction ■ Addition can be constructed using parallelogram ( “trapezoid rule”) u+v y x u v

12 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 ■ Orthonormal Basis ○ Orthogonal u k.u j = 0, j  k ○ Unit length u k.u k = 1 ■ Best-known example: Cartesian coordinates ○ Draw example on the board ○ (i, j, k) ■ Note that a given vector v will have different coordinates for different bases

13 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

14 Affine Spaces ● An affine space is what is left of a vector space after you've forgotten which point is the origin. ● 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 undefined ■ Scaler times point is undefined P Q v

15 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

16 Affine Lines: An Aside ● Parametric representation of a line with a direction vector d and a point P 1 on the line: P(  ) = P origin +  d ● Restricting 0   produces a ray in the direction of the vector d ● Setting d to P - Q and restricting 1    0 produces a line segment between P and Q

17 Dot Product ● The dot product or, more generally, inner product of two vectors is a scalar: v 1 v 2 = x 1 x 2 + y 1 y 2 + z 1 z 2 (in 3D) ● Useful for many purposes ■ Computing the length of a vector: length(v) = sqrt(v v) ■ Normalizing a vector, making it unit-length ■ Computing the angle between two vectors: u v = |u| |v| cos(θ) ■ Checking two vectors for orthogonality ■ Projecting one vector onto another θ u v

18 Cross Product ● The cross product or vector product of two vectors is a vector: ● v 1 xv 2 = u|v 1 ||v 2 |sin  ● 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 ● Not Associative ● Distributive

19 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 linear transform can be represented by a matrix

20 Matrices ● By convention, matrix element M rc is located at row r and column c: ● By convention (mathematical), vectors are columns:

21 Matrices ● Matrix-vector multiplication applies a linear transformation to a vector: ● Recall how to do matrix multiplication ● Dot product ● Cross product is the determinant of a matrix

22 Matrices ● Matrix multiplication is NOT commutative ● Matrix multiplication is associative ● Linear transformations can be represented as matrix multiplications ● When we talk about transformations, we will see that all linear transformations can be represented by matrices

23 Matrix Transformations ● A sequence or composition of linear transformations 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: