380 likes | 402 Views
Learn about geometry elements like scalars, vectors, and points to build sophisticated objects in 3D Cartesian space. Understand vector operations, vector spaces, dot and cross products for graphics applications. Develop a foundation for graphics mathematics.
E N D
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
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
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
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 translatesomething means to move it without changing its orientation • Translation of a point = different point • Translation of a direction = same direction
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
Y v X 2 2 Z 2 A vector in 3D 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 v = OP = จุดปลาย – จุดต้น = P-O Y P (2, 1) 1 v X 2 O (0, 0) A vector in 2D
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 w v v v -v u
Vectors Lack Position • These vectors are identical • Same direction and magnitude • Vectors spaces insufficient for geometry • Need points
Vector Addition • Addition of vectors follows the parallelogram law in 2D and the parallelepiped law in higher dimensions:
1.5v v Vector Multiplication by a Scalar • Multiplication by a scalar scales the vectors length appropriately (but does not affect direction):
Subtraction -v u v -v Inverse vector? Can be seen as an addition of u + (-1v) -v u
3 5 4 P2 Vector Magnitude v P1 • The magnitude or “norm” of a vector of dimension 3 is given by the standard Euclidean distance metric: • How about dimension n? 2D example 3D example 2
v 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.
Examples • Suppose point P1(-1,-3) and P2(2,-7). Find • Vector v obtained from these two points • Norm of vector v • Unit vector
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.
q u v Dot Product • The Dot Product can also be obtained from the following equation: where q is the angle between the two vectors • So, if we know the vectors u and v, then thedot 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 Examples • Find the angle between vectors { 1, 1, 0} and {0, 1, 0}?
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
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 :
Cross Product Right Handed Coordinate System
Cross Product • Cross product is anti-commutative: • It is not associative: • Direction of resulting vector defined by operand order: R.H.S.
Cross Product • Consider, two vectors u = , v = , the cross product u x v
Vector Spaces • A linear combination of vectors results in a new vector: v= a1v1 + a2v2 + … + anvn wherea is any scalar • 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
Coordinate Systems v2 • 3D vector space • scalar component : 1, 2, 3 • basis vector : v1, v2, v3 • define a coordinate system • the origin : fixed reference point • column matrix origin v1 v3 Coordinate System
Points • Location in space • Operations allowed between points and vectors • Point-point subtraction yields a vector • Equivalent to point-vector addition v = P - Q P = v + Q
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)
Lines (in Affine Space) • Consider all points of the form • P(a)=P0 + a d • Set of all points that pass through P0 in the direction of the vector d • Affine addition
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(a) = ax0 + (1-a)x1 y(a) = ay0 + (1-a)y1
Rays and Line Segments • If a >= 0, then P(a) is the ray leaving P0 in the direction d • If we use two points to define v, then P( a) = Q+av = Q + a (R-Q) = aR + (1-a)Q • For 0<=a<=1 we get all the points on the line segment joining R and Q
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 P Q Q not convex convex = concave
Affine Sums • Consider the “sum” P=a1P1+a2P2+…..+anPn Can show by induction that this sum makes sense iff a1+a2+…..an=1 in which case we have the affine sum of the points P1,P2,…..Pn • If, in addition, ai>=0, we have the convex hull of P1,P2,…..Pn
Convex Hull • Smallest convex object containing P1,P2,…..Pn • Formed by “shrink wrapping” points
Curves and Surfaces • Curves are one parameter entities of the form P(a) where the function is nonlinear • Surfaces are formed from two-parameter functions P(a, b) • Linear functions give planes and polygons P(a) P(a, b)
Planes • A plane be determined by a point and two vectors or by three points P R P(a,b)=R+a(Q-R)+b(P-Q) P(a,b)=R+au+bv
Triangles convex sum of P and Q convex sum of S(a) and R for 0<=a,b<=1, we get all points in triangle
Planes R • Extension of line P Q n v P normal to the plane P0 u