Math for Game Devs [2022, part 10] • Abstract Algebra, Procedural Animation & Splines

Поділитися
Вставка
  • Опубліковано 19 тра 2024
  • Primarily for my students at FutureGames - I will only read chat/superchats during breaks!
    Assignments & Lecture links ❱ acegikmo.notion.site/Lectures...
    Find out more about the school at futuregames.se/
    ❓ FAQ ❱ acegikmo.notion.site/FAQ-8b62...
    💖 Support me on Patreon ❱ / acegikmo
    📺 I usually stream on twitch ❱ / acegikmo
    💬 Join my discord ❱ / discord
    🐦 Follow me on twitter ❱ / freyaholmer
    0:00:00 Intro
    0:11:06 Lecture Start
    0:18:24 Smoothing & Easing functions
    0:54:00 Deriving Hermite Interpolation
    1:20:00 Splines
    1:29:12 i (imaginary unit)
    1:39:12 Complex Plane
    1:42:05 Complex Numbers
    1:50:38 Euler’s Formula & Identity
    1:56:00 e (the constant)
    2:07:03 Dual Numbers
    2:10:43 Why use quaternions in games?
    2:17:27 Vector Algebra (an alternate perspective)
    2:24:30 Multiplying vectors?
    2:30:00 2D Bivectors & the wedge product
    2:34:40 Geometric Product
    2:43:00 Multivector & Bases
    2:48:03 3D Geometric Algebra
    2:52:49 Full 3D Multivector
    2:57:56 The generality of GA
    3:00:26 Quaternions (from a GA perspective)
    3:05:05 4D Games
    3:07:28 Why quaternions rotate well
    3:09:21 Q&A Outro & how I animate in Unity

