GABLE: Geometric Algebra Learning Environment Goals 2nd year tutorial Graphical GABLE Matlab 3D Leo.

Slides:



Advertisements
Similar presentations
3D Transformations Assist. Prof. Dr. Ahmet Sayar
Advertisements

Computer Graphics: 3D Transformations
Computer Graphics - Geometry & Representation -
Points, Vectors, Lines, Spheres and Matrices
Vectors, Points, Lines and Planes Jim Van Verth Lars M. Bishop
3D Geometry for Computer Graphics
Vector Calculus Mengxia Zhu Fall Objective Review vector arithmetic Distinguish points and vectors Relate geometric concepts to their algebraic.
Projective Geometry- 3D
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 : “shiv rpi” Linear Algebra A gentle introduction Linear Algebra has become as basic and as applicable.
Computer Graphics Recitation 2. 2 The plan today Learn about rotations in 2D and 3D. Representing rotations by quaternions.
Chapter 4.1 Mathematical Concepts. 2 Applied Trigonometry Trigonometric functions Defined using right triangle  x y h.
1 Basic geometric concepts to understand Affine, Euclidean geometries (inhomogeneous coordinates) projective geometry (homogeneous coordinates) plane at.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Geometry Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and.
CSCE 590E Spring 2007 Basic Math By Jijun Tang. Applied Trigonometry Trigonometric functions  Defined using right triangle  x y h.
Computer Graphics CSC 630 Lecture 2- Linear Algebra.
Lecture 2: Geometry vs Linear Algebra Points-Vectors and Distance-Norm Shang-Hua Teng.
Vectors.
Classical Mechanics and Special Relativity with GA Suprit Singh.
Mathematical Fundamentals
COS 397 Computer Graphics Svetla Boytcheva AUBG, Spring 2013.
Graphics CSE 581 – Interactive Computer Graphics Mathematics for Computer Graphics CSE 581 – Roger Crawfis (slides developed from Korea University slides)
Math Primer for CG Ref: Interactive Computer Graphics, Chap. 4, E. Angel.
6.837 Linear Algebra Review Patrick Nichols Thursday, September 18, 2003.
Patrick Nichols Thursday, September 18, Linear Algebra Review.
Geometry CSC 2141 Introduction to Computer Graphics.
1 Geometry. 2 Objectives Introduce the elements of geometry ­Scalars ­Vectors ­Points Develop mathematical operations among them in a coordinate-free.
Section 13.4 The Cross Product. Torque Torque is a measure of how much a force acting on an object causes that object to rotate –The object rotates around.
Elementary Linear Algebra Anton & Rorres, 9th Edition
Intro to 3D Models Angel Angel: Interactive Computer Graphics5E © Addison-Wesley
6.837 Linear Algebra Review Patrick Nichols Thursday, September 18, 2003.
CSE 681 Review: Transformations. CSE 681 Transformations Modeling transformations build complex models by positioning (transforming) simple components.
Scalars A scalar is any physical quantity that can be completely characterized by its magnitude (by a number value) A scalar is any physical quantity that.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 : “shiv rpi” Linear Algebra A gentle introduction Linear Algebra has become as basic and as applicable.
Mathematics for Graphics. 1 Objectives Introduce the elements of geometry  Scalars  Vectors  Points Develop mathematical operations among them in a.
Vectors CHAPTER 7. Ch7_2 Contents  7.1 Vectors in 2-Space 7.1 Vectors in 2-Space  7.2 Vectors in 3-Space 7.2 Vectors in 3-Space  7.3 Dot Product 7.3.
Chapter Content Real Vector Spaces Subspaces Linear Independence
6.837 Linear Algebra Review Rob Jagnow Monday, September 20, 2004.
Animating Rotations and Using Quaternions. What We’ll Talk About Animating Translation Animating 2D Rotation Euler Angle representation 3D Angle problems.
16/5/ :47 UML Computer Graphics Conceptual Model Application Model Application Program Graphics System Output Devices Input Devices API Function.
VECTORS (Ch. 12) Vectors in the plane Definition: A vector v in the Cartesian plane is an ordered pair of real numbers:  a,b . We write v =  a,b  and.
Geometric Algebra 4. Algebraic Foundations and 4D Dr Chris Doran
Geometric Algebra Dr Chris Doran ARM Research 2. Geometric Algebra in 3 Dimensions.
Geometric Algebra Dr Chris Doran ARM Research 7. Conformal Geometric Algebra.
1 Graphics CSCI 343, Fall 2015 Lecture 9 Geometric Objects.
Ch 6 Vector Spaces. Vector Space Axioms X,Y,Z elements of  and α, β elements of  Def of vector addition Def of multiplication of scalar and vector These.
Computer Graphics I, Fall 2010 Geometry.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Unsupervised Learning II Feature Extraction
Graphics Graphics Korea University kucg.korea.ac.kr Mathematics for Computer Graphics 고려대학교 컴퓨터 그래픽스 연구실.
§ Linear Spaces Christopher Crawford PHY
Projective 2D geometry course 2 Multiple View Geometry Comp Marc Pollefeys.
Geometric Algebra 8. Conformal Geometric Algebra Dr Chris Doran
Christopher Crawford PHY
Problem 1.5: For this problem, we need to figure out the length of the blue segment shown in the figure. This can be solved easily using similar triangles.
Review: Transformations
COMPUTER GRAPHICS CHAPTERS CS 482 – Fall 2017 TRANSFORMATIONS
Review: Transformations
CSC461: Lecture 12 Geometry Objectives
Linear Algebra Review.
Lecture 03: Linear Algebra
Introduction to Computer Graphics with WebGL
Lecture 2: Geometry vs Linear Algebra Points-Vectors and Distance-Norm
2 Vectors in 2-space and 3-space
Elementary Linear Algebra
PPT&Programs
Linear Algebra Lecture 20.
Linear Algebra A gentle introduction
Presentation transcript:

