APPENDIX A CLIFFORD ALGEBRA

Similar documents
Introduction to Geometric Algebra Lecture VI

From Grassmann s vision to Geometric Algebra Computing

Introduction to Geometric Algebra Lecture I

Coordinate Free Perspective Projection of Points in the Conformal Model Using Transversions

Advanced Geometric Approach for Graphics and Visual Guided Robot Object Manipulation

PRIMITIVES INTERSECTION WITH CONFORMAL 5D GEOMETRY

FPGA-Accelerated Color Edge Detection Using a Geometric-Algebra-To-Verilog Compiler

Introduction to Geometric Algebra

Inverse kinematics computation in computer graphics and robotics using conformal geometric algebra

Geometric Algebra for Computer Graphics

Introduction to Geometric Algebra Lecture V

Geometric Algebra. 8. Conformal Geometric Algebra. Dr Chris Doran ARM Research

ANALYSIS OF POINT CLOUDS Using Conformal Geometric Algebra

Engineering Graphics in Geometric Algebra

Inverse Kinematics of a Humanoid Robot based on Conformal Geometric Algebra using optimized Code Generation

Geometric Hand-Eye Calibration for an Endoscopic Neurosurgery System

2D Euclidean Geometric Algebra Matrix Representation

Katu Software Algebra 1 Geometric Sequence

Implementation of a Clifford Algebra Co-Processor Design on a Field Programmable Gate Array

Unified Mathematics (Uni-Math)

PLAY WITH GEOMETRY ANIMATED AND INTERACTIVE, FREE, INSTANT ACCESS, ONLINE GEOMETRIC ALGEBRA JAVA APPLETS WITH CINDERELLA

Design of Algorithms of Robot Vision Using Conformal Geometric Algebra

Foundations of Geometric Algebra Computing

EFFICIENT INVERSE KINEMATICS ALGORITHM BASED ON CONFORMAL GEOMETRIC ALGEBRA Using Reconfigurable Hardware

(Received February 18, 2005)

Teaching Geometric Algebra with CLUCalc

G 6,3 GEOMETRIC ALGEBRA

arxiv:cs.cg/ v1 9 Oct 2003

INTERACTIVE VISUALISATION OF FULL GEOMETRIC DESCRIPTION OF CRYSTAL SPACE GROUPS

Visualization of the projective line geometry for geometric algebra

The Making of a Geometric Algebra Package in Matlab Computer Science Department University of Waterloo Research Report CS-99-27

SEMINARI CHIMICI. Dr. Eckhard Hitzer Department of Applied Physics University of Fukui - Japan

Introduction to Geometric Algebra

Singularity Analysis of a Novel Minimally-Invasive-Surgery Hybrid Robot Using Geometric Algebra

Conic and Cyclidic Sections in Double Conformal Geometric Algebra G 8,2

Robot object manipulation using stereoscopic vision and conformal geometric algebra

Homogeneous coordinates, lines, screws and twists

Rida Farouki from the University of California at Davis (UCD), USA, for inviting me to work with them. The work on random multivector variables and

Programming with Gaigen 2

Ortogonal Approach for Haptic Rendering Algorithm based in Conformal Geometric Algebra

Advances in Applied Clifford Algebras Boosted Surfaces: Synthesis of 3D Meshes using Point Pair Generators in the Conformal Model

Gaigen: a Geometric Algebra Implementation Generator

Object Segmentation Using Growing Neural Gas and Generalized Gradient Vector Flow in the Geometric Algebra Framework

Conformal Geometric Algebra Method for Detection of Geometric Primitives

Geometric Algebra for Computer Graphics

Spherical Conformal Geometry with Geometric Algebra

COLOR EDGE DETECTION HARDWARE BASED ON GEOMETRIC ALGEBRA

Versor Cheat Sheet. versor.mat.ucsb.edu. February 4, 2013

Geometric algebras for euclidean geometry

Geometric Algebra for Computer Science

We are IntechOpen, the world s leading publisher of Open Access books Built by scientists, for scientists. International authors and editors

Modeling Adaptive Deformations during Free-form Pose Estimation

SIGGRAPH Asia Projective Geometry and Duality for Graphics, Games and Visualization. An Introductory Course. Singapore.

Automatic Multivector Differentiation and Optimization

DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS

Linear Algebra Part I - Linear Spaces

TENTH WORLD CONGRESS ON THE THEORY OF MACHINE AND MECHANISMS Oulu, Finland, June 20-24, 1999 Finding Innitesimal Motions of Objects in Assemblies Usin