КОМЕНТАРІ • 69

  • @tswdev
    @tswdev Рік тому +6

    Senior dev here, I just love how effortlessly you flow through the code while explaining. Your shortcut use is on point. I seriously need to up my game there.

  • @liamsmyth3849
    @liamsmyth3849 Рік тому +30

    I always feel like I am more inspired by math from these streams than I ever was in years of formal education 😂 your meticulous, artful presentation and color coding really makes all the difference!

  • @vaskokovachev5300
    @vaskokovachev5300 Рік тому +40

    The fact that such content is given to us for free just blows my mind, what a world we live in. Thank you so much for your amazing work

    • @frizzel4
      @frizzel4 Рік тому +4

      You should look at the math side of UA-cam, lots of great stuff

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

      @@frizzel4 What do u mean for math side?

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

      @@vima9046 well there are a million really talented math creators on UA-cam but one people always kinda start with is 3Blue1Brown cause his videos are pretty easy to get into

    • @manyshekkel
      @manyshekkel 11 місяців тому

      @@frizzel4 you have any suggestions you can give

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

    Years ago I tried to write a CAD program. It was (still is) based on vector graphics. Lines, Arcs and Circles were easy enough, and high school trigonometry was sufficient for much of it. I then attempted B-splines, Nurbs and elementary Beziers. What would have made it fully possible would have been a solid grounding in matrices. To format the solutions to various curves including Beziers or any of the medium complexity systems of equations I was dealing with, in matrix form, would have made it manageable. What I dug for myself, without that, was repetition and a coding rabbit hole. This content has rung so many bells for me, and to see the proper structure rigoursly applied is heartening and inspiring. Thank you Freya, for inviting us into your world and making these arcane ideas seem possible, graspable, doable, understandable. I knew my path was somehow not the right one; now I'm fully convinced and if I were to re-attempt it, I would set out the whole approach very differently and I feel, would get a lot further without digging a hole. Ignorance is not always bliss.

  • @mattwillis3219
    @mattwillis3219 Рік тому +10

    Awesome math series Freya! Thankyou so much for your amazing work ❤❤

  • @monetmonteal3181
    @monetmonteal3181 29 днів тому

    After watching all the videos and solving all the questions for the past 3 months, I have arrived at the final part. I feel that I have evolved as a mathematician in this time period. Thank You

  • @clarapunales8304
    @clarapunales8304 9 місяців тому +1

    you just explained complex numbers better than my uni professor, you are amazing

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

    hi, just wanted to say that your videos are great sleeping to (in the best way possible). hoping to rewatch these when I'm next awake lol

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

    I've no idea how I ended up here, I'm not a game dev or good at Math, nor have I watched any of the other parts but this was really informative and a joy to watch I learnt a lot. Thank you

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

    This series is amazing yiu are very talented of making the math interactive and simple enough to understand , and the visual and doing it in unity making me understand a lot. Thanks you for uploading it you earned my respect a d subscribe. 👍👍

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

    Just discovered the channel ! Thanks for sharing knowledge , subbed

  • @bagas-12123
    @bagas-12123 Рік тому +3

    This content is actual distilled gold of knowledge. Thank you for sharing this with us

  • @mystergan1240
    @mystergan1240 15 годин тому

    i just woke up on 2 hours to your video idk what autoplay thinks but you can just think what i think

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

    "Quaternions are extremely annoying and complicated" nyoooooooooo I love them 😭 I love that quaternions are the double cover of a 2-sphere and I love how quaternions relate to geometric algebra and I find all of this stuff really beautiful. Actually tho I love this video I love your streams, I could spend all day listening to you talk about math.

  • @gsuberland
    @gsuberland 11 місяців тому

    That coefficient constraint trick in Desmos made me say "woah" out loud. Did not know you could do that.

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

    I can't thank you enough Freya! You made me love math.

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

    The wgarble meme actually touches on something interesting. Define a symbol ε, and declare that ε²=0. The numbers x + εy are the "dual numbers", which also have interesting applications like for automatic differentiation and projective coordinates. There are also the hyperbolic numbers which define a symbol j and declare that j²=1, but j≠1.

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

    Thank you!

  • @372leonard
    @372leonard Рік тому +6

    thanks for putting all the lectures on youtube
    the api you showed for animating things in code at the end looked really nice, I think it would be really cool if you show it off some more
    or even release it just like shapes
    you said you didn't like 3blue1brown's animation tool, but did you take a look or took inspiration from the way he designed his api? and if so what did and didn't you like about it?
    I really like your way of doing animation in code, could maybe even use it for video game cutscenes or scripted events

    • @acegikmo
      @acegikmo  Рік тому +5

      I often stream when animating/working on my videos, so you're welcome to tune in if you want to see more! As for manim, I didn't look at its design in making my own, I usually work very iteratively and based on my goals and needs, to ensure it fits my workflow :)

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

    you just got yourself a new subscriber

  • @charlesabramo6782
    @charlesabramo6782 10 місяців тому

    I hope you enjoyed your experiment. I surely did.

  • @themathematicianisin935
    @themathematicianisin935 2 місяці тому

    谢谢!

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

    Thanks!

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

    ok someone has to make 4D chess VR - where you can only see the board from your pieces perspective

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

    Hi! It would be nice if you can also leave in your UA-cam description the tools you are working with. Thanks

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

    i don't know why this shows up on my yt recom, but it's dope, although my math is so terrible ahhahahaha

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

    Have to say quarternions are very close to axis-angle representation, I don't see them as unintuitive at all - but intuition is a personal thing I guess.

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

    Do more related to math's for gamers.

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

    Okay, youtube, you caught me on that, that math thing clickbait me to watch this kitty video.

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

    Wgarbl is the new E=mc²!

  • @gsuberland
    @gsuberland 11 місяців тому

    With regard to setting the derivatives in two dimensional Hermite, and those being equivalent to velocity vectors at the start and end of the ease, can the second derivative be set instead in order to apply an acceleration rather than a velocity? Does this introduce additional complexity? I ask because I recall this being the "physically correct" approach since an instantaneous velocity impulse implies an infinite force on a mass. EDIT: Ah, just watched your Continuity of Splines video and that answered it for me - C2 continuity is possible but ruins local control.

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

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

      😅

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

    What is that board

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

    29:25 If that curve were expressed as a Bezier curve, ...

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

    I think I might finally start to understand the i j k in quaternions. It's like how when multiplying by the imaginary i we rotate in the complex plane, multiplying bivectors rotate the planes in the planes, right?
    So, ij = k means we rotate the y plane in the x plane(by ninety degrees), and end up with the z plane.
    So ijk is rotate the z plane in the z plane(by ninety degress) and end up with it flipped on one axis, hence the area is -1 (1*-1).
    This feels... correct. Is this correct?

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

      It can help to subsequently iterate what your counterpart was comparable to.

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

      @@BlueNEXUSGaming I have no idea what any of that means.

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

      @@Aleteos your Eigenvector, using your Eigenvalue? Your wrong guess using binary boolean logic? What was your Scale Weight?
      "(((-1)?((1)×(-1)))"
      (1: you are missing a math symbol there)
      Okay, what was your Scale Counter-Weight?
      "((1)×((1)×(1)))"?
      You never extrapolated concisely.
      Dictionaries & Logic can help.

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

      This is precisely correct! Although when describing rotations using bivectors (i.e. quaternions) you have to be careful about rotations into the scalar: ij = k, but (ij)² = -1
      So each bivector rotates within a plane in 3D space, but it also rotates scalars into bivectors and bivectors into scalars!
      If you dive deeper into the math, this is why rotations in 3D are not simple multiplications by quaternions, but involve a "sandwich" product that ends up doubling the angle of rotation, but cancels out this errant rotation. Unity handles the sandwich product internally, so in code it looks like a simple multiplication.

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

    what type of project for unity did u use for the video editor part (1:23:40-1:26:00)

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

      what do you mean by type of project?

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

      ​@@acegikmo hi again, what i was trying to ask was how you did you make the presentation to have such beautiful animation, I see in the top left corner there is Video Editor, is that a specific type of project?
      also tx for answering

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

      @@Catuta it's just the name of my unity project. I've coded custom animation tools and vector graphics rendering to make my videos with

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

      @@acegikmo thank you very much for your answer

  • @malusmundus-9605
    @malusmundus-9605 11 місяців тому

    The cat is a boss

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

    What is that drawing pad that you use?

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

      I can't quite tell either but it looks like some kind of Wacom

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

    OMG!

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

    I usally use my pointer finger

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

    0:07

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

    can a selftaugh programmer find a job in video game sector as a programmer without a computer science degree?

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

      They hire from code camps usually, though self-taught has been valuable in recent innovative years; possibly though you will find major “crunch” expectations when working with major developer companies.

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

    My Siamese cat sounded just like that when he was being moody

  • @Peregonn1
    @Peregonn1 5 місяців тому

    Isn't that neat? - it is.

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

    2:11:15 -> There is another reason why you'd want to use Quaternions. Gimbal lock .. or rather, the lack thereof. Edit: I jumped the gun :D

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

    👍

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

    she's pretty

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

    1000 like

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

    Stay still for a second ffs

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

    Wgarbl

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

    I came to figure out if she's a trans (male to female) but stayed for the math

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

      Amazing compliment, dude. Must have taken a lot of brain power to come up with that one.