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

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 เม.ย. 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

ความคิดเห็น • 68

  • @monetmonteal3181
    @monetmonteal3181 8 วันที่ผ่านมา

    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

  • @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 TH-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 TH-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

  • @liamsmyth3849
    @liamsmyth3849 ปีที่แล้ว +29

    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!

  • @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.

  • @mattwillis3219
    @mattwillis3219 ปีที่แล้ว +9

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

  • @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

  • @clarapunales8304
    @clarapunales8304 8 หลายเดือนก่อน +1

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

  • @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. 👍👍

  • @stephencurtis2282
    @stephencurtis2282 ปีที่แล้ว

    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.

  • @gsuberland
    @gsuberland 11 หลายเดือนก่อน

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

  • @kanamis
    @kanamis 11 หลายเดือนก่อน

    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

  • @m4tin_e
    @m4tin_e ปีที่แล้ว +3

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

  • @MarvinStoker
    @MarvinStoker ปีที่แล้ว

    Just discovered the channel ! Thanks for sharing knowledge , subbed

  • @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 :)

  • @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.

  • @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.

  • @bagas-na
    @bagas-na ปีที่แล้ว +3

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

  • @Catuta
    @Catuta ปีที่แล้ว

    you just got yourself a new subscriber

  • @charlesabramo6782
    @charlesabramo6782 9 หลายเดือนก่อน

    I hope you enjoyed your experiment. I surely did.

  • @themathematicianisin935
    @themathematicianisin935 หลายเดือนก่อน

    谢谢!

  • @JohnAlamina
    @JohnAlamina ปีที่แล้ว

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

  • @fhdhsni
    @fhdhsni 11 หลายเดือนก่อน

    Thanks!

    • @acegikmo
      @acegikmo  11 หลายเดือนก่อน

      and thank you!

  • @chibiparadox
    @chibiparadox ปีที่แล้ว +1

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

  • @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.

  • @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 8 หลายเดือนก่อน

    • @6x6ss
      @6x6ss 8 หลายเดือนก่อน

      😅

  • @GamerChunkZ
    @GamerChunkZ ปีที่แล้ว +1

    Do more related to math's for gamers.

  • @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.

  • @vima9046
    @vima9046 ปีที่แล้ว

    Wgarbl is the new E=mc²!

  • @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

  • @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

  • @eternaldoorman5228
    @eternaldoorman5228 ปีที่แล้ว +1

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

  • @abbasballout4441
    @abbasballout4441 9 หลายเดือนก่อน

    What is that board

  • @meetarthur9427
    @meetarthur9427 ปีที่แล้ว +1

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

  • @skeleton_craftGaming
    @skeleton_craftGaming ปีที่แล้ว

    I usally use my pointer finger

  • @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.

  • @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 6 หลายเดือนก่อน

    OMG!

  • @malusmundus-9605
    @malusmundus-9605 10 หลายเดือนก่อน

    The cat is a boss

  • @Peregonn1
    @Peregonn1 4 หลายเดือนก่อน

    Isn't that neat? - it is.

  • @abrown628318
    @abrown628318 ปีที่แล้ว

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

  • @6x6ss
    @6x6ss 8 หลายเดือนก่อน

    0:07

  • @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.