Chapter 2 Geometric Algebra for Modeling in Robot Physics

Geometric Algebra enhanced Precompiler for C++ and OpenCL

Euclidean Geometry. by Rolf Sulanke. Sept 18, version 5, January 30, 2010

Vector Algebra Transformations. Lecture 4

Humanoid Robotics. Projective Geometry, Homogeneous Coordinates. (brief introduction) Maren Bennewitz

STANDARD adaptive filtering theory is based on vector

Visualizing Quaternions

A Geometric Algebra Implementation using Binary Tree

arxiv: v1 [math.ra] 24 May 2013

A case study in geometric algebra: Fitting room models to 3D point clouds

Object Detection in Point Clouds Using Conformal Geometric Algebra

Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation

COMPUTER GRAPHICS USING CONFORMAL GEOMETRIC ALGEBRA

Perception and Action using Multilinear Forms

DETC APPROXIMATE MOTION SYNTHESIS OF SPHERICAL KINEMATIC CHAINS

Computer Graphics. Geometric Transformations

Surface approximation using growing self-organizing nets and gradient information

Computer Graphics. Geometric Transformations

Image Based Visual Servoing Using Algebraic Curves Applied to Shape Alignment

2D Object Definition (1/3)

Overview. By end of the week:

Camera Calibration Using Line Correspondences

Mathematics of a Multiple Omni-Directional System

Advances in Metric-neutral Visualization

Evaluation of Loop Subdivision Surfaces

METRIC PLANE RECTIFICATION USING SYMMETRIC VANISHING POINTS

calibrated coordinates Linear transformation pixel coordinates

Revision Problems for Examination 2 in Algebra 1

High Speed Computation using 8-bit Microcontroller and Floating Point Co-processor Unit

Surface Curvature Estimation for Edge Spinning Algorithm *

On the impact of using mixed real number representations in a graphics pipeline

METR Robotics Tutorial 2 Week 2: Homogeneous Coordinates

To Do. Outline. Translation. Homogeneous Coordinates. Foundations of Computer Graphics. Representation of Points (4-Vectors) Start doing HW 1

CSE 252B: Computer Vision II

240AR059 - Geometric Fundamentals for Robot Design

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6

STRUCTURAL ICP ALGORITHM FOR POSE ESTIMATION BASED ON LOCAL FEATURES

A DH-parameter based condition for 3R orthogonal manipulators to have 4 distinct inverse kinematic solutions

Epipolar Geometry and the Essential Matrix

Medical Image Segmentation and the Use of Geometric Algebras in Medical Applications

3D Computer Vision II. Reminder Projective Geometry, Transformations

Basic Elements. Geometry is the study of the relationships among objects in an n-dimensional space

Transcription:

1 APPENDIX A CLIFFORD ALGEBRA Clifford algebra (CA), or geometric algebra, is a powerful mathematical tool which allows for a direct and intuitive solution of geometric problems in fields as computer graphics, robotics and computer vision. The following sections give a brief introduction to CA basic concepts. Further details can be found in [1] - [20]. A.1 Basic concepts In traditional linear algebra all geometric objects and transformations have to be represented by vectors and matrices. Geometric algebra treats vectors as one-dimensional subspaces and introduces oriented subspaces of any dimensionality as basic elements of the algebra. By using the outer product, two-, three- or higher-dimensional subspaces (called blades) are created. For example, if a and b are vectors, their outer product a b is the blade of grade 2 (or 2-blade) which represents the two-dimensional oriented subspace which contains a and b and is called bivector. The outer product of three vectors results in a blade of grade 3 (also called trivector), while, in general, the outer product of k vectors is a blade of grade k or k-blade. According to this formalism, vectors are 1-blades, and scalars are 0-blades. By introducing blades of any dimensionality, CA allows higher-dimensional geometric entities (planes, circles, spheres) to have a direct representation in the algebra. Furthermore, geometric operations on these higher-dimensional entities can be intuitively performed by using a set of algebraic operators that have a direct geometric significance. Considering an orthonormal basis (e 0,e 1,..., e n 1 )ofr n, the corresponding basis of n-dimensional CA Cl n consists of all k-dimensional subspaces with k n, as listed in Table 1, where i, j, k=0,1,..., n-1. TABLE 1 Basis elements (blades) in n-dimensional Clifford algebra Grade Element Blade 0 Scalar 1 1 Vector e i 2 Bivector e i e j 3 Trivector e i e j e k......... n Pseudoscalar e 0 e 1 e 2...e n 1 The total number of these subspaces is 2 n, while the number of k-dimensional subspaces is given by the binomial coefficient n! / (k! (n-k)!). The general elements of the algebra are called multivectors. A multivector is a linear combination with real coefficients of the previously mentioned basis elements. By

