Conformal Geometric Algebra (CGA) is a 5D extension of 3D Euclidean space that maps points to null vectors using the formula f(x) = x + (x·x)/2 n∞ - n₀/2, enabling all geometric transformations (rotations, translations, dilations, inversions) to be represented as rotors. This framework naturally encodes lines, planes, circles, and spheres as blades, simplifying complex geometric computations. CGA's covariance property allows proofs established at the origin to apply universally across space. Beyond Euclidean geometry, CGA can represent spherical and hyperbolic geometries by imposing different invariance conditions, making it particularly useful for applications like inverse kinematics and neural network-based pose estimation where curved spaces provide computational advantages.
Conformal Geometric Algebra Explained: Lines, Spheres & Inverse Kinematics
Added:[Music] um good job heish has gone because he doesn't like algebra and I've got quite a lot of algebra so um we'll see right so as Stephen said um I'm going to talk about see if this works yeah so that's another title page but let's let's have a look at what we know so far so we first heard of um stepen and Martin talking about the basics of geometric algebra Without Really specifying the metric of the underlying space so then um Steven talked about PGA So the plan based um geometric algebra so we saw that for graphics you have a four-dimensional alge algebra and you can reflect and you can translate and you can rotate really easily intersect in this algebra so what what am I going to talk about well I'm going to talk about conformal geometric algebra this is a 5D representation of um 3D ukan space and it contains null structures like the PGA so first of all I'm going to outline what this what this is then I'm going to say well how do we view PGA as a subset of CGA then look at some applications including as stepen said inverse kinematics and then look perhaps uh uh at whether we it's whether it is sometimes useful to work in a hyperbolic or spherical space okay and there will be will be quite a lot of geom of uh algebra in this okay so so let's look at um conformal geometric algebra which I'll just call CGA I'm going to look at the properties of it transformations in this algebra blades in this algebra intersections and Reflections and how to generate other geometries now some of this you will recognize from the PJ it's very similar now historically this CJ model was in the on the last few pages of David tester's book in 1984 or so and none of us actually ever took any notice of it and it was only till 1999 and some people weren't born then some of us were um that uh David brought David hnes who is the father of geometric algebra brought this to our attention and we all went oh well this is interesting so for many years we worked on conformal geometric algebra and then um sort of PGA came in because it's not as computation expensive and I can do many things that CJ can do but it's good to know about CGA one of the important things in um the conformal algebra is it's covariant okay so the structure of equations and relationships have to remain invariant under my allowed Transformations so basically if I operate and then transform I want it to be the same as transforming and then operating now in purely practical terms what this um means or one of the things it means is you can prove things really easily because you can prove things at the origin and you can rotate and translate off and it holds for all space one good thing about this but generally it's nice to have covariant um systems especially in in physics okay so we're going to move to 5D you've you've seen that we've had PGA where we have four we have three vectors which squared to one and one s one Sor one vector which squares to zero now in CJ um these so I'm going to inhabit a spa a five dimensional space and it's basically a ukian space with two oh oh there it is yes with two additional vectors so I'm going to add on an e e and an e bar so I've got E1 E2 E3 e and e bar and E is going to square to one e bar is going to square to minus one um they're all orthogonal okay so I've got this nice set of orthogonal basis vectors with squares of one and minus one now because oh no sorry before that if you want to actually find out more details there's um Stephen has a page of CGA resources on bioret and he has some very nice demonstrations on what you can do with CGA you also has cheat sheet somewhere I thought but it's not up here um so there are these various uh resources that you can take a look at okay so I've got ve I've got no null basis Vector but I have a null structure because I can create two new vectors I'll call them n infinity and n0 one is e+ e bar one is effectively e minus E there's a half in there um they both you can multiply them by the geometric product just as you've been taught and they're Square to zero okay now let's map vectors in ukian space so X is my Vector in ukian space I'm going to map it to this big X which lives in conformal space I'll call it f of little X by this expression here so effectively I've I've got the X plus something which squares to zero but I've added it on this quadratic term now it's not hard to show if you you have all the tools now to multiply that out x * X and show it's null so you can just you do that it's very easy long as you understand the geometric product and you know n^2 is equal to n s is equal to zero you can um you can see the null structure these null points now it may seem like a bit of an odd thing to do but if I if I wanted to give you even more maths I could show you that it's a form of stereographic projection this comes from a stereographic projection idea okay now if you go back and read some of those resources you'll see a little difference in notation notation has changed over the years n you'll see some places n and that's equivalent to n infinity and some places you'll see n bar which is minus 2 N um X becomes this mapping if I use NB bar okay so that's just to note it doesn't really matter um the advantage of using n not is if x equals z f ofx is n it's not minus a half n okay so later we'll see that um when I talk about inversions I can I can invert n nor to give me n infinity um and vice versa so we call n not as I said is the origin so n infinity is a point at Infinity so effectively I'm adding on two extra vectors um I'm not just adding on one point at Infinity I'm adding on an origin and a point at Infinity so from now on I'm just going to drop the Infinity for Simplicity I'm just going to put n but is an Infinity now just um following on from um what Stephen was saying in his talk that this is a homogeneous system effectively I've taken an algebra gpq gone to g p + 1 Q + 1 three dimensions p is 3 Q is zero and all those null vectors in that space given by that mapping I had and just a k will map to my ukian point x so it's a homog genous system in that sense however um I do need to impose a normalization if I'm actually working with it in practice in the computer one needs a normalization so if I ask that my f ofx do n is minus one that's what takes that factor to a half now um one thing that um you there's a whole field called distance geometry step also talked about definitions of geometries in terms of distances between points one nice feature of this is that if I dot this is a inner product as you've seen two conformal points together okay uh you you can multiply all those out and you can verify that it gives it's proportional the result is proportional to the distance between the points so the inner product recovers distances and if I take that and say okay well what's X dox that is um so a distance a point has zero distance between itself so it must be it must be null so these I've recovered the null property via this distance geometry um argument Okay so in 5D of course I would have um you you've heard about grades now so I've got a grade zero I've got one Scala I've got a grade my grade one objects are vectors so I've got five vectors I've got so B vectors I've got ways of choosing two out of five which is 10 B vectors I've got Tri vectors I've got ways of choosing three out of five which is 10 Tri vector I've got five four vectors and one pseudo scaler so I've got 32 elements so immediately I've got an algebra if unless I'm very clever I've got an algebra inside my computer which when I do the multiplications is going to be quite um time consuming okay now there are ways of masking things but that's one of the reasons that for many um plain line Etc based manipulations it's much better to go to PGA right so let's look at Transformations now what I'm going to do is just go quickly through Transformations um pretty much the Transformations that we've seen before rotations now we you haven't quite seen this but um rotations are in geometric algebra are expon are the exponentials of B vectors sorry rotors rotors now when I'm doing a a spatial rotation I'm just going to use B vectors which are the things that you've seen already and heish has just spent ages talking about basically J JK you know so E1 E2 E2 E3 E3 E1 they're the basis bi vectors spatial bi vectors so I'm only going to use those so they're my rotors so if I rotate when I apply these rotors I do a double-sided or something or reverse which is exactly the same as the querian that um that heh was talking about the querian um operation then you don't have to again you could expand all this out spatial rotations leave the point at infinity and the origin invariant so it gives me this equation because I say the or and the and they pointed Infinity don't change into spatial rotations so that means if I rotate a point x translate them to conformal space the same rotation takes one to the other okay so rotors are exactly the same as in 3D space how about translations okay translations because I've got 10 B vectors I've got a whole heap of um exponentials of b b vectors to play around with so I've got the um spatial rotation so that's done the EJ by vectors so how about the N time a by vectors where a is a a just an or ordinary spatial Vector so if I take the exponential of something like that I expand it via a tailor series all second order and larger terms are zero because n^ s is zero and um I get 1 + na a over 2 and again I translate the point at Infinity it isn't going to change so you can do the same thing you can operate on a a conformal vector r or reverse multiply it all out use the properties and you see that if I translate and you click Ian space take those to conformal space that rotor that I've just put down there will do the translation and that's exactly the same as PGA except I've um I'm working in a higher space okay so for those of you who who were here for heches I know know about juel querian you can see a similarity between um juel querian so I've been looking for these rotors that leave the point to Infinity invariant okay r n or twiddles is n and that is the group of ukian Transformations so this is a c if I'm looking at a clan view of geometry as Steven spoke about then um this is what I'd get ukian Geometry as being looking for Transformations which keep n invariant so let's return to transformations um in a minute let's just look at incidents relations and Blades now you don't need to know much about projective geometry but um can we can we use the ideas from that in terms of incidence relations uh in the CGA so if I have um if I have X1 wedge now this is a wedge it's the outer product dots and wedges I I haven't um um you know because these are points I'll explain a little bit more about why I'm making that point later X1 wedge X2 Etc wedge xn and they're all conformal vectors now depending what space I'm in um if I apply a rotor or this thing R reverse then it's not hard to show that you can take the RS into each um of the X's and similarly if I reflect in E we know that sandwiching something between elements does a reflection then um I can take the ease in so that means if it holds for a particular case it holds for a transformed case so again I can use this to um prove lots of identity Etc okay so now let's just quick have a quick look at lines and planes I going prove why this is the case but a line L between points A and B we've seen lots of lines today in slightly different um scenarios is a wedge B wedge n it's a tri Vector okay not quite the same as in PGA because I've moved a dimension up so any point lying on the line is X then L wedge X will be zero and X squ is zero a plane passing through points a b and c is a wedge B wedge C wedge n it's a full vector and X wedge um f is it is the equation of a plane much easier than writing down the equation of a plane or you give me three points and I do a plane Etc so it is the case as people have said that is a very easy system to work with so lines Tri vectors planes are four vectors um a line segment between two points A and B is just a HB it's a point pair now Point pairs there's lots of things to say about Point pairs but if you look in the various resources uh you can you can look there if you're interested okay now just to make I'm I'm working in a space where my points my ukian points are mapped to um conformal points so that's why I've been saying if I want to intersect um a blade say WRR could be a plane it could be a line and WS I want X wedge WR equal 0 and x w WS equals 0 because I wanted to lie on both of them now you can show that that means that this quantity here so I take the geometric product and project out a particular grade take the jeel jeel is just multiplying by the pseud scaler um is the intersection now I'm I'm writing my intersections as the V that's because I'm using effectively the point representation rather than the plane representation so I'll come back to that so let's just have a look at CGA versus PGA so really interesting uh historical development of this the origins of um well I I was going to say plane based but actually Charles gun called it projective geometric algebra and lots of references and Steven and Charles gave the S graph um course in 2019 um so it's been around quite a long time but only quite recently that um I think we've all begun to understand it so PJ is a subset of CGA and what from what we've seen so far seems so PJ can actually do everything CJ can but actually I'm I'm going up to CJ because uh why well why because I've got 32 elements in my algebra so it's more complicated but we'll have a look in a minute if you want to understand this a bit more there's some good it's sort of starts with Anthony actually writing something in a book that Leo and I um edited um which was quite good which was talking about you know how one might um explain Charles gun's approach he had two spaces at that time Chris has written a blog post which is nice and Leo and Stephen have a guided tour to plane based geometrical algebra which sort of says which also gives uh the kind of relationship but let me summarize it basically because it's fairly quick to do let me take a point in ukian space so let me call it X1 E1 plus X2 E2 plus X3 E3 map that to conformal space so it's my normal mapping in 4 dpj that X there becomes a plane and if any of you seeing the cheat sheets here you'll have seen that that's what it um put that there in case I trip over it um that's what it is and I take the jewel of that and I get the point plus e specific type of Jewel now if I take my point which I've called X5 to show it's in conformal space I wedge it with n take the minus sign multiply it by I5 the pseudo scaler in my CGA and I I take the same thing X5 weden um dot it with n not I get the PGA so that's telling me quite a lot um so it's telling me that if I want to do this mapping down I oops sorry yeah if I want to do that mapping what this gives me is precisely the PGA except the E not is is um replaced by n okay so n is fine it's it's my eort um the jewel here uh sorry yeah n and e but the jewel gives me the N not so the element that squares to zero in when I project down from CJ is n which isn't so good but it is comparable if you read some of the um PJ literature this reciprocal Eon n which squares to zero and dotts with e not to give one is very similar to nort in the CGA so it's here where in the PGA the choice to work with planes has kind of made for us um because although my n and my n not Square to zero and behave the same way in regards dotting with the basis vectors um it's only this second form if this first form rather with the n in it that transform per forms properly as a point under all ukian rotors particularly translations okay so it's kind of this was a a learning curve for me to understand you know how you got from CGA to PGA okay so we do need I do need to now say well what's the point of this what do I gain from actually adding on an extra Dimension and increasing my space from 16 to 32 um and if we're dealing with planes Etc you know use PGA so if however if we do go to CJ I can now include circles and spheres as blades and I can get dilations and inversions and therefore special conformal Transformations as rotors IE to the exponential of Bor of a bi vector and the ability to work in non-uc spaces is is really quite well defined okay so there's some of the advantages so let's quickly go through those um again you don't need to know need to understand the um details of this but if I want to dilate as Sten was saying we we sometimes want to scale things so our dilation about the origin I could write it as X goes to a factor times x if I write that factor as e to the minus Alpha so a factor beta then let me take a rotor as e to the alpha over two e e bar so I'm taking one of these B vectors that we haven't used so far we've used E1 E2 Etc and we've used n E1 n E2 we haven't used these so what do these give so these if I sandwich my conformal point between this rotor I multiply it all out what I find is it actually does a dilation this x hat here is the dilated X so I again you can you've got enough information to multiply all that out but basically rotors dilations are now rotors so I've expanded my my trans my list of Transformations that will work inversions so we've seen that sandwiching between things is really important I mean the whole of you know PJ was motivated by reflecting in things Reflections are really important everywhere but um turns out inversions so that X goes to 1 /x uh is done by reflecting in E and taking a minus sign so again you can multiply it all out and you can see that it gives me um uh an inversion now inverse I don't know whe whether every anyone has ever looked at a book on inversive Geometry or books on inversive Geometry it's really tough and it's quite tough in it's okay not too bad in two Dimensions try go to three dimensions it's it's horrendous really with this it's identical it's absolutely identical you just useing the same um constructions to do the operations um one slide on special conformal Transformations because I don't think you'll come certainly in graphics I don't think you come across them very much but special conformal Transformations are things like this quite weird things and in GA it's actually formed by um concatenation of rotors and Reflections so a translation rotor and as a a ref reflection translation reflection okay so it does the whole of special conformal Transformations though we don't need to worry too much okay so that's one we've got these Transformations now circles and spheres this is lovely because I am totally incapable of working conventionally with circles and spheres now if someone says to me right I'll give you three points say lie on a Circle so ABC or three points say lie on a sphere uh Four Points lie on a sphere give me the equation of that Circle or that sphere I I don't think I can do it conventionally basically because it's so easy using this the circle is a wedge B wedge C the sphere is a wedge B wedge C wedge D and the equation would be X wedge C equals z and X wedge Sigma equals zero they're the equations of my circle and sphere so extremely useful so I've got my Primitives I've got a line P wedge Q wedge n or a point pair P wedge Q I've got a plane P wedge Q wedge R wedge n I've got a circle P wedge Q wedge R and I've got a sphere P wedge Q wedge o wedge s all very easy so i' I've gained the ability to do circles and spheres of course if I I can't do ellipses or I can't do conics and if you look at the the literature there's quite a lot of people who've gone to higher order algebras in order to get the ability to do conics except you know I I think five is enough for me at the moment um just note here that a line is a circle passing through the point of infinity precisely as we think and a plane as a sphere passing through the point at Infinity so precisely what we might think now just a one one really nice thing is this reflection again um if I take m a m I'm reflecting the object a in the object M and sometimes we've seen we've seen a lot of reflecting in Planes but suppose I reflect the pointed Infinity n in my circle or my sphere well what can it give really it's pretty much got to give the center so if I you give me three points you give me four points L on a sphere I move them to CGA I reflect the point at Infinity in my sphere and I've got the um center of my sphere it's it is really nice very easy to prove all this because as I say you prove it at the origin for a simple case then you can translate and rotate it off okay Duality just let me make a point about Duality I'm working in a a CJ where I've chosen that X is my point I and the duel I could work in the Dual space where my y i my xstar where xstar is X x I5 is a sphere okay in PJ we've seen that we we've been guided to use the plane the representation of points as planes um and as I said before basically that's because I I I believe that if I rotate my Jewel it's not the same as rotating the point and taking the jewel for some um for some rotors okay so the jewels Jewels are really nice because um spheres I can have my sphere which is my a wedb wedge C wedge D I could take the jewel of it and my jewel is of course this is a a four blade so this is a a one is grade one so I have the center minus a factor of n where row is a radius so I can immediately give you the radius and the center lines lines are the same as in PJ pretty much I take the Jewel and I get a three Vector so this is a b vector and the m is a direction of the line and a is a point on the line circles very similar to spheres I take the jewel I get the center minus a multiple of n which gives me the radius now when I'm taking that Jewel it's the plane the with respect to the plane the circle is in and the Jewel planes again will encode the normal to the plane and the distance of the plane from the origin so really the the lines and the planes you get exactly the same thing in PGA the circles and the Spheres are particular to CGA okay so how about applications as Steven said so back this is back in 201 um 11 and it was and part of Andreas sdu's PhD thesis so we had he was working in CGA because PGA didn't quite exist then sort of existed but we were not aware of its benefits so the idea is you have a a lot of linked um arms elements whatever ODS so you know I I say I want to move my linkage so that P for this end effector goes to this target Point here I was a really simp this is a really simple idea it was was programmed up totally in CGA um I'll tell you why in a minute so the idea is that you basically say okay my point if my point is at P4 I'll draw a line between p P2 and P4 and I'll intersect it with the sphere that is um the right distance for the length of the p34 element so you just keep doing that up the chain and you get to here and you go the other way so that's why it was forward and backward reaching inverse kinematics it's incredibly quick and Okay so it's not you know I could do this without CJ but everything was programmed up as lines and points and and we had spheres so it was very easy to do but where it where it really um where it really was beneficial was imposing constraints okay because lots of joints have constraints Andrea's programmed up whole whole bodies Etc with all intricate constraints um if my joint angles at P3 are such that I can only have I'm only allowed a certain range of angles I've got a cone so that means I've got a circle effectively so I I can Implement all my constraints in if I'm in CGA by looking at the closest point from closest point on a circle to a point closest point on a sphere to a point Etc um all of these intersections were really easy to to implement and I think it would have been a bit of a nightmare in um in trying to do all this conventionally but but of course possible so that was the um so if I hopefully let me see if this plays this was really one of the first it's not very happy is it oh why is it done that okay least I made it normally VLC is pretty reliable uh it's not playing ball is it ah there we go for some reason I don't know why so basically this was a it was a first go at hand he got he had in some of those I made it I want to make it loop on so um your hand is an extremely constrained uh linkage so H you know you you can't move various joints past a few degrees Etc so it was it was interesting to see where you could put the end defectors and how you could constrain everything so it did the best it can the good thing about um this algorithm one of the things that was not programmed into it um from the beginning is that it almost never fails it actually does the best job it can but it almost never fails um let's go back to now we've we've just seen a little bit we've seen a bit in Steven's talk and then we saw hah doing it again uh that he was having he was taking his line to his point and things like this and this is an example of transforming between objects so um can I find a rotor and that's what he was doing to take me from object one to object two and effectively again and this ties in with what step was talking about if I consider the average object X1 plus X2 and I reflect X1 in it then I should get x2 more or less and I do modulo a factor so I get a factor now my factor is in this CJ is a Scala plus a four Vector that's okay so that is is my rotor basically you give me a sphere two spheres and they don't even have to be the same size I can give you a rotor that takes one to the other okay two circles so what you can do therefore if I got the rot of that's e to the B Vector I can interpolate that b Vector so I can have a very smooth um transition from one object to another so this is some of Hugo's taking the one of the blue circles to the blue circle and interpolating it uh Point pair to a longer Point pair a line to a line so things like that actually also quite hard to do um conventionally and then using that same idea we can interpolate objects so I just said that if I reflect uh in this average I get you know reflect X1 I get x2 and these X1 X2 via this argument I can project it down into something which is the same um nature as X1 and X2 that means so you give me X1 and X2 they can be circles they can be spheres Etc I can take Alpha X1 plus 1 minus Alpha X2 so I'm just adding them and project down to something which is the same nature as X1 and X2 so I can add lines planes circles spheres and it's very fast so this is slightly different this is this direct interpetation Alpha X1 plus 1 minus Alpha X2 and Hugo this is um Hugo's PhD thesis he has actually used this in some architecture um applications where he is he's averaged objects to Cluster them which is quite quite uh an interesting um thing to do it it worked really quite well okay now generating of the geometries um we said that one of the key features of um ukian geometry and and what we were doing in CJ was leaving an invariant so what do we get by insisting on something else being left invariant and again alluding two in in on the cheat sheets we've got what you would do for spherical hyperbolic and Steven mentioned it in conformal J I'd leave e bar invariant to give me spherical geometry and I'd leave e invariant to give me hyperbolic geometry okay so hyperbolic geometry what do I do I mean how do I kind of do this uh then I mean what we've what we we did is we found the form of the translation rotor which kept e invariant then defined An Origin and translated it to get the form of the point now the form of the point is like this and there's a Lambda in it which is a length scale a fundamental length scale um so sorry I meant that that's our mapping in hyperbolic space it's an interesting when we when we first saw this we kind of thought oh interesting that our original CJ mapping was not dimensionally correct so um but this is dimensionally correct so let's see if this one works now this is an old I might have the same problem with this but we'll check oh this time it worked okay so Stephen mentioned that programming in hyperbolic geometry or spherical geometry is exactly the same as doing anything else so you define your points you define I want it to rotate and translate around you just move all the points by rotors because we know what the rotors are so this is the Enterprise moving in um hyperbolic space and it's the same as this is how you program up um normal movements now spherical geometry is quite interesting spherical keeps ebar invariant which means I've got a a a space with a ukian signature it's plus plus plus plus and that may have many advantages now Lambda is related to the curvature of my space so as Lambda goes to Infinity I get a flat ukian space um and take my word for it the um spherical I think this first appeared in a paper of anony in I can't remember where it was um but this was mapping a ukian point to spherical space with this Lambda in and I move back to ukian space quite easily but I've got a Lambda now why is it useful to work in this space well maybe oh this is just a these are the translation rotors in in spherical space that's what they look like but so we don't need to worry too much about that Rota rotation rotors are the same as in all the other space e to the spatial bi Vector now it seems like a pretty big step to work in a curved space so what can it give us um well one problem with both PJ and CJ that we don't really encounter when we're just moving things around um you know I'm I'm doing operations moving things around is um that I've got no Co I'm not optimizing normally I've got no cost functions I'm not trying to set up cost functions as if I do try to do that these null structures really mess things around I don't get nice surfaces basically so it's not a nice if they're not particularly nice spaces to have like big optimization problems in spherical however is quite a nice at the at the cost of having a Lambda floating round it's quite a nice well behav ukian metric so could we what would be an example of using this well how about finding optimal rotation and translation together so this is some of Alberto's work another PhD student and what he what he's done is he's um I don't know some of you may have heard of the um poset type well tipet you basically have a camera going through you get ground truth data later you have something which tells you the ground truth orientation and translation of the camera either relative to um an inertial frame or relative to the previous frame um and you take you take pictures basically and you want to train a neural network to predict from the pictures to predict the rotation and translation of the camera well it's it's great I mean Works quite well so poset is and there's all variations on POS net but oh my goodness the cost functions because rotation and translation are such different things are horrendous well they're not horrendous but they're quite involved and there's lots of papers which have come out having better cost functions so Alberto tried basically camera position orientation for all our training data you shove it up into spherical space and then you've got the pose so you've got a motor you've got this motor in local space these are constrained some of these constrained of course then why don't we input our labels and just change POS net so instead of change the cost function keep the architecture change the cost function and change what it's predicting and it seems to work really well so actually it seems to be quite a nice space for whatever the network is doing it's it's actually finding that it's a nice space to work in now of course one could try in other optimization problems predicting rotation and translation accurately you might say excuse me what's Lambda because I can't put Lambda you know I can't put a l symbolic Lambda into a neural network well we just found that Lambda um we scale Lambda according to the scale of our data we pick a Lambda uh 100 or something and we we scale our data to be in a certain box and it works pretty well so here's the same thing this should work hopefully this was from way back there's Rich weim this is the Enterprise moving as sperical space exactly the same rotation rotors um are the same and the translation rotors were the those um was that given by that expression I just had up so doesn't take much more time to program up than it would in ukian space okay so what have I I've done so I've tried to describe mapping from a PQ space to a p+1 q+1 space to get conformal geometric algebra so that lines planes Circle spheres are blades points and all vectors rotations translations inversions dilations are rotations are rotors and Reflections in CGA the approaches covariant um a spherical space with ukian signature might actually I'm beginning to think be really useful in some cases now I'm wondering is it possible to program in an environment because these things are so similar where I have a 41 um space so four positive vectors one one um negative squaring Vector um such that I can move down to PGA or I can move down to spherical space as my application um dictates because you know there are certain things that you wouldn't go to CJ if you want to intersect planes basically or you know move planes around lines around but sometimes having spheres especially in graphics bounding spheres Etc is actually really important so you know I I I I'm wondering if there if it's possible to have this overarching this sort of tree where we can go go from one algebra to another oh yeah conics would go even to a higher dimensional algebra but I'm I I haven't really played around with that good that's it thank you oh
Up Next

Plane-Based Geometric Algebra: A Practical Guide for GPU Computing
@bivector
9.7K views•2020-10-20

Quaternions to Points, Lines & Planes | Game Math Guide
@GDCFestivalofGaming
15.2K views•2024-06-13

Fourier Series Introduction: The Big Idea Explained
@DrTrefor
387K views•2021-05-03

The Mathematical Impossibility of Accurate World Maps
@Vox
23.3M views•2016-12-02
Related Study Plans & Knowledge Roadmaps
Structured learning paths in Mathematics















![Linear Algebra 9 | Inner Product and Norm [dark version]](https://i.ytimg.com/vi_webp/fXWdBineqWI/maxresdefault.webp)
















