Siggraph2019 Geometric Algebra

Поділитися
Вставка
  • Опубліковано 11 гру 2024

КОМЕНТАРІ • 71

  • @henrmota
    @henrmota 4 роки тому +87

    Geometric Algebra it's like functional programming for linear algebra. Mindblowing.

    • @patrolin
      @patrolin 2 роки тому +19

      except i've never seen a reasonable use case for functional programming

    • @ericvosselmans5657
      @ericvosselmans5657 Рік тому +2

      @@patrolin agreed. that's pretty much the biggest problem with functional programming

    • @prototypeinheritance515
      @prototypeinheritance515 Рік тому +3

      ​@@patrolin I sugest getting some glasses, obviously you can't see properly

    • @ibgib
      @ibgib Рік тому +1

      This thread may be why GA is so awesome. A GA mind blown moment comment (mine was i -> I), comparing positively to FP, followed by an extremely mild smacktalk of FP (seemingly from an OOP perspective) and accompanied hallelujah. And then finally a pro-FP defense smacktalk with appropriate misspelling, but somehow from a user with an OOP name. Just a wonderful thread that gives me a small amount of hope. 😮 Ty

    • @user-ic5nv8lj9d
      @user-ic5nv8lj9d Рік тому

      once you get a programming topic into anything, people would make pointless war/arguments like this thread lol

  • @manyirons
    @manyirons 3 роки тому +12

    Fantastic video! And I finally know why it's called "inner product". I'm retired now, but during this video I caught myself thinking about how I'd redo two-thirds of my career. I'm definitely going to take a crack at this for some projects in the near future.

  • @Isomorph70
    @Isomorph70 3 роки тому +17

    I think the reason that the units are named with "e" is that the German word for unit is "einhait" in Danish it is "enhed", so choosing "e" in these languages is natural.

    • @fluctura
      @fluctura 2 роки тому +10

      sry for being a Karen 😆 It's "Einheit" in german. I'm german and yeah, it makes sense, could really be the true reason

    • @neur303
      @neur303 7 місяців тому

      I think it could also mean element, like it's sometimes used for group theory.
      But it's also used for the unit vectors of a standard basis. That would support the unit = Einheit theory.

    • @kungfooman
      @kungfooman 11 днів тому

      You can read the original Grassmann paper (Lineale Ausdehnungslehre) and you won't even find the e notation, he is just using A, B, C, D etc.

  • @alidanish6303
    @alidanish6303 4 роки тому +10

    Hot Damn!! Clifford did some really serious stuff...

  • @ManuelRacle
    @ManuelRacle 4 роки тому +15

    Really mind blowing! Congratulations, this is totally going to change my code forever!

  • @Kowzorz
    @Kowzorz Рік тому +1

    What an incredible presentation

  • @PeeterJoot
    @PeeterJoot 5 років тому +12

    This approach for modelling of points, lines, planes, and other graphical objects is very interesting! I'm definitely want to explore this in more detail.

    • @rebase
      @rebase 5 років тому

      Peeter Joot wait a sec, you wrote the book about Geometric Algebra for Electrical Engineers they’re talking about at the end of the QA, didn’t you? 😮

    • @PeeterJoot
      @PeeterJoot 5 років тому +3

      @@rebase Yes, but all the stuff they are talking about I still have to learn. It's interesting stuff -- I wonder if there are some physics applications.

    • @pianavela
      @pianavela 5 років тому

      Peeter Joot hi Peter, this is just conformal geometric algebra. There is a very interesting paper of Arsenovic on this subject and also a UA-cam video.
      I have spent more than one year on this subject and there are very interesting results...

    • @hanqifan1920
      @hanqifan1920 5 років тому

      Yes, theoretically. But when you have to implement your algorithm, you will find you have no way but reduce your result to vector matrix formulas...

  • @veztron
    @veztron 4 роки тому +6

    This is the best talk I have ever seen

  • @insouciantFox
    @insouciantFox Рік тому +3

    There is the time before you understand GA and the time after.

  • @atomictraveller
    @atomictraveller 3 місяці тому +1

    holy moly let's reiterate that point about ganja being the missing ingredient. merdeka merdeka

  • @stephanevernede8107
    @stephanevernede8107 2 роки тому +2

    so beautiful !

  • @godeffroyvalet2199
    @godeffroyvalet2199 4 роки тому +8

    There is still some magic in there because you need to represent objects in the dual space. Why rotations in the dual space do translation in the initial space ?
    Why this works is not trivial :
    1/ rotations in planes containing the projective dimension are translations along this dimension due to the cylindrical metric (N,0,1),
    2/ the angle of such a rotation is one half of a rectangle (angles are areas), the sides of which are the radius of the unit cylinder and the amplitude of the corresponding translation along the projective dimension, so the angle is proportional to the amplitude of the translation,
    3/ the duality rotates this translation by a quarter of a turn, so that it is still a translation, but in the initial space, and with a rate still proportional to the rate of rotation in the dual space.
    This last rotation is needed and it explains why it would not work if the metric was used directly on the initial space.

    • @godeffroyvalet2199
      @godeffroyvalet2199 4 роки тому +2

      @@bivector Wow, there is a geometric algebra event 40km from my home !! And one of the authors of "Geometric algebra for physicists" will give a talk !!
      I will try to be there. I also have a paper on quatum mechanics that I would like to share (following some of Hestenes work).

    • @zenteapot
      @zenteapot 4 роки тому

      @@bivector Hi for lack of a better place to ask, is the talk put on online yet? I checked the event's page but didn't see any link. Really looking forward to it.

    • @zenteapot
      @zenteapot 4 роки тому

      @@bivector Nevermind I saw it in your profile page. But the first talk on dual quaternion appears missing?

  • @DarkGT
    @DarkGT 4 роки тому +6

    Seems very interesting, it deserve more views.

  • @alexeypakharev7941
    @alexeypakharev7941 4 роки тому +4

    Not exactly related to the video itself, but to the papers. You're considering the projective space of (the dual of) the Clifford algebra, and I get it, say, you multiply the equation of a line by a non-zero constant, you get the same line, fair enough. But in some places you really care about the elements of the Clifford algebra itself. The place where it is most clear is when you do the exponentiation. Informally, if you want to define the exponent, your domain of definition should have the addition. You can't really add two points of the projective space. Formally, consider the setting of the Euclidean plane, Cl*(R_{2,0,1}). You say that given an ideal point P, you can define the translation in the direction perpendicular to P via the exponent e^{d/2P}, where d represents the distance. For this to work, you need to scale P to be normalized, right? But the projective space is unaware of such subtleties. So to say that P is normalized, you really want your P to be an element of the Clifford algebra. I think that this note applies to a lot of places here, in particular, when you want something to be normalized. Moreover, I'm sure that the implementation isn't really modelling the projective space, but the Clifford algebra itself. Why bother with the projective space then? As I see it, the only merit of it is that we are reminded that every subspace is represented by a homogenious element up to a constant, sure. But also in a lot of cases you really want a normalized element, so even this argument is weak. Would love to hear your opinion!

    • @CharlesGunn
      @CharlesGunn 4 роки тому

      Can I ask you to move this very interesting question to the bivector.net forum for PGA? It can be found here: discourse.bivector.net/c/projective-ga/6. This will reach a much wider audience and is also more convenient for expressing mathematical ideas.

  • @kristoferkrus
    @kristoferkrus 9 місяців тому

    28:12 Isn't this formula wrong? Shouldn't it be p = e^alpha_xy e^a_x e^beta_xz e^b_x o? (That is, the factors are correct, but in wrong order)
    30:33 The same mistake has been made here; it should be p = e^alpha_xy e^a_x e^beta_xz e^b_x e^gamma_xw e^c_x o.

  • @ns4235
    @ns4235 3 роки тому +1

    59:51 What the R_{a,b,c} notation means

    • @JivanPal
      @JivanPal 3 роки тому

      It's literally explained on that slide. Is there anything in particular on that slide that you are struggling to undeestand?

    • @ns4235
      @ns4235 3 роки тому

      ​@@JivanPal No I was just looking for an explanation to clifford algebra signatures for a while. I liked this one so I decided to link to it in the comments so potentially other people, or myself in the future, could look it up.

    • @JivanPal
      @JivanPal 3 роки тому +3

      @@ns4235 , ah, I see, I thought you were asking a question, "What does that notation mean?" - Sorry for the confusion.

    • @ibgib
      @ibgib Рік тому

      Yes this was a key slide that I actually rewound to also. So reading this in the comments is a good immediate post-video review as well as the indexing for later. (Or you can just think of special ~~car~~ case "later" as immediately after viewing). Anyway, helpful 👍

  • @NoNTr1v1aL
    @NoNTr1v1aL 3 роки тому

    Amazing video!

  • @BlueGiant69202
    @BlueGiant69202 2 роки тому

    Re: Course Overview: I would shove the Course Notes to the left and add an online Interactive Modeling Workstation and something like Brilliant exercises for understanding Geometric Algebra based on use.

  • @arthur740212
    @arthur740212 2 роки тому +1

    How does rotation around infinity look like in code

    • @bivector
      @bivector  2 роки тому +2

      It looks like any other rotation. To generate rotations, we can exponentiate points. For example turning alpha around point x is generated by exp(-alpha/2*x). This formula stays the same when 'x' is an infinite point, and alpha simply becomes a distance. Since infinite points square to zero, the Taylor expansion of that is exact after two terms giving exp(-alpha/2*x) = 1 - alpha/2*x. (Classically this would be a dual quaternion). Applying the translation to any element now is done by sandwiching (conjugating) the element with the translation.
      vector X = e1 + e2;
      motor M = exp( .5e01 );
      vector Xt = M * X * ~M;
      // Xt now is e0 + e1 + e2 .. i.e. the same vector moved one away from the origin

  • @ArtBySabin
    @ArtBySabin 3 роки тому

    Anyone know the book / author mentioned at 41:45?

  • @dreastonbikrain1896
    @dreastonbikrain1896 Рік тому

    I would really like to see a full take on PGA from Charles Gunn, does there exist such a video?

  • @dexio85
    @dexio85 3 роки тому +1

    Judging from your channel name you are a dedicated believer :D

    • @bivector
      @bivector  3 роки тому +1

      Hehe this channel was created as follow up on this course - be sure to checkout our discord also!

    • @Michallote
      @Michallote 2 роки тому

      @@bivector where can I join your discord group?

    • @bivector
      @bivector  2 роки тому

      @@Michallote discord.gg/vGY6pPk

  • @PeeterJoot
    @PeeterJoot 5 років тому +2

    fyi. on your slide at ua-cam.com/video/tX4H_ctggYo/v-deo.html, you have a spelling error in a couple spots (seperating)

  • @JanPBtest
    @JanPBtest 3 роки тому +1

    It's called "Clifford algebra" in mathematics. Not sure where the usage "geometric algebra" came from in some parts of physics and computer science?

    • @bivector
      @bivector  3 роки тому +5

      It in fact is the name suggested by Clifford. (I believe in "A preliminary sketch of biquaternions" - but will have to check)

    • @qsykip
      @qsykip 3 роки тому

      As far as my understanding goes, they use Clifford algebra if you’re focused on the algebra itself, but they use Geometric algebra when they’re trying to put more emphasis on the geometric applications of it, so primarily looking at G^2 and G^3 for physics, computer graphics, etc. The distinction seems to be more of a theory vs application one now.

    • @colinroberts370
      @colinroberts370 3 роки тому

      @@qsykip Not exactly. Clifford algebras are more general -- a geometric algebra is a Clifford algebra with a non-degenerate quadratic form.

    • @qsykip
      @qsykip 3 роки тому

      @@colinroberts370 Out of curiosity, do you know of any works that specifically defined geometric algebra as such? Thanks!

    • @colinroberts370
      @colinroberts370 3 роки тому +1

      @@qsykip it is not written down with such specific wording anywhere I've found, but based on other definitions out there in linear algebra (e.g., Roman's Advanced Linear Algebra), it makes the most sense to define it this way to distinguish the special classes of Clifford algebras that are "metric".
      The best work I can point to that actually had this definition is my thesis. It is not yet finished, but will be in a few months.

  • @veggiet2009
    @veggiet2009 3 роки тому +2

    So... I'm about halfway through and I'm lost. I have always learned math concepts better through code and through algorithm, and I thought this was going to be programmer focused and I'm lost...

    • @veggiet2009
      @veggiet2009 3 роки тому

      I'm gonna have to download the python clifford library and play with this stuff, as I'm continuing to watch it, a little understanding is starting to creep in... but it's still mystifying

    • @bivector
      @bivector  3 роки тому +1

      Hi @veggiet, the Clifford library is a good reference, and others can be found at bivector.net - there's also a discord channel if you have any questions. (discord.gg/vGY6pPk)

  • @holykoolala
    @holykoolala 4 роки тому +1

    Who asked the first question about VR / AR after the talk?

  • @betims
    @betims 4 роки тому +3

    You can probably implement the worlds smallest slicer with this. Practically done, just a translation to g-code is missing :)

    • @julialongtin5743
      @julialongtin5743 4 роки тому +1

      I'm working on one with this. github.com/julialongtin/hslice/

    • @julialongtin5743
      @julialongtin5743 4 роки тому +2

      It slices now, using only 2D PGA.

    • @betims
      @betims 4 роки тому +1

      I'm a Go man myself. Anyways...your software looks cool. Keep it up 👍

  • @frankverheyen344
    @frankverheyen344 5 років тому

    First! ;-)
    Finally... the video.

  • @robertmcmorran6680
    @robertmcmorran6680 3 роки тому +5

    I found Jesus

  • @SawyerBC64
    @SawyerBC64 3 місяці тому

    This video did not age well.

  • @dennny1987
    @dennny1987 5 років тому

    Second!