2 collecting the basis elements of the same grade of a generic multivector, the so-called homogeneous elements or homogeneous multivectors are obtained. CA introduces a linear, invertible product called geometric product or Clifford product that is the fundamental product of the algebra, since other useful products, as outer product, left contraction and right contraction, can be derived from it. The geometric product between two multivectors is performed multiplying each component of an operand with each one of the other operand and simplifying the resulting terms by means of the set of axioms listed in Table 2. TABLE 2 Geometric product axioms e i e i = ±1 e i e j = e j e i λe i = e i λ i=1,2,...,n i j=1,2,...,n i=1,2,...,n The geometric product is a very powerful operator since it can represent all the orthogonal geometric transformations, such as reflections and rotations [15]. The reflection of a vector v in a plane with unitnormal m can be obtained through an interesting sandwiching product using geometric products. The reflected vector v can be calculated as v =-mvm. The rotation of a subspace of any dimension can be derived from the geometric product with a particular type of multivector, called rotor, which is formed by a scalar part and a bivector part. If R denotes a rotor and v denotes a vector, the rotated vector v can be calculated as v = RvR,whereR is the reverse of R. The rotor is obtained as the geometric product of two unitary vectors, which determine both the rotation plane and the rotation angle. CA can be used to implement the most important models of geometry used in computer science applications, such as the homogeneous model and the conformal model. CA can represent these standard geometric models increasing their expressive power. A.2 Four-dimensional Clifford algebra Four-dimensional (4D) CA implements the homogeneous model, which is an extension of the homogeneous coordinates used in the traditional computer graphics packages. The homogeneous model consists in embedding an n-dimensional space in an (n+1)-dimensional space, adding one more dimension, which is called the point at origin. Using the homogeneous model, geometric objects from the three-dimensional (3D) space can be represented by blades of the 4D space without the need for a supporting position. As an example, the intersection between a line and a plane can be obtained by a meet operation between a bivector and a trivector [15]. A generic 4D CA multivector is a linear combination with real coefficients of the 2 4 Clifford space basis

3 elements; thus, in four dimensions, a generic multivector m can be written as: m = s 0 + a 0 e 0 + a 1 e 1 + a 2 e 2 + a 3 e 3 + + a 01 e 0 e 1 + a 02 e 0 e 2 + a 03 e 0 e 3 + + a 12 e 1 e 2 + a 13 e 1 e 3 + a 23 e 2 e 3 + + a 012 e 0 e 1 e 2 + a 013 e 0 e 1 e 3 + (1) + a 023 e 0 e 2 e 3 + a 123 e 1 e 2 e 3 + + a 0123 e 0 e 1 e 2 e 3 A.2.1 4D homogeneous elements It is possible to collect generic multivector basis elements of the same grade to build 4D homogeneous elements or homogeneous multivectors: scalar, vector, bivector, trivector, pseudoscalar as shown in Table 3. TABLE 3 4D Clifford algebra homogeneous elements Hom. el. (symbol) Grade Analytic expression Scalar (s) 0 s 0 Vector (v) 1 a 0 e 0 + a 1 e 1 + a 2 e 2 + a 3 e 3 Bivector (b) 2 a 01 e 0 e 1 + a 02 e 0 e 2 + a 03 e 0 e 3 + a 12 e 1 e 2 + a 13 e 1 e 3 + a 23 e 2 e 3 Trivector (t) 3 a 012 e 0 e 1 e 2 + a 013 e 0 e 1 e 3 + a 023 e 0 e 2 e 3 + a 123 e 1 e 2 e 3 Pseudoscalar (p) 4 a 0123 e 0 e 1 e 2 e 3 The representation based on homogeneous elements is the natural representation of the algebra since the homogeneous multivectors have a direct geometric significance. In [21], [22], the authors propose a new, hardware-oriented representation based on fixed-size elements (quadruples) of 4D CA and demonstrate the advantages of the quadruple-based representation over the classical representation based on homogeneous elements. As the authors demonstrate, the fixed-size representation not only is better suited to a hardware implementation, but also allows for a simplification of the algebraic operations which leads to a more efficient specialized architecture. A.3 Five-dimensional Clifford algebra Five-dimensional (5D) CA, also known as conformal geometric algebra, implements the conformal model, which is the most powerful and elegant model of 3D Euclidean geometry. The conformal model consists in embedding an n-dimensional space in an (n+2)-dimensional space, adding two extra dimensions, which are called the point at origin (o) and the point at infinity ( ). In the conformal model, geometric objects in

