UBI 516 Advanced Computer Graphics

Slides:



Advertisements
Similar presentations
CS 450: COMPUTER GRAPHICS LINEAR ALGEBRA REVIEW SPRING 2015 DR. MICHAEL J. REALE.
Advertisements

Demetriou/Loizidou – ACSC330 – Chapter 4 Geometric Objects and Transformations Dr. Giorgos A. Demetriou Dr. Stephania Loizidou Himona Computer Science.
MAE152 Computer Graphicsfor Scientists and Engineers Revision of Matrices Relevance to Graphics.
Math Review Guest Lecturer: Michiel van de Panne Week 1, Wed Jan 9
Chapter 4.1 Mathematical Concepts
Chapter 4.1 Mathematical Concepts. 2 Applied Trigonometry Trigonometric functions Defined using right triangle  x y h.
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.
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.
Linear Algebra Review CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
PHYS 218 sec Review Chap. 1. Caution This presentation is to help you understand the contents of the textbook. Do not rely on this review for.
2IV60 Computer Graphics Basic Math for CG
Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 2: Review of Basic Math
Mathematical Fundamentals
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
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.
Mathematics for Computer Graphics (Appendix A) Won-Ki Jeong.
Chapter 4.1 Mathematical Concepts
Chapter 6 ADDITIONAL TOPICS IN TRIGONOMETRY. 6.1 Law of Sines Objectives –Use the Law of Sines to solve oblique triangles –Use the Law of Sines to solve,
7.1 Scalars and vectors Scalar: a quantity specified by its magnitude, for example: temperature, time, mass, and density Chapter 7 Vector algebra Vector:
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.
Computer Graphics in Java1 Objects and Viewers Two basic entities (one object seen from two different positions) :
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.
Intro to 3D Models Angel Angel: Interactive Computer Graphics5E © Addison-Wesley
6.837 Linear Algebra Review Patrick Nichols Thursday, September 18, 2003.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Orthogonal Functions and Fourier Series.
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.
Vectors CHAPTER 7. Ch7_2 Contents  7.1 Vectors in 2-Space 7.1 Vectors in 2-Space  7.2 Vectors in 3-Space 7.2 Vectors in 3-Space  7.3 Dot Product 7.3.
6.837 Linear Algebra Review Rob Jagnow Monday, September 20, 2004.
Introduction to Matrices and Vectors Sebastian van Delden USC Upstate
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.
Chap. 5 Inner Product Spaces 5.1 Length and Dot Product in R n 5.2 Inner Product Spaces 5.3 Orthonormal Bases: Gram-Schmidt Process 5.4 Mathematical Models.
CS 551 / 645: Introductory Computer Graphics Mathematical Foundations.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2016 Tamara Munzner Math Basics Week 1, Fri.
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.
CSE 681 Brief Review: Vectors. CSE 681 Vectors Basics Normalizing a vector => unit vector Dot product Cross product Reflection vector Parametric form.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Math Review Week 1, Fri.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Computer Graphics Mathematical Fundamentals Lecture 10 Taqdees A. Siddiqi
Linear Algebra Review Tuesday, September 7, 2010.
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
Vectors Quantities with direction. Vectors and Scalars Vector: quantity needing a direction to fully specify (direction + magnitude) Scalar: directionless.
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
Math Fundamentals Maths revisit.
CSC461: Lecture 12 Geometry Objectives
Lecture 03: Linear Algebra
Joshua Barczak CMSC 435 UMBC
CSE 411 Computer Graphics Lecture #2 Mathematical Foundations
Math review - scalars, vectors, and matrices
Game Programming Algorithms and Techniques
CHAPTER 3 VECTORS NHAA/IMK/UNIMAP.
Presentation transcript:

UBI 516 Advanced Computer Graphics Aydın Öztürk ozturk@ube.ege.edu.tr http://www.ube.ege.edu.tr/~ozturk Mathematical Foundations

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 Complex numbers

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

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

Slope-intercept Line Equation Solve for y: or: y = mx + b y x

Parametric Line Equation Given points and When: u=0, we get u=1, we get (0<u<1), we get points on the segment between and y x

Other helpful formulas Length = Two lines perpendicular if: Cosine of the angle between them is 0.

Coordinate Systems 2D systems  Cartesian system  Polar coordinates 1) Right-handed 2) Left handed  Cylindiric system  Spherical system

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

Points Q P 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 Note that the addition of two points is not defined Q v P

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

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

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

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

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 θ v u

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

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

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

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

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

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

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

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

Triangle Arithmetic 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

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

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

Matrices Matrix addition Matrix multiplication Matrix tranpose Determinant of a matrix Matrix inverse

Complex numbers A complex number z is an ordered pair of real numbers z = (x,y), x = Re(z), y = Im(z) Addition, substraction and scalar multiplication of complex numbers are carried out using the same rules as for two-dimensional vectors. Multiplication is defined as (x1 , y1 )(x2, y2) = (x1 x2 – y1 y2 , x1y2+ x2 y1)

Complex numbers(cont.) Real numbers can be represented as x = (x, 0) It follows that (x1 , 0 )(x2 , 0) = (x1 x2 ,0) i = (0, 1) is called the imaginary unit. We note that i2 = (0, 1) (0, 1) = (-1, 0).

Complex numbers(cont.) Using the rule for complex addition, we can write any complex number as the sum z = (x,0) + (0,y) = x + iy Which is the usual form used in practical applications.

Complex numbers(cont.) The complex conjugate is defined as z̃ = x -iy Modulus or absolute value of a complex number is |z| = z z̃ = √ (x2 +y2) Division of of complex numbers:

Complex numbers(cont.) Polar coordinate representation

Complex numbers(cont.) Complex multiplication

Conclusion Read Chapters 1 – 3 of OpenGL Programming Guide