Math for Game Devs [2022, part 2] solutions for assignments 1-3

Sdílet
Vložit
  • čas přidán 25. 10. 2022
  • Primarily for my students at FutureGames - I will only read chat/superchats during breaks!
    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

Komentáře • 48

  • @Christopher-D
    @Christopher-D Před rokem +35

    My rough timestamps:
    7:36 Assignment 1, Radial Trigger
    43:07 Assignment 2, Bouncing Lazer/Reflecting Vectors
    1:57:39 Rendering Normals that aren't Normalized
    2:07:55 Assignment 3a, Transforming Local Space to World Space
    2:29:03 Assignment 3b, Transforming World Space to Local Space
    2:49:05 Questions

  • @Hasde_dfs
    @Hasde_dfs Před 8 měsíci +8

    This is underrated, you are making tutorials helpful enough to give people a good understanding of a subject while also showing good applications of the concepts, hidden gem.

  • @andvaribekho
    @andvaribekho Před rokem +9

    thank You for this content Freya!! ❤️

  • @mibforunity
    @mibforunity Před rokem +3

    Thank you so much for this great series.

  • @vima9046
    @vima9046 Před rokem +1

    Thank you very much Freya! You are the best

  • @xhivo97
    @xhivo97 Před 11 měsíci

    I managed to do all of them, took all day can't wait to see how you did it.

  • @BomTheJohn
    @BomTheJohn Před 9 měsíci +1

    Where can i download the psd file (or image) of the calculations? I want to use it as a reference.
    btw It's a pity that Futuregames' educations are not online. It is impossible for me to go to Sweden to follow the training. Otherwise I would have signed up right away.

  • @xhivo97
    @xhivo97 Před 11 měsíci +1

    The only reason 3b was easier for me was because they are quite similar probablems and solving 3a quite manually, gave me enough insight to be able to solve 3b with trial and error. The issue here is that I still don't have good intuition on these things. I feel like sllolving more vector problems will help me with that.

  • @francoperez4593
    @francoperez4593 Před 4 měsíci +1

    1:17:45
    1:22:35 (how to reflect a vector)

  • @glaze4629
    @glaze4629 Před rokem +2

    2:16:47 I wonder if this something specific to game development as i'm not that (I'm just learning math for animations), but I can not figure out what does multiplying the basis vector by the coordinate means

    • @cptwoody7103
      @cptwoody7103 Před rokem

      idk if I got it right . imagine we have 1 box object in world space , that box has own coordinate (x,y)
      but in unity we has transform.right for x axis of object itself and transform.up for y axis of itself. both are basis vector and normalized.
      somehow those has built-in calculate for rotation already (so we dont talk about rotation here) that's mean any number that you want
      (like your own coordinate value x,y aka. your imagine vector2 )split x and y and pair to basis vector from box space then multiply for each basis vector x and y axis then sum up to get local point in box space instead of world space.
      if you still catch up with me. now we can move the box to any position along with custom vector2 but relate to box space
      // p.s. my English skill is kinda suckass ´
      //p.s.2 i could miss the point and out of line

  • @EgorChebotarev
    @EgorChebotarev Před rokem +1

    nice series :)

  • @yasasvitennety4885
    @yasasvitennety4885 Před měsícem

    Hey Freya, for question 3a and 3b, I just subtracted the world space position of one point from its parent to get the local space, and added the parent's coordinates to the local space to get the world space. I did that since it's a simple offset calculation. Is my understanding of the problem not correct?

  • @OmerFarukGonen
    @OmerFarukGonen Před 10 měsíci +2

    3rd assignment were easier than the second.

  • @Vuecheap
    @Vuecheap Před 4 měsíci

    why is neccecery to calculate Dot product in worldToLocal function while rel's x and y is already same as local vector ?

  • @peatipsaesee716
    @peatipsaesee716 Před 10 měsíci

    Gems, the game changer!

  • @isilozcelik
    @isilozcelik Před rokem

  • @musicworld2024
    @musicworld2024 Před rokem +1

    hi You can't make a patch for Uncharted game that runs on old graphics

  • @MarvinStoker
    @MarvinStoker Před rokem +1

    Thanks again for sharing knowledge! How many cats you got?

    • @acegikmo
      @acegikmo  Před rokem +2

      three cats! thor, salad and toast

    • @MarvinStoker
      @MarvinStoker Před rokem +2

      @@acegikmo great ! I have 2 : Henri Bourrachat and Djinny.
      Happy new year from Québec !

  • @andriypostelzhuk9655
    @andriypostelzhuk9655 Před rokem +3

    Wow! Wait a minute. It's not fair approach to convert from local to world space. I was wondering how is this possible to do with only knowledge of vectors, without matrices. Freya is using Transform position, right, up properties. This properties should use localToWorld matrices under the hood. This is not pure math solution.

    • @xhivo97
      @xhivo97 Před 11 měsíci +1

      Yes, I also thought that was too easy. I did it on raylib with pure vectors and the hardest part was finding out the right direction of my points direction. I'm guessing this explains how many people said 3a was harder, they must've not used transforms?

    • @filiperubin
      @filiperubin Před 10 měsíci

      @@xhivo97 Excuse me, how/where did you learned how to get the direction vectors from the rotation?

  • @weltraumimport
    @weltraumimport Před 6 měsíci

    the interactive website doesn't work on the interactive part anymore 😭 i'm using firefox

  • @Smith-wp7wn
    @Smith-wp7wn Před 3 měsíci

    COuld you please share your Notepad++ theme? Either link or a name is good

    • @supertenchoo4271
      @supertenchoo4271 Před 3 měsíci

      She is using Rider IDE which is a paid IDE not Notepad++

    • @Smith-wp7wn
      @Smith-wp7wn Před 3 měsíci

      @@supertenchoo4271
      thanks

  • @pinkigupta5104
    @pinkigupta5104 Před rokem

    good player

  • @alec_almartson
    @alec_almartson Před rokem +4

    Cool video. Thank you for sharing your knowledge.
    I love Mathematics.
    The beauty of Math, (in my personal opinion), is that it shows you how everything fits, numerically... Existence itself is governed by thousands of variables, equations (Quantum Physics, etc), that are changing and evolving every fraction of second (or frame). When I see something as beautiful as the Sunset, with all its colors... and also I remember that there is a Mathematical Truth like this behind all that, I can't help but believe that God has to exist, because this Work of Art didn't write itself alone, there must be a super Geek Artist behind this... sort of... Amazing & Beautiful Matrix... we live in.

  • @-Nighty.YT-
    @-Nighty.YT- Před 10 měsíci

    luvv the catttttttzzzz :3

  • @kono152
    @kono152 Před 7 měsíci

    honestly freya's life is my dream life: Game development and math, all while surrounded by adorable cats :3

  • @marcelgraf5520
    @marcelgraf5520 Před 11 měsíci

    1:27:00

  • @toby818
    @toby818 Před 5 měsíci

    yep im offically stupid cause i didnt get assignment 2

  • @zxdelt3015
    @zxdelt3015 Před rokem

    Should have given timesamps

  • @cptwoody7103
    @cptwoody7103 Před rokem +1

    this is the path of heaven !!

  • @saikosam8032
    @saikosam8032 Před 4 měsíci

    WHY AM I HERE ?

  • @lindhalin
    @lindhalin Před 6 měsíci

    LOL CAT

  • @lievenpetersen
    @lievenpetersen Před rokem

    the out keyword is kinda hot ngl

    • @xhivo97
      @xhivo97 Před 11 měsíci

      Not a c# user but idk how I feel about the scope being outside the if block.

    • @lievenpetersen
      @lievenpetersen Před 11 měsíci

      @@xhivo97 I think technically the if block is only between the { } and the condition is not part of it :P

    • @xhivo97
      @xhivo97 Před 11 měsíci

      @@lievenpetersen Yes, but here's where the confusion comes for me: since most languages allow you to define new variable in for loops' (/*here*/), that variable has local scope inside that for loop only.
      There are other languages that have syntactic sugar to do something like this pseudo code here:
      if (int flag = getFlag(); flag == true) {
      // flag has local scope in the if
      }
      Odin does that, but I wrote it in C like syntax in the above example.
      But the out keyword is syntactically quite different and I'm sure there's advantages and disadvantages to having it scope outside.

    • @xhivo97
      @xhivo97 Před 11 měsíci

      To add to this, I feel like if it has local scope it's a unique feature, as it is not the same as defining it before the if statement and might lower the chances for mistakes in some cases; while the out keyword seems to me it's equivalent to declaring it on top of the if statement without the added advantage scope minimization.

  • @user-be1dn8dd8x
    @user-be1dn8dd8x Před 10 měsíci

    in formula r = d - 2(d.n)n, Why are we doing orignalDirection - vectorProjection

    • @dickyd242
      @dickyd242 Před 10 měsíci

      i think that was probably to reflecting the direction after reach the normal surface

  • @mustarjaat
    @mustarjaat Před rokem

    hay qua ban oi