4 the 3D space can be directly represented through blades of the 5D space. Compared with the homogeneous model, the conformal model extends the number of geometric objects that can be directly represented by the algebra elements. While homogeneous model can represent only flat geometric objects, the conformal model can represent also round objects, such as circles and spheres, as blades. In the conformal model, all types of geometric objects have a direct association with the algebra blades. The conformal (anglepreserving) geometric transformations, such as rotations, reflections, translations, and uniform scaling, can be directly represented by geometric products with 5D rotors. To exploit the expressive power of the conformal model, it is important to find an efficient implementation of 5D CA. The multivectors of 5D CA have 2 5 = 32 coordinates. If we want to do 3D geometry using the conformal model, we have to work with elements which have 32 coefficients. A bilinear product of two 5D multivectors would require multiplications and addictions of 32 2 = 1024 combinations of coordinates. This suggests that the practical use of 5D geometric algebra presents complex computational problems and requires the choice of an efficient implementation which allows to exploit the intuitivity and elegance of conformal geometric algebra without sacrificing performance. As demonstrated in the presented paper, this computational complexity can be addressed by choosing an efficient representation of 5D CA elements. A.3.1 5D homogeneous elements As explained in Section A.2.1 for the 4D case, the natural representation of the algebra elements is based on the homogeneous elements obtained collecting the blades of the same grade of the generic 5D multivector. Table 4 lists the basis blades of the six 5D homogenous elements: scalar (s), vector (v), bivector (b), trivector (t), quadvector (q) or pseudovector, and pseudoscalar (p). TABLE 4 5D Clifford algebra homogeneous elements s 1 Basis blades v e 0 e 1 e 2 e 3 e 4 b e 0 e 1 e 0 e 2 e 0 e 3 e 0 e 4 e 1 e 2 e 1 e 3 e 1 e 4 e 2 e 3 e 2 e 4 e 3 e 4 t e 2 e 3 e 4 e 1 e 3 e 4 e 1 e 2 e 4 e 1 e 2 e 3 e 0 e 3 e 4 e 0 e 2 e 4 e 0 e 2 e 3 e 0 e 1 e 4 e 0 e 1 e 3 e 0 e 1 e 2 q e 1 e 2 e 3 e 4 e 0 e 2 e 3 e 4 e 0 e 1 e 3 e 4 e 0 e 1 e 2 e 4 e 0 e 1 e 2 e 3 p e 0 e 1 e 2 e 3 e 4 The homogeneous elements have a direct geometric significance, since they have a direct association with the geometric objects, but their use in a hardware implementation presents some problems. As in the 4D CA homogeneous representation, each 5D homogeneous element is composed of a variable number of blades: scalar and pseudoscalar only carry one blade, vector and pseudovector have five blades, while bivector and trivector are composed of ten blades. If the homogeneous representation is

