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
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.
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.
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.
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.
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.
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?
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
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
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?
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.
@@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.
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.
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
Thanks!
you're goated btw
You forgot the catscenes :)
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.
0:0:07 the car walks
thank You for this content Freya!! ❤️
3rd assignment were easier than the second.
1:17:45
1:22:35 (how to reflect a vector)
I managed to do all of them, took all day can't wait to see how you did it.
Thank you so much for this great series.
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.
Thank you very much Freya! You are the best
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.
I was doing the same and though "that was easy" but I don't think that accounts for rotation
Gems, the game changer!
honestly freya's life is my dream life: Game development and math, all while surrounded by adorable cats :3
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.
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.
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?
@@xhivo97 Excuse me, how/where did you learned how to get the direction vectors from the rotation?
nice series :)
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
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
why is neccecery to calculate Dot product in worldToLocal function while rel's x and y is already same as local vector ?
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?
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.
the interactive website doesn't work on the interactive part anymore 😭 i'm using firefox
yep im offically stupid cause i didnt get assignment 2
hi You can't make a patch for Uncharted game that runs on old graphics
Thanks again for sharing knowledge! How many cats you got?
three cats! thor, salad and toast
@@acegikmo great ! I have 2 : Henri Bourrachat and Djinny.
Happy new year from Québec !
good player
1:27:00
this is the path of heaven !!
Aaaaz,
Should have given timesamps
WHY AM I HERE ?
in formula r = d - 2(d.n)n, Why are we doing orignalDirection - vectorProjection
i think that was probably to reflecting the direction after reach the normal surface
the out keyword is kinda hot ngl
Not a c# user but idk how I feel about the scope being outside the if block.
@@xhivo97 I think technically the if block is only between the { } and the condition is not part of it :P
@@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.
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.
LOL CAT
hay qua ban oi