Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mathematics for Graphics. 1 Objectives Introduce the elements of geometry  Scalars  Vectors  Points Develop mathematical operations among them in a.

Similar presentations


Presentation on theme: "Mathematics for Graphics. 1 Objectives Introduce the elements of geometry  Scalars  Vectors  Points Develop mathematical operations among them in a."— Presentation transcript:

1 Mathematics for Graphics

2 1 Objectives Introduce the elements of geometry  Scalars  Vectors  Points Develop mathematical operations among them in a coordinate-free manner Define basic primitives  Line segments  Polygons

3 2 3D Cartesian co-ordinates

4 3 Basic Elements Geometry is the study of the relationships among objects in an n-dimensional space  In computer graphics, we are interested in objects that exist in three dimensions Want a minimum set of primitives from which we can build more sophisticated objects We will need three basic elements  Scalars  Vectors  Points

5 4 Scalars Need three basic elements in geometry  Scalars, Vectors, Points Scalars can be defined as members of sets which can be combined by two operations (addition and multiplication) obeying some fundamental axioms (associativity, commutivity, inverses) Examples include the real and complex number systems under the ordinary rules with which we are familiar Scalars alone have no geometric properties

6 5 Vectors And Point We commonly use vectors to represent:  Points in space (i.e., location)  Displacements from point to point  Direction (i.e., orientation) 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

7 6 Vectors Physical definition: a vector is a quantity with two attributes  Direction  Magnitude Examples include  Force  Velocity  Directed line segments Most important example for graphics Can map to other types v

8 7 Vector A quantity characterized by a magnitude and direction Can be represented by an arrow, where magnitude is the length of the arrow and the direction is given by slope of the line 2 1 v Y X A vector in 2D 2 2 2 Y X Z v A vector in 3D P (2, 1) O (0, 0) v = OP = จุดปลาย – จุดต้น = P-O

9 8 Vector Operations Every vector has an inverse  Same magnitude but points in opposite direction Every vector can be multiplied by a scalar There is a zero vector  Zero magnitude, undefined orientation The sum of any two vectors is a vector  Use head-to-tail axiom v -v vv v u w

10 9 Vectors Lack Position These vectors are identical  Same direction and magnitude Vectors spaces insufficient for geometry  Need points

11 10 Vector Addition Addition of vectors follows the parallelogram law in 2D and the parallelepiped law in higher dimensions:

12 11 Vector Multiplication by a Scalar Multiplication by a scalar scales the vectors length appropriately (but does not affect direction): 1.5v v

13 12 Subtraction u -v u Can be seen as an addition of u + (-1v) v Inverse vector?

14 13 Vector Magnitude The magnitude or “norm” of a vector of dimension 3 is given by the standard Euclidean distance metric: How about dimension n? 2 5 3 4 2D example3D example P2P2 P1P1 v

15 14 Unit Vectors Vectors of length 1 are often termed unit vectors (a.k.a. normalised vectors). When we only wish to describe direction we use normalised vectors – often to avoid redundancy For this and other reasons, we often need to normalise a vector: e.g. v

16 15 Examples Suppose point P 1 (-1,-3) and P 2 (2,-7). Find  Vector v obtained from these two points  Norm of vector v  Unit vector

17 16 Dot Product Dot product (inner product) is defined as: Note:  Therefore we can redefine magnitude in terms of the dot-product operator: The dot product operator is commutative and associative.

18 17 The Dot Product can also be obtained from the following equation: where  is the angle between the two vectors So, if we know the vectors u and v, then the dot product is useful for finding the angle between two vectors. Note that if we had already normalised the vectors u and v then it would simply be: Dot Product v u 

19 18 Dot Product Examples Find the angle between vectors { 1, 1, 0} and {0, 1, 0}?

20 19 Additional Properties For any three vectors u, v, w and scalars a, b  uv = vu  u(v+w) = uv + uw  (u+v)w = uw + vw  If uv = 0 then u and v are orthogonal or perpendicular, where u and v are not zero vector

21 20 Cross Product Used for defining orientation and constructing co-ordinate axes. Cross product defined as: The result is a vector, perpendicular to the plane defined by u and v: Magnitude :

22 21 Right Handed Coordinate System Cross Product

23 22 Cross product is anti-commutative: It is not associative: Direction of resulting vector defined by operand order: R.H.S. Cross Product

24 23 Consider, two vectors u =, v =, the cross product u x v Cross Product

25 24 Vector Spaces A linear combination of vectors results in a new vector: v =  1 v 1 +  2 v 2 + … +  n v n where  is any scalar 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

26 25 Coordinate Systems 3D vector space  scalar component :  1,  2,  3  basis vector : v 1, v 2, v 3 define a coordinate system the origin : fixed reference point  column matrix v2v2 v1v1 v3v3 Coordinate System origin

27 26 Points Location in space Operations allowed between points and vectors  Point-point subtraction yields a vector  Equivalent to point-vector addition P = v + Q v = P - Q

28 27 Affine Spaces Point + a vector space Operations  Vector-vector addition  Scalar-vector multiplication  Point-vector addition  Scalar-scalar operations For any point define  1 P = P  0 P = 0 (zero vector)

29 28 Lines (in Affine Space) Consider all points of the form  P(a)=P 0 + a d  Set of all points that pass through P 0 in the direction of the vector d Affine addition

30 29 Parametric Form This form is known as the parametric form of the line  More robust and general than other forms  Extends to curves and surfaces Two-dimensional forms  Explicit: y = mx +h  Implicit: ax + by +c =0  Parametric: x(  ) =  x 0 + (1-  )x 1 y(  ) =  y 0 + (1-  )y 1

31 30 Rays and Line Segments If  >= 0, then P(  ) is the ray leaving P 0 in the direction d If we use two points to define v, then P(  ) = Q+  v = Q +  (R-Q) =  R + (1-  )Q For 0<=  <=1 we get all the points on the line segment joining R and Q

32 31 Convexity An object is convex iff for any two points in the object all points on the line segment between these points are also in the object P Q Q P convex not convex = concave

33 32 Affine Sums Consider the “sum” P=  1 P 1 +  2 P 2 +…..+  n P n Can show by induction that this sum makes sense iff  1 +  2 +…..  n =1 in which case we have the affine sum of the points P 1  P 2,…..P n If, in addition,  i >=0, we have the convex hull of P 1  P 2,…..P n

34 33 Convex Hull Smallest convex object containing P 1  P 2,…..P n Formed by “shrink wrapping” points

35 34 Curves and Surfaces Curves are one parameter entities of the form P(  ) where the function is nonlinear Surfaces are formed from two-parameter functions P( ,  )  Linear functions give planes and polygons P(  ) P( ,  )

36 35 Planes A plane be determined by a point and two vectors or by three points P( ,  )=R+  u+  v P( ,  )=R+  (Q-R)+  (P-Q) R P

37 36 Triangles convex sum of P and Q convex sum of S(  ) and R for 0<= ,  <=1, we get all points in triangle

38 37 Planes Extension of line P Q R normal to the plane P0P0 v u n P


Download ppt "Mathematics for Graphics. 1 Objectives Introduce the elements of geometry  Scalars  Vectors  Points Develop mathematical operations among them in a."

Similar presentations


Ads by Google