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

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

КОМЕНТАРІ • 49

  • @Christopher-D
    @Christopher-D Рік тому +41

    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 Рік тому +9

    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 2 роки тому +10

    thank You for this content Freya!! ❤️

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

    3rd assignment were easier than the second.

  • @francoperez4593
    @francoperez4593 10 місяців тому +1

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

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

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

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

    Thank you so much for this great series.

  • @xhivo97
    @xhivo97 Рік тому +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.

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

    Thank you very much Freya! You are the best

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

    For local to world conversion I'm just adding the parent vector to the child vector and I'm getting the correct world coordinates for the child. I'm not quite sure why multiplication is needed here.

    • @amwcodes9715
      @amwcodes9715 4 місяці тому

      I was doing the same and though "that was easy" but I don't think that accounts for rotation

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

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

    Gems, the game changer!

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

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

  • @BomTheJohn
    @BomTheJohn Рік тому +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.

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

    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 Рік тому +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 Рік тому

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

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

    nice series :)

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

    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 Рік тому

      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

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

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

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

    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?

  • @alec_almartson
    @alec_almartson 2 роки тому +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.

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

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

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

    yep im offically stupid cause i didnt get assignment 2

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

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

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

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

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

      three cats! thor, salad and toast

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

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

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

    good player

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

    1:27:00

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

    this is the path of heaven !!

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

    Should have given timesamps

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

    WHY AM I HERE ?

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

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

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

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

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

    the out keyword is kinda hot ngl

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

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

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

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

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

      @@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 Рік тому

      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.

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

    LOL CAT

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

    hay qua ban oi