GABLE: Geometric Algebra Learning Environment Goals 2nd year tutorial Graphical GABLE Matlab 3D Leo Dorst and Stephen Mann

Course 31. Geometric Algebra: GABLE Geometric Algebra Geometric algebra is an algebra of subspaces spanning subspaces using outer productspanning subspaces using outer product projection of subspaces using inner productprojection of subspaces using inner product ratio of subspaces using geometric productratio of subspaces using geometric product intersection/union of subspaces using meet/joinintersection/union of subspaces using meet/join

Course 31. Geometric Algebra: GABLE Vectors Start with vector space VStart with vector space V Standard vector operationsStandard vector operations Create vectors relative to coordinate frameCreate vectors relative to coordinate frame Manipulate without coordinatesManipulate without coordinates GAD(1)

Course 31. Geometric Algebra: GABLE Spanning subspaces Span subspaces using outer product of vectorsSpan subspaces using outer product of vectors a ^b Anti-symmetric, linear, associativeAnti-symmetric, linear, associative Related to cross-productRelated to cross-product Outer product of k vectors gives k-bladeOuter product of k vectors gives k-blade GAD(2)

Course 31. Geometric Algebra: GABLE Elements of geometric algebra k-blades are basic elements of computationk-blades are basic elements of computation Blades form a linear spaceBlades form a linear space {1, e 1, e 2, e 3, e 1 ^e 2, e 2 ^e 3, e 3 ^e 1, e 1 ^e 2 ^e 3 } {1, e 1, e 2, e 3, e 1 ^e 2, e 2 ^e 3, e 3 ^e 1, e 1 ^e 2 ^e 3 } –{e 1, e 2, e 3 } form vector basis –{e 1 ^e 2, e 2 ^e 3, e 3 ^e 1 } form 2-blade basis

Course 31. Geometric Algebra: GABLE Outer product Characterizes a k -dimensional subspace dimensionality (grade)dimensionality (grade) attitude (stance, direction)attitude (stance, direction) sense (left/right handed, (anti-) clockwise)sense (left/right handed, (anti-) clockwise) magnitudemagnitude It is not specific on shape

Course 31. Geometric Algebra: GABLE Vectors in a subspace Pseudoscalar: n-blade in n-spacePseudoscalar: n-blade in n-space I3 in GABLE I3 in GABLE Vector v in subspace AVector v in subspace A v ^A = 0 And almost in A when v ^A is small And almost in A when v ^A is small GAD(3) GAD(4)

Course 31. Geometric Algebra: GABLE The inner product a b is part of b perpendicular to a a b is part of b perpendicular to a Inner product of two of same grade is scalarInner product of two of same grade is scalar Inner product on vectors is dot product Inner product on vectors is dot product Inner product of different gradesInner product of different grades “Remove” lower grade from higher grade “Remove” lower grade from higher grade GAD(5)

Course 31. Geometric Algebra: GABLE Duality All elements have dualsAll elements have duals Dual(b): b I 3 Dual(b): b I 3 Tangent planeTangent plane 2-blade vs normal vector: duals 2-blade vs normal vector: duals GAD(6)

Course 31. Geometric Algebra: GABLE Inner and outer products Given: a, x a, x ^aGiven: a, x a, x ^a Compute x Compute x x a a x ^a

Course 31. Geometric Algebra: GABLE The geometric product Geometric product of vectors a,b :Geometric product of vectors a,b : ab = a b + a ^b a,b vectors is a scalar+bivector (!)a,b vectors is a scalar+bivector (!) Can be extended to bivectors, etc.Can be extended to bivectors, etc. Linear, associativeLinear, associative GAD(7)

Course 31. Geometric Algebra: GABLE Division Non-null geometric elements have inversesNon-null geometric elements have inverses In expression ab, can multiply by inverse of b to get aIn expression ab, can multiply by inverse of b to get a Will use ‘/’ to denote right multiplication by inverseWill use ‘/’ to denote right multiplication by inverse

