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

2024 ж. 9 Мам.
174 865 Рет қаралды

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

Пікірлер
  • 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.

    @tswdev@tswdev Жыл бұрын
  • 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

    @vaskokovachev5300@vaskokovachev5300 Жыл бұрын
    • You should look at the math side of KZhead, lots of great stuff

      @frizzel4@frizzel4 Жыл бұрын
    • @@frizzel4 What do u mean for math side?

      @vima9046@vima9046 Жыл бұрын
    • @@vima9046 well there are a million really talented math creators on KZhead but one people always kinda start with is 3Blue1Brown cause his videos are pretty easy to get into

      @frizzel4@frizzel4 Жыл бұрын
    • @@frizzel4 you have any suggestions you can give

      @manyshekkel@manyshekkel11 ай бұрын
  • 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!

    @liamsmyth3849@liamsmyth3849 Жыл бұрын
  • Awesome math series Freya! Thankyou so much for your amazing work ❤❤

    @mattwillis3219@mattwillis3219 Жыл бұрын
  • 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

    @monetmonteal3181@monetmonteal318119 күн бұрын
  • 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

    @TheRottenICE@TheRottenICE Жыл бұрын
  • you just explained complex numbers better than my uni professor, you are amazing

    @clarapunales8304@clarapunales83049 ай бұрын
  • 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. 👍👍

    @baselpro5228@baselpro5228 Жыл бұрын
  • 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

    @kanamis@kanamis11 ай бұрын
  • 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.

    @stephencurtis2282@stephencurtis2282 Жыл бұрын
  • Just discovered the channel ! Thanks for sharing knowledge , subbed

    @MarvinStoker@MarvinStoker Жыл бұрын
  • I can't thank you enough Freya! You made me love math.

    @m4tin_e@m4tin_e Жыл бұрын
  • "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.

    @echoes6092@echoes6092 Жыл бұрын
  • That coefficient constraint trick in Desmos made me say "woah" out loud. Did not know you could do that.

    @gsuberland@gsuberland11 ай бұрын
  • This content is actual distilled gold of knowledge. Thank you for sharing this with us

    @bagas-12123@bagas-12123 Жыл бұрын
  • 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

    @372leonard@372leonard Жыл бұрын
    • 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 :)

      @acegikmo@acegikmo Жыл бұрын
  • Thank you!

    @NelsonRgutierrez@NelsonRgutierrez Жыл бұрын
  • 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.

    @allemangd@allemangd Жыл бұрын
  • you just got yourself a new subscriber

    @Catuta@Catuta Жыл бұрын
  • Thanks!

    @fhdhsni@fhdhsni11 ай бұрын
    • and thank you!

      @acegikmo@acegikmo11 ай бұрын
  • Hi! It would be nice if you can also leave in your KZhead description the tools you are working with. Thanks

    @JohnAlamina@JohnAlamina Жыл бұрын
  • 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.

    @MarkTillotson@MarkTillotson Жыл бұрын
  • Do more related to math's for gamers.

    @GamerChunkZ@GamerChunkZ Жыл бұрын
  • I hope you enjoyed your experiment. I surely did.

    @charlesabramo6782@charlesabramo67829 ай бұрын
  • 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.

    @gsuberland@gsuberland11 ай бұрын
    • @6x6ss@6x6ss9 ай бұрын
    • 😅

      @6x6ss@6x6ss9 ай бұрын
  • 谢谢!

    @themathematicianisin935@themathematicianisin9352 ай бұрын
  • 29:25 If that curve were expressed as a Bezier curve, ...

    @eternaldoorman5228@eternaldoorman5228 Жыл бұрын
  • what type of project for unity did u use for the video editor part (1:23:40-1:26:00)

    @Catuta@Catuta Жыл бұрын
    • what do you mean by type of project?

      @acegikmo@acegikmo Жыл бұрын
    • ​@@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

      @Catuta@Catuta Жыл бұрын
    • @@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

      @acegikmo@acegikmo Жыл бұрын
    • @@acegikmo thank you very much for your answer

      @Catuta@Catuta Жыл бұрын
  • What is that board

    @abbasballout4441@abbasballout44419 ай бұрын
  • ok someone has to make 4D chess VR - where you can only see the board from your pieces perspective

    @chibiparadox@chibiparadox Жыл бұрын
  • 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?

    @Aleteos@Aleteos Жыл бұрын
    • It can help to subsequently iterate what your counterpart was comparable to.

      @BlueNEXUSGaming@BlueNEXUSGaming Жыл бұрын
    • @@BlueNEXUSGaming I have no idea what any of that means.

      @Aleteos@Aleteos Жыл бұрын
    • @@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.

      @BlueNEXUSGaming@BlueNEXUSGaming Жыл бұрын
    • 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.

      @APaleDot@APaleDot Жыл бұрын
  • What is that drawing pad that you use?

    @morningstarsci@morningstarsci Жыл бұрын
    • I can't quite tell either but it looks like some kind of Wacom

      @echoes6092@echoes6092 Жыл бұрын
  • can a selftaugh programmer find a job in video game sector as a programmer without a computer science degree?

    @bruholojist3276@bruholojist3276 Жыл бұрын
    • 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.

      @BlueNEXUSGaming@BlueNEXUSGaming Жыл бұрын
  • Wgarbl is the new E=mc²!

    @vima9046@vima9046 Жыл бұрын
  • i don't know why this shows up on my yt recom, but it's dope, although my math is so terrible ahhahahaha

    @zubairrahmaanugrah6011@zubairrahmaanugrah6011 Жыл бұрын
  • I usally use my pointer finger

    @skeleton_craftGaming@skeleton_craftGaming Жыл бұрын
  • OMG!

    @varunahlawat9013@varunahlawat90137 ай бұрын
  • Okay, youtube, you caught me on that, that math thing clickbait me to watch this kitty video.

    @meetarthur9427@meetarthur9427 Жыл бұрын
  • The cat is a boss

    @malusmundus-9605@malusmundus-960510 ай бұрын
  • 0:07

    @6x6ss@6x6ss9 ай бұрын
  • My Siamese cat sounded just like that when he was being moody

    @abrown628318@abrown628318 Жыл бұрын
  • 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

    @tswdev@tswdev Жыл бұрын
  • Isn't that neat? - it is.

    @Peregonn1@Peregonn14 ай бұрын
  • 👍

    @realcygnus@realcygnus Жыл бұрын
  • 1000 like

    @kingdomcome4928@kingdomcome4928 Жыл бұрын
  • she's pretty

    @illustrisartifex1767@illustrisartifex1767 Жыл бұрын
  • Stay still for a second ffs

    @obiwanjaco@obiwanjaco Жыл бұрын
  • Wgarbl

    @Catuta@Catuta Жыл бұрын
  • I came to figure out if she's a trans (male to female) but stayed for the math

    @Crazy1793@Crazy1793 Жыл бұрын
    • Amazing compliment, dude. Must have taken a lot of brain power to come up with that one.

      @DasAntiNaziBroetchen@DasAntiNaziBroetchen Жыл бұрын
KZhead