5 used, each homogeneous element should be represented by a vector of ten elements to store the blade coefficients, but this choice would cause some storage inefficiences since only the bivector and the trivector use all ten elements. In this representation, the product of two bivectors or two trivectors would require the multiplication of 100 combinations of coefficients. A fully-parallel hardware implementation (as the CliffoSor presented in [23]) of 5D CA exploiting the representation based on homogeneous elements would require 100 parallel multipliers, leading to an excessive hardware resource utilization. In the presented paper it is demonstrated that the fixed-size representation based on quadruples, introduced in [21], [22] for 4D CA elements, can be extended to 5D CA, allowing for an algorithmic simplification of the 5D algebra operations. REFERENCES [1] W. K. Clifford, On the classification of geometric algebras, in Mathematical Papers (1882), Tucker R., (Ed.), Macmillian, London, pp. 397-401. [2] L. Dorst, D. Fontijne, S. Mann, Geometric Algebra for Computer Science: An Object Oriented Approach to Geometry, Morgan Kaufmann, 2007. [3] L. Dorst, S. Mann, Geometric Algebra: a computational framework for geometrical applications (part 1: algebra), IEEE Computer Graphics and Applications, Volume 22, Issue 3, May-June 2002, pp. 24-31. [4] L. Dorst, S. Mann, Geometric Algebra: a computational framework for geometrical applications (part 2: applications), IEEE Computer Graphics and Applications, Volume 22, Issue 4, July-August 2002, pp. 58-67. [5] Fontijne, D., Dorst, L., Modeling 3D Euclidean geometry, in IEEE Computer Graphics and Applications, Volume 23, Issue 2, Mar/Apr 2003, pp. 68-78. [6] W. K. Clifford, Applications of Grassmann s extensive algebra, in Mathematical Papers (1882), Tucker R., (Ed.), Macmillian, London, pp. 266-276. [7] D. Hestenes, New Foundations For Classical Mechanics, Kluwer Academic Publishing, Dordrecht, 1986. [8] D. Hestenes, G. Sobczyk, Clifford Algebra to Geometric Calculus: A Unified Language for Mathematics and Physics, Kluwer Academic Publishing, Dordrecht, 1987. [9] Hestenes D., Ziegler R., Projective Geometry with Clifford Algebra, Acta Applicandae Mathematicae 23 (1991), pp. 25-63. [10] Li H., Hestenes D., Rockwood A., Generalized homogeneous coordinates for computational geometry, in Geometric Computing with Clifford Algebras, Sommer G., (Ed.), Springer Verlag, Heidelberg, pp. 27-59, 2001. [11] D. Hestenes, Old wine in new bottles : A new algebraic framework for computational geometry, in E. Bayro-Corrochano and G. Sobczyk, editors, Geometric Algebra with Applications in Science and Engineering, Birkhauser, 2001. [12] L. Dorst, Honing geometric algebra for its use in the computer sciences, in: Geometric Computing with Clifford Algebras, G. Sommer, editor, Springer Verlag, Heidelberg, 2001. [13] L. Dorst, The Inner Products of Geometric Algebra, in: Applications of Geometric Algebra in Computer Science and Engineering (Dorst, Doran, Lasenby, eds), Birkhauser, 2002, pp. 34-46. [14] D. Hildenbrand, D. Fontijne, C. Perwass and L. Dorst, Geometric Algebra and its Application to Computer Graphics, Tutorial 3, in Proceedings of 25th Annual Conference of the European Association for Computer Graphics, Interacting with Virtual Worlds, Grenoble, France, INRIA and Eurographics Association, 2004. [15] S. Franchini, G. Vassallo, F. Sorbello, A brief introduction to Clifford algebra, Technical Report N. 2/2010, Dip. di Ingegneria Informatica, Universitá degli Studi di Palermo, 2010, http://www.dinfo.unipa.it/ franchini/clifftechrep.pdf. [16] Daniel Fontijne, Efficient implementation of geometric algebra, Ph.D. Thesis, University of Amsterdam, 2007. [17] Sommer G., editor, Geometric Computing with Clifford Algebras, Springer Verlag, Heidelberg, 2001. [18] J. Lasenby, A. N. Lasenby, C. J. L. Doran, and W. J. Fitzgerald, New geometric methods for computer vision: An application to structure and motion estimation, Int. J. Computer Vision, 26(3), pp. 191-213, 1998.

6 [19] Perwass C., Applications of Geometric Algebra in Computer Vision, Ph.D. Thesis, Cambridge University, 2000. [20] E. Bayro Corrochano, G. Sobczyk Editors, Geometric Algebra with Applications in Science and Engineering, Birkhäuser, 2001. [21] S. Franchini, A. Gentile, F. Sorbello, G. Vassallo, S. Vitabile, An FPGA Implementation of a Quadruple-Based Multiplier for 4D Clifford Algebra, Proceedings of the 11th IEEE Euromicro Conference on Digital System Design - Architectures, Methods and Tools (DSD 2008), Parma, Italy, September 2008, pp. 743-751. [22] Silvia Franchini, Antonio Gentile, Filippo Sorbello, Giorgio Vassallo, Salvatore Vitabile, Fixed-size quadruples for a new, hardwareoriented representation of the 4D Clifford algebra, Advances in Applied Clifford Algebras, Vol. 21, Issue 2 (2011), pp. 315-340, Springer Basel AG. [23] Silvia Franchini, Antonio Gentile, Filippo Sorbello, Giorgio Vassallo, Salvatore Vitabile, An Embedded, FPGA-based Computer Graphics Coprocessor with Native Geometric Algebra Support, Integration, The VLSI Journal, Vol. 42, No. 3, pp. 346-355, 2009.