280 likes | 429 Vues
This chapter explores crucial mathematical concepts in computer graphics, focusing on scalars, vectors, and points. It covers change of basis and frames, affine sums, and convex combinations. The text discusses fundamental operations like addition and multiplication and introduces terms such as vector space, Euclidean space, and affine space. Real-world applications include a case study on a shooting game, showcasing the relevance of these concepts in interactive computer graphics. Key mathematical interpretations provide a rigorous understanding for enhancing graphical representations.
E N D
Math Primer for CG Ref: Interactive Computer Graphics, Chap. 4, E. Angel
Contents • Scalar, Vector, Point • Change of Basis • Frame • Change of Frame • Affine Sum, Convex Combination, Convex Hull, … • Case Study: shooting game
Introduction • Three basic data types in CG: scalars, points, and vectors • scalar: not a geometric type per se; used in measurement • point: a location in space; exist regardless of any coordinate system • vector: any quantity with direction and magnitude; does not have fixed location • Examine these concepts in a mathematically more rigorous way…
Two fundamental operations are defined between pairs: Addition, multiplication Closure a,bS, a+bS, a·bS a,b,gS Commutative a+b=b+a a · b=b · a Associative a ·(b · g)=(a · b) · g a+(b+g)=(a+b)+g Distributive a ·(b+g)=(a · b)+(a · g) Additive & multiplicative inverse a+(-a)=0, a · a-1=1 Scalars: Live in Real Space
Real Analysis • The study of real numbers • … • If you are interested, see Analysis WebNotes: http://www.math.unl.edu/~webnotes/contents/chapters.htm
Two kinds of entities: Scalar, vector Two operations and corresponding geometric interpretations: v-v addition (head-tail) scalar-v multiplication (scaling of vector) Properties Closure u,vV, u+vV Commutative u+v=v+u Associative u+(v+w)=(u+v)+w Distributive a(u+v)=au+av (a+b)u=au+bu Vectors: Live in Vector Space
Linear combination u=a1u1+a2u2+…+anun Linear independent Only set of scalars such that u=a1u1+a2u2+…+anun is zero a1=a2=…=an=0 Basis a set of linearly independent vectors that span the space Vector Space (cont)
represent any vector uniquely in a basis change of basis Vector Space: change of basis
Example New Basis
Vector space lacks Location, distance, … Concept of coordinate system (frame) Reference point: origin Frame: origin + basis defines position in space Add another entity to vector spaces Point New operations Point – Point Vector Point + Vector Point (translation) Note that the following are not defined: point addition multiplication of scalar & point Points: Live in Affine Space
Represent point in a frame Change of frame Affine Space: change of frames
Supplement vector space with the notion of distance New operation Inner (dot) product a,bS u,v,wV u · v=v · u (au+bv) · w=au · w + bv · w v · v>0 (v0) 0 · 0=0 u · v=0 u and v are orthogonal |v|=(v · v)½ u · v=|u||v| cosq Euclidean Space
Summary: Mathematical Spaces Real Space (Scalar) Vector Space (Scalar, Vector) Euclidean Space (Scalar, Vector) [distance] Affine Space (Scalar, Vector, Point) [location]
R P(a) Q Affine Sum • In affine space, point addition is only defined in the following case: Point addition is allowed only if their weights add up to one
Affine Sum (cont) • More generally, • Convex Combination • A particular affine sum where weights are non-negative
Now, how to apply these math Besides change of basis/frame…
R S(a) Q R S(a) Q Ex: Parametric Equation of a Line
Ex: Plane, Triangle, Parallelogram R T(a,b) P Q S(a) (infinite) Plane Parallelogram Triangle
Ex: Homogeneous Coordinates • A unified representation scheme in affine space for points and vectors • Change of Frame: subsume change of basis
fixing the origin of the vectors of coordinate system at P0 4x1 “vector”: Unified vector & point representation homogeneous coordinate distinguish point & vector 4x4 matrix algebra for change in frames Affine Space: coordinate system Point: [a1a2a3 1] Frame: [u1u2u3 P0] Vector: [a1a2a3 0] Frame: [u1u2u3 P0]
Intersection can be checked using 3D Sutherland algorithm Ex: Shooting (AABB)
Cohen-Sutherland Line-Clipping Algorithm Trivially accept Trivially reject clipping
Change of frame then apply Sutherland algorithm in the local frame Ex: Shooting (OBB)
Exercise • Convex Hull: prove convex combination yields the shape you imagine