Course 31. Geometric Algebra: GABLE Projection and rejection Use geometric product to decompose:Use geometric product to decompose: x = (xa)/a x = (xa)/a = (xa)/a + (x^a)/a = (xa)/a + (x^a)/a = (xe)/e + (x^e)/e = (xe) e + (x^e) e = (xe)/e + (x^e)/e = (xe) e + (x^e) e where e is unit vector in direction of a where e is unit vector in direction of a First term is projection of x onto eFirst term is projection of x onto e Second term is rejection of x by eSecond term is rejection of x by e GAD(8)

Course 31. Geometric Algebra: GABLE Rotations as ratios x is to c as b is to ax is to c as b is to a x/c = b/a Solution: x = (b/a)cSolution: x = (b/a)c b/a is an operator that rotates/dilatesb/a is an operator that rotates/dilates a b c x? GAD(9)

Course 31. Geometric Algebra: GABLE Complex form of rotation Pure rotation: ratio of unit vectors v and u. For x in (u,v)-plane with unit bivector i :Pure rotation: ratio of unit vectors v and u. For x in (u,v)-plane with unit bivector i : Rx = (v/u)x = (vu)x = (vu + v^u) x Rx = (v/u)x = (vu)x = (vu + v^u) x = (vu - u^v) x = (cos - i sin ) x = (vu - u^v) x = (cos  - i sin  ) x Since ii = -1, we can write this as Since ii = -1, we can write this as Rx = e -i x Rx = e -i  x Bivector angle i Bivector angle i  rotation plane and amount!

Course 31. Geometric Algebra: GABLE Rotor representation of rotations General x (not necessarily in i-plane), only component in i should be rotated. Done by:General x (not necessarily in i-plane), only component in i should be rotated. Done by: Rx = e -i  /2 x e i  /2 = Rx/R Rotation fully characterized by rotor R. Product of rotations: product of rotors R 2 R 1 x = R 2 (R 1 x/R 1 )/R 2 = (R 2 R 1 )x /(R 2 R 1 )Product of rotations: product of rotors R 2 R 1 x = R 2 (R 1 x/R 1 )/R 2 = (R 2 R 1 )x /(R 2 R 1 ) GAD(10)

Course 31. Geometric Algebra: GABLE Quaternions are subsumed In 3-space, for rotation with rotation axis n = n 1 e 1 + n 2 e 2 + n 3 e 3 = -i I 3In 3-space, for rotation with rotation axis n = n 1 e 1 + n 2 e 2 + n 3 e 3 = -i I 3 we can rewrite R = e -I3n  /2 = cos(  /2) - sin(  /2) I 3 n = cos(  /2) - (i n 1 + j n 2 + k n 3 ) sin (  /2) we can rewrite R = e -I3n  /2 = cos(  /2) - sin(  /2) I 3 n = cos(  /2) - (i n 1 + j n 2 + k n 3 ) sin (  /2) on the bivector basis i=I 3 e 1, j = I 3 e 2, k = I 3 e 3 which satisfies ii=jj=kk=ijk=-1, ji=k, etc. on the bivector basis i=I 3 e 1, j = I 3 e 2, k = I 3 e 3 which satisfies ii=jj=kk=ijk=-1, ji=k, etc. So quaternions subsumed: So quaternions subsumed: Can act directly on vectors. Can act directly on vectors. GAD(11)

Course 31. Geometric Algebra: GABLE Rotation/orientation interpolation Given: two orientations R A, R B represented as rotationsGiven: two orientations R A, R B represented as rotations Find: intermediate orientationsFind: intermediate orientations R 0 =R A ; R i+1 =RR i ; R n =R B GAD(12)

Course 31. Geometric Algebra: GABLE Homogeneous model Get affine/homogeneous spaces by using one dimension for “point at zero”Get affine/homogeneous spaces by using one dimension for “point at zero” –Point: P =e+p, such that ep=0 –Vector: v, such that ev=0 –Tangent plane: bivector B, eB=0 (not a normal!) –Line: point P, point Q : P ^Q = (e+p) ^(q-p) –Line: direction v, point P : P ^v = (e+p) ^v GAD(13)

Course 31. Geometric Algebra: GABLE Meet and join Homogeneous line intersection requires blade intersection: meet(A,B)Homogeneous line intersection requires blade intersection: meet(A,B) Dual operations, join(A,B), spans lowest grade superspace of A and BDual operations, join(A,B), spans lowest grade superspace of A and B GAD(14)

Course 31. Geometric Algebra: GABLE Euclidean geometry Pappus’ theoremPappus’ theorem –Given two lines and three points on each line –Then the three intersections of cross-joined lines are colinear GAD(15)

Course 31. Geometric Algebra: GABLE Summary Higher dimensional subspaces are basic elements of computationHigher dimensional subspaces are basic elements of computation Geometric productGeometric product Inverses Inverses Extends homogeneous coordinatesExtends homogeneous coordinates