
Geometric Algebra A powerful tool for solving geometric problems in visual computing Leandro A. F. Fernandes Manuel M. Oliveira [email protected] [email protected] CG UFRGS Geometric problems Geometric data . Lines, planes, circles, spheres, etc. Transformations . Rotation, translation, scaling, etc. Other operations . Intersection, basis orthogonalization, etc. Linear Algebra is the standard framework 2 Using vectors to encode geometric data Directions Points 3 Using vectors to encode geometric data Directions Points Drawback The semantic difference between a direction vector and a point vector is not encoded in the vector type itself. R. N. Goldman (1985), Illicit expressions in vector algebra, ACM Trans. Graph., vol. 4, no. 3, pp. 223–243. 4 Assembling geometric data Straight lines . Point vector . Direction vector 5 Assembling geometric data Straight lines . Point vector . Direction vector Planes . Normal vector . Distance from origin 6 Assembling geometric data Straight lines . Point vector . Direction vector Planes . Normal vector . Distance from origin Spheres . Center point . Radius 7 Assembling geometric data Straight lines . Point vector . Direction vector Planes . Normal vector . Distance from origin Spheres Drawback . Center point The factorization of geometric elements . Radius prevents their use as computing primitives. 8 Intersection of two geometric elements A specialized equation for each pair of elements . Straight line × Straight line . Straight line × Plane . Straight line × Sphere . Plane × Sphere . etc. Special cases must be handled explicitly . Straight line × Straight line may return • Empty set • Point • Straight line 9 Intersection of two geometric elements A specialized equation for each pair of elements . Straight line × Straight line . Straight line × Plane . Straight line × Sphere . Plane × Sphere . etc. Linear Algebra Extension Plücker Coordinates Special cases must be handled explicitly . Straight line × Straight. An linealternative may to returnrepresent flat geometric elements • Empty set . Points, lines and planes as elementary types • Point . Allow the development of more general solution • Straight line . Not fully compatible with transformation matrices J. Stolfi (1991) Oriented projective geometry. Academic Press Professional, Inc. 10 Using matrices to encode transformations Projective Affine Similitude Linear Rigid / Euclidean Scaling Identity Isotropic Scaling Translation Reflection Rotation Shear Perspective 11 Drawbacks of transformation matrices Non-uniform scaling affects point vectors and normal vectors differently 90° > 90° 1.5 X 12 Drawbacks of transformation matrices Non-uniform scaling affects point vectors and normal vectors differently Rotation matrices . Not suitable for interpolation . Encode the rotation axis and angle in a costly way 13 Drawbacks of transformation matrices Non-uniform scaling affects point vectors and normal vectors differently Rotation matrices . Not suitable for interpolation Linear Algebra Extension . Encode the rotation axis and angle in a costly way Quaternion . Represent and interpolate rotations consistently . Can be combined with isotropic scaling . Not well connected with other transformations . Not compatible with Plücker coordinates . Defined only in 3-D W. R. Hamilton (1844) On a new species of imaginary quantities connected with the theory of quaternions. In Proc. of the Royal Irish Acad., vol. 2, pp. 424-434. 14 Linear Algebra Standard language for geometric problems Well-known limitations Aggregates different formalisms to obtain complete solutions . Matrices . Plücker coordinates . Quaternion Jumping back and forth between formalisms requires custom and ad hoc conversions 15 Geometric Algebra High-level framework for geometric operations Geometric elements as primitives for computation Naturally generalizes and integrates . Plücker coordinates . Quaternion . Complex numbers Extends the same solution to . Higher dimensions . All kinds of geometric elements 16 Outline Modules I, II, III and IV . Theoretical concepts Module V . Models of geometry Module VI . History . Application in visual computing . Concluding remarks 17 Module I Introduction 18 Vector space A vector space consists, by definition, of elements called vectors 19 Vector in a vector space 20 Spanning subspaces Geometric Meaning The subspace spanned The resulting subspace is by vectors a and b a primitive for computation! 21 We need a basis for k-D subspaces n-D Vector Space 2n-D Multivector Space consists of 1-D elements can handle k-D elements, called vectors, in the basis for 0 ≤ k ≤ n It is not enough! 22 Basis for multivector space Scalars Vector Space Bivector Space Trivector Space 23 Multivectors Basis for multivector space Scalars Vector Space Bivector Space Trivector Space Multivector 24 Properties of the outer product Antisymmetry Scalars commute Distributivity Associativity 25 Computing with the outer product Basis for multivector space Scalars Vector Space Bivector Space Trivector Space 26 Computing with the outer product Basis for multivector space Scalars Vector Space Bivector Space Trivector Space 27 Computing with the outer product Basis for multivector space Scalars Vector Space Bivector Space Trivector Space Antisymmetry Scalars commute Distributivity 28 Computing with the outer product Basis for multivector space Scalars Vector Space Bivector Space Trivector Space Antisymmetry Scalars commute Distributivity 29 Computing with the outer product Basis for multivector space Scalars Vector Space Bivector Space Trivector Space 30 Module II Metric and Some Inner Products 31 The inner product of vectors Geometric Meaning Bilinear Form Measures the relation between A scalar-valued function of vectors, vectors a and b like in Linear Algebra It defines a metric on the vector space b θ a 32 Properties of the inner product of vectors Symmetry Scalars commute Distributivity 33 The metric matrix A practical way to implement the bilinear form Q Defines the inner product of pairs of basis vectors 34 The metric matrix A practical way to implement the bilinear form Q Defines the inner productOrthogonal of pairs of3-D basis Euclidean vectors Metric b θ a 35 The scalar product Geometric Meaning Extends the inner product of θ vectors to subspaces having the same dimensionality ** Euclidean Metric 36 Properties of the scalar product Symmetry Scalars commute Distributivity 37 The left contraction Geometric Meaning Remove from the part that is like 38 Properties of the left contraction Symmetry Scalars commute Distributivity 39 Resulting Basis Basis orthogonalization TS isis thethe whole space 40 Checkpoint Geometric algebra uses a multivector space Subspaces are primitives for computation The outer product span subspaces There are some metric products . The inner product of vectors . The scalar product . The left contraction 41 Module III Geometric Product 42 Geometric product of vectors Denoted by a whiteInner space, ProductOuter Product like standard multiplication Unique Feature An invertible product for vectors! 43 Geometric product of vectors The Inner Product is not Invertible Unique Feature An invertible product for vectors! γ 44 Geometric product of vectors The Outer Product is not Invertible Unique Feature An invertible product for vectors! 45 Geometric product of vectors Unique Feature An invertible product for vectors! Inverse geometric product, denoted by a slash, like standard division 46 Intuitive solutions for simple problems q r? p t 47 Geometric product and multivector space The geometric product of two vectors is an element of mixed dimensionality Scalars Vector Space Bivector Space Trivector Space 48 Geometric product and multivector space The geometric product of two vectors is an element of mixed dimensionality Scalars Vector Space Bivector Space Trivector Space Geometric Meaning The interpretation of the resulting element depends on the operands. 49 Properties of the geometric product Scalars commute Distributivity Associativity Neither fully symmetric nor fully antisymmetric 50 The most fundamental product of GA The subspace products can be derived from the geometric product 51 Module IV Orthogonal Transformations as Versors 52 Reflection of vectors Mirror Input vector Vector a was reflected in vector v, resulting in vector a 53 k-Versor V is a k-versor. It is computed as the geometric product of k invertible vectors. 54 Rotation of subspaces How to rotate vector a in the plane by radians. 55 Rotation of subspaces How to rotate vector a in the plane by radians. 56 Rotation of subspaces Rotors How to rotate vector a in Unit versors encoding rotations. the plane by radians. They are build as the geometric product of an even number of unit invertible vectors. 57 Versor product for general multivectors Grade Involution The sign change under the grade involution exhibits a + - + - + - … pattern over the value of t. 58 Checkpoint The geometric product is the most fundamental product of geometric algebra . It is an invertible product . The other linear products can be derived from it Versors encode linear transformations . Reflections . Rotations (rotors) Rotors generalize quaternions to n-D spaces 59 Coffee Break 60 Checkpoint Module I . Subspaces, the outer product, and the multivector space The resulting subspace is a primitive for computation! 61 Checkpoint Module I . Subspaces, the outer product, and the multivector space Scalars Vector Space Bivector Space Trivector Space 62 Checkpoint
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages105 Page
-
File Size-