Great visualization with the "dials" in the matrix and very nice way of connecting 2D transformations with the side of a 3D cube. I never saw it so neatly presented.
An excellent piece of video. Teaches you 2 days of studying the topic on the article. I can't imagine the effort being put onto these visualization tho. Thanks!
This was an interesting and helpful visualization of affine transformations. I liked linear algebra, programming, and their applications in games, and I always wondered how to visualize the points of the 2d affine transformation in 3d space. I also never noticed that the rotation matrix could also be a composition of shearing and scaling (but also I learned that it is also a composition of two reflections).
My God, if only this sort of explanation was available back in the 70's when I was studying calculus and advanced math. Eventually, I even had a set of microfilms of Oliver Heaviside's notebooks and was working through and following his work. Eventually I moved on to software work and donated it all to the Brown Univ. Electrical Engineering Dept. where, I'm sure, it was long since lost and forgotten.
My intuition is that the columns in the matrix tell you where the (tips of) the unit vectors end up. In my mind, I also picture it as viewing from the top at z=1 so that the last column works properly. That way I can quickly create a grid from those vectors and draw the shape in that transformed grid
I love the use of dialogy to solve the matrix math problem of representation. In a quantum system of adjustment, a "::" has toggles and sliders to shift coupled AI perception. Since a "::", ":;", ";:", etc. is bijective and modular between containers.
The science boss is back! I must say Jimmy that you are looking affine! Great video, but what I'm really wondering is..... how does this transformation relate to the tesseract?
I really enjoyed this explanation - one of the best I have seen. I particularly liked your dial visualisation! I always knew it did that but seeing each dial and how the vertices moved accordingly really made it click - especially in the 3D mapped to 2D case.
Very cool! The perspective of holding all matrix values except one constant and shifting it while seeing the effect on the square is new to me. Great stuff, keep it up, subscribed!
Thats insane , a nother video about it please , the couple passed days ive just start digging about it , and yeah here u ar . More detailed video would be pleasuer. Great work man !
In my book, matrices were explained with some abstract definition (great for math student's first course...), and as a system of linear equations From 3blue1brown's videos I've learned to see the columns as where the basis vectors land, which helped a great deal in the visualisations Now this seeing the numbers as dials really makes me feel like I understand how to look at the numbers of a matrix and see it's effect as a transformation, especially combined with 3b1b's basis column visuals
Well she doesnt like her 6th grade students .. Just focus on Jesus man... Your mom and I are talking about what the next step is with you. We're concerned you may need meds
I understand matrices in completely different way that allows me to construct them directly. Multiply matrix times vectors by hand writing down complete equations like v.x'=v.x*r1c1+v.y*r1c2+v.z*r1c3 (normally m11... or m00..., i wanted to make clear what is row and column) Now try unit vector v.x=1. You will notice that first column is basically how will transformed unit vector x look like. Second column is for vector y, third for z. If you take any vector you can write it as sum of unit vectors with some scale so it can transform any vector. Do you want rotation by 30 degrees? Ok. Let's start with x. Ok, unit vector x will be tranformed into cos30 in x and sin30 in y -> first column. vector y will be transformed into something pointing left and up, so -sin30 in x and cos30 in y -> second column. Do you want translation for points, but not vectors? Expand matrix to 3x3, assign z=1 to points and z=0 to vectors. Write translation in tx,ty to third column and let r3c3=1. Now if v.z is equal 1, it will be transformed into vector tx,ty and z will remain 1. If original vector had v.z=0 it won't be affected by translation and z will remain 0. You may ignore that z is "borrowed" from 3rd dimension and you may call it w to make it less confusing and compatible with 3D transformations. This way you can even do some stuff like align two 3D objects, e.g to align screw with hole in some mechanical part if you can measure some vectors and points for reference.
The way you explained how translation works with the homogenous coordinate was awesome, I finally understand it now :) If we're only concerned about 2D, what would happen if that third coordinate is not 1?
Sorry, somehow only seeing this comment now. I show that in the algorithm archive (and also as a brief side-note at the end of the video), but this essentially scales the z axis.
Those are really cool ideas! I certainly like more the one that translation by using augmented matrix is basically a shear using 4th dimension. But the one about rotation = shear + scale is certainly adds to understanding to how a shear works for me.
Nice. I like the visualizations. You can also do this in an extended complex form with √k instead of i. If I remember correctly, k is cotangent to the angle of a line through the origin from the lower left to the upper right corners. The sign of k defines whether it is stretching or skewing and whether rotations are elliptic or hyperbolic. At 45⁰, it's circular rotation if negative. If positive, the angle is of the asymptote of the rotational hyperbola. It can be more computationally and space efficient than matrices in some cases. You might be able to do the same hacky combination of the affine using a similarly extended quaternion but I haven't tried that yet.
@@LeiosLabs I have yet to find anyone else using them this way so that's nice to hear. I expect someone does, I just haven't figured out what they call it. People usually stick to a k of -1, 0, or 1 (Complex, Dual and Split-complex) and never mix them other than hierarchically but it's possible to generalize the algebra, the trigonometric functions and even flip the sign of k (swap the real and norm) and do operations between numbers with different k values. I find it useful for things like orbital dynamics and relativistic physics. Also unit conversions as |k| is effectively the ratio of the units of the real and imaginary part... such as k=1/c for dτ=||dt+dx√k|| which I find less messy than using cdτ (ds) and cdt everywhere-at least in software where I need to retain time and proper time in time units, for instance, rather than length units.
@@LeiosLabs :D I guess any practical application? Or (perhaps more theoretical than this channel usually posts) exploration of covariance / contravariance?
Honestly, one of the main reasons I made this video was because of the confusion in the comment section for that video... but seeing the projection matrix from 4D -> 3D would be cool!
nice! i am looking for grid deformation due to straightening a function. say i am traveling along y=0, in our 3d world (z=0), using perspective, i'd see equally deformed "squares" on both my sides. in 2d, the cartesian grid will not change, as the line is straight and parallel to the x-axis. I would like to "see" what happens to the grid if i travel along y=x, and if i make the graph a straight horizontal line. same for y=x^2 and for y=x^3 and for y=sin(x). can you point me in the right direction? thank you!
This is a weird comment. But I feel like your voice doesn't match your face. Like I've never felt this way before in my life and it's really strange. It's not an insult at all. You have both a nice voice and nice face! It's just super weird seeing you sound like that. Idk how to describe it!!! It's crazy. Has anyone said this to you before? Awesome video btw. I'm studying fractal topology and this was super helpful!
Been on TH-cam and twitch for years and have never heard that specifically. I have been told I sound like a teenager / feminine / nerdy when it's just my voice.
@@LeiosLabs IFS is the goal I'm working toward! I'm still new to the subject. Working through the first chapter of "Fractal Geometry" by Kenneth Falconer.
@@dutonic yeah, IFSs are really fun. I actually use them all the time for various tasks. There will (hopefully) be a video later this year showing how useful they are
@@LeiosLabs would any of those streams be available somewhere? A second channel or twitch or other? I’d love to see one. I don’t think I’d have the skill to do it anyway I’m just curious about the process. Thanks.
Visualising matrix elements as dials is genius!
Glad to see a new video and excited for what comes next. :)
I kinda knew this but seeing it really helps. Especially that third row.
Yeah, I was the same way! I was hoping this helped someone who was also in the same boat!
Same here
Best tutorial. It doesn't give you a formula to summarize, it gives INTUITION. Greate job
Great visualization with the "dials" in the matrix and very nice way of connecting 2D transformations with the side of a 3D cube. I never saw it so neatly presented.
- Great job; well presented.
- Does indeed get at good intuition.
No budy in the world had ever taught math like this!! Thanks a lot ❤
Please make more videos this is great
New videos are on the way (along with chapters and other cool projects)!
Wow, never thought of visualizing the elements as controling shearing and scaling. And consolidating 2D affine into 3D linear is just wonderful
This is the best explanation of affine transformation out there
An excellent piece of video. Teaches you 2 days of studying the topic on the article. I can't imagine the effort being put onto these visualization tho. Thanks!
Sometimes i really feel tht this is very underrated math channel ❤️🔥
Glad you like the content!
This was an interesting and helpful visualization of affine transformations. I liked linear algebra, programming, and their applications in games, and I always wondered how to visualize the points of the 2d affine transformation in 3d space. I also never noticed that the rotation matrix could also be a composition of shearing and scaling (but also I learned that it is also a composition of two reflections).
My God, if only this sort of explanation was available back in the 70's when I was studying calculus and advanced math. Eventually, I even had a set of microfilms of Oliver Heaviside's notebooks and was working through and following his work. Eventually I moved on to software work and donated it all to the Brown Univ. Electrical Engineering Dept. where, I'm sure, it was long since lost and forgotten.
with visualizations, the affine transformations are illustrated in a very simple and easy to understand manner. very thanks
My intuition is that the columns in the matrix tell you where the (tips of) the unit vectors end up. In my mind, I also picture it as viewing from the top at z=1 so that the last column works properly. That way I can quickly create a grid from those vectors and draw the shape in that transformed grid
Yeah, this was the way 3blue1brown showed it in his video on linear transformations. I didn't exactly want to tread the same ground ^^
I love the use of dialogy to solve the matrix math problem of representation. In a quantum system of adjustment, a "::" has toggles and sliders to shift coupled AI perception. Since a "::", ":;", ";:", etc. is bijective and modular between containers.
That is so cool can't wait to see what's next.
The science boss is back! I must say Jimmy that you are looking affine! Great video, but what I'm really wondering is..... how does this transformation relate to the tesseract?
The projection matrices from 4d -> 3d are kinda the same in a way. In addition, the transformation matrices used in my video on the topic are affine.
@@LeiosLabs I feel a related tesseract video is in order! Also the youtube algorithm will love you
You are talented. Please upload more of your videos.
I really enjoyed this explanation - one of the best I have seen. I particularly liked your dial visualisation! I always knew it did that but seeing each dial and how the vertices moved accordingly really made it click - especially in the 3D mapped to 2D case.
actually great, and intuitively easy to understand, explanation
That was a great explanation and clearly showed the connection and translation (pun intended) from numbers to graphics. 👍
Very cool! The perspective of holding all matrix values except one constant and shifting it while seeing the effect on the square is new to me. Great stuff, keep it up, subscribed!
Happy to hear it was useful!
Best explanation for affine transformations
This visuals are great. Really enjoyed this video.
Thats insane , a nother video about it please , the couple passed days ive just start digging about it , and yeah here u ar .
More detailed video would be pleasuer.
Great work man !
Glad you liked it!
Great idea with the dials!
This is a great video about tensors ! You should totally do a video about fluid mechanics and Reynolds stresses ^^
So mesmerizing.. A beautiful intuitive explanation I've ever seen! Thank you bro!
I was a little put off by the exaggeratedly compassionate soft warm voice but the visualization gave me a really nice mind blown moment. Thanks!
That was a great video to get a intuition. Hope to see your next video soon.
In my book, matrices were explained with some abstract definition (great for math student's first course...), and as a system of linear equations
From 3blue1brown's videos I've learned to see the columns as where the basis vectors land, which helped a great deal in the visualisations
Now this seeing the numbers as dials really makes me feel like I understand how to look at the numbers of a matrix and see it's effect as a transformation, especially combined with 3b1b's basis column visuals
your detailed explanation in algorithm archive really amazed me!!
woahh, was just learning opengl and wondering why the need of vec4/mat4 instead of vec3/mat3x3. Really well made video!
Ah, that's a good application!
absolutely amazing
visualisations just make this thing a whole lot more sensible!
That was an amazing perspective to look at it..
The concept is super awesome!! Hope every high school teacher introduces matrix in such intuitive ways!!
Really useful - quick and comprehensible. Thank you!
yay, new leios~
Absolutely amazing explanation, thank you so much! Way more intuitive than my course material.
great explanation
Awesome video. Super easy to follow
Great video! Homogenous coordinates are an awesome topic and (in my opinion) not hacky at all! I'd love to see more on them
To be fair, I played up the "hackiness" of them too much. You are 100% right!
hi. james was it? anyways, im one of your mom's students
Haha, that's great! From the elementary school?
@@LeiosLabsLive yeah
crazy line of addressal
@@cringy7-year-old5 💀
Well she doesnt like her 6th grade students ..
Just focus on Jesus man...
Your mom and I are talking about what the next step is with you. We're concerned you may need meds
I understand matrices in completely different way that allows me to construct them directly.
Multiply matrix times vectors by hand writing down complete equations like v.x'=v.x*r1c1+v.y*r1c2+v.z*r1c3 (normally m11... or m00..., i wanted to make clear what is row and column)
Now try unit vector v.x=1. You will notice that first column is basically how will transformed unit vector x look like. Second column is for vector y, third for z.
If you take any vector you can write it as sum of unit vectors with some scale so it can transform any vector.
Do you want rotation by 30 degrees? Ok. Let's start with x. Ok, unit vector x will be tranformed into cos30 in x and sin30 in y -> first column. vector y will be transformed into something pointing left and up, so -sin30 in x and cos30 in y -> second column. Do you want translation for points, but not vectors? Expand matrix to 3x3, assign z=1 to points and z=0 to vectors. Write translation in tx,ty to third column and let r3c3=1. Now if v.z is equal 1, it will be transformed into vector tx,ty and z will remain 1. If original vector had v.z=0 it won't be affected by translation and z will remain 0. You may ignore that z is "borrowed" from 3rd dimension and you may call it w to make it less confusing and compatible with 3D transformations.
This way you can even do some stuff like align two 3D objects, e.g to align screw with hole in some mechanical part if you can measure some vectors and points for reference.
You are a god at communicating this stuff dude, thank you!
Great Visualization
your visualization works are awesome!
Great idea with matrix of dials!
Thanks brother! Great video
HOPE YOU WERE THERE IN MY COLLEGE AS MY PROF.
Great video!! Jusr finished linear algebra course and watching those kind of explanations is awesome and inspiring!
The way you explained how translation works with the homogenous coordinate was awesome, I finally understand it now :)
If we're only concerned about 2D, what would happen if that third coordinate is not 1?
Sorry, somehow only seeing this comment now. I show that in the algorithm archive (and also as a brief side-note at the end of the video), but this essentially scales the z axis.
You are amazing brother ! Halelujah
Those are really cool ideas! I certainly like more the one that translation by using augmented matrix is basically a shear using 4th dimension.
But the one about rotation = shear + scale is certainly adds to understanding to how a shear works for me.
This is a very clear intuitive explanation man, thanks!
Fantastically explained! 👍🙂
"rotation = scaling + shearing"
BAM!!!
Thanks a lot,it's clear and intuitive.
Great mental model with the horizontal/vertical/diagonal dials. Love it!
Any teaser on what topics we get to look forward to with your videos in 2021?
I guess the best teaser would be to "DNA digivolve my existing videos."
@@LeiosLabs Had to google that (non-digimon-viewer), sounds interesting, can't wait!
@@guyindisguise in hindsight, I should have just said "mix." Sorry for the confusion!
What a great and clear video!
Glad you liked it!
After too many long days
Nice. I like the visualizations.
You can also do this in an extended complex form with √k instead of i. If I remember correctly, k is cotangent to the angle of a line through the origin from the lower left to the upper right corners. The sign of k defines whether it is stretching or skewing and whether rotations are elliptic or hyperbolic. At 45⁰, it's circular rotation if negative. If positive, the angle is of the asymptote of the rotational hyperbola. It can be more computationally and space efficient than matrices in some cases.
You might be able to do the same hacky combination of the affine using a similarly extended quaternion but I haven't tried that yet.
This is an interesting perspective I had not thought about. I need to look into it more! Thanks for the comment!
@@LeiosLabs I have yet to find anyone else using them this way so that's nice to hear. I expect someone does, I just haven't figured out what they call it.
People usually stick to a k of -1, 0, or 1 (Complex, Dual and Split-complex) and never mix them other than hierarchically but it's possible to generalize the algebra, the trigonometric functions and even flip the sign of k (swap the real and norm) and do operations between numbers with different k values. I find it useful for things like orbital dynamics and relativistic physics. Also unit conversions as |k| is effectively the ratio of the units of the real and imaginary part... such as k=1/c for dτ=||dt+dx√k|| which I find less messy than using cdτ (ds) and cdt everywhere-at least in software where I need to retain time and proper time in time units, for instance, rather than length units.
I've just started watching , it's so good, have you been teaching?
so cool explanation!
Its staying in the head for longer after watching this video!
awesome explanation
Beautiful :). Great animations; very intutive.
Like before I even watch
I hope I didn't disappoint!
great thank you
Great vid! Ive been learning tensors recently so - are there any plans for a relative video?
What do you want to learn about tensors?
@@LeiosLabs :D I guess any practical application? Or (perhaps more theoretical than this channel usually posts) exploration of covariance / contravariance?
thanks for making this video... makes math so much easier!
interesting perspective!
now if only there were a way to easily slice a geometric figure with an n-1 dimensional knife
Haha, yeah. I thought about adding that slice to the 3D visualizations. Looking back, I probably should have!
@@LeiosLabs i was more wondering... if there were some kind of efficient way to start with a cube and end with an arbitrary polygonal cut of the cube
so great !!
Excellent!
I really liked the graphic work you did in the video. Can you please tell me how you did it?
Cooler!
Could have been awesome if you tried the hypercube that way ^^
Honestly, one of the main reasons I made this video was because of the confusion in the comment section for that video... but seeing the projection matrix from 4D -> 3D would be cool!
nice!
i am looking for grid deformation due to straightening a function.
say i am traveling along y=0, in our 3d world (z=0), using perspective, i'd see equally deformed "squares" on both my sides.
in 2d, the cartesian grid will not change, as the line is straight and parallel to the x-axis.
I would like to "see" what happens to the grid if i travel along y=x, and if i make the graph a straight horizontal line.
same for y=x^2 and for y=x^3 and for y=sin(x).
can you point me in the right direction?
thank you!
that was soo cool 😊
May be it was a bit fast but what is the benefit of adding an extra dimension in your last example?
why do people say an affine transformation means to 'forget the origin' , when you are clearing using the origin.
wow, super video
eyyyyy you made a video
I still have vague idea about matrix and sin/cos. Is there any visualize d material can help me get it easier?
good video.
hello what is the difference between affine and mathomogeneous matrix
This is a weird comment. But I feel like your voice doesn't match your face. Like I've never felt this way before in my life and it's really strange. It's not an insult at all. You have both a nice voice and nice face! It's just super weird seeing you sound like that. Idk how to describe it!!! It's crazy. Has anyone said this to you before?
Awesome video btw. I'm studying fractal topology and this was super helpful!
Been on TH-cam and twitch for years and have never heard that specifically. I have been told I sound like a teenager / feminine / nerdy when it's just my voice.
And I guess the fractal work is with IFSs, which is why you need affine transforms?
@@LeiosLabs IFS is the goal I'm working toward! I'm still new to the subject. Working through the first chapter of "Fractal Geometry" by Kenneth Falconer.
@@dutonic yeah, IFSs are really fun. I actually use them all the time for various tasks. There will (hopefully) be a video later this year showing how useful they are
you cant rotate a square but you can rotate a cube and look only from the top
Long time no see. 🤨
Yeah, it has been a while! Sorry for the delay! I really do have a lot of plans for the rest of 2021 and intend to stick to them!
How do you make animations like in this video? Could you do a “how to”?
I used to stream the process every day, but stopped due to time constraints and low engagement
@@LeiosLabs would any of those streams be available somewhere? A second channel or twitch or other? I’d love to see one. I don’t think I’d have the skill to do it anyway I’m just curious about the process. Thanks.
@@brainfreeze7979 on mobile, but a lot of them are backed up on my youtube channel simuleios. The twitch link is in the description.
@@LeiosLabs cool. Thanks very much
Affine transforms are just a subset of 3D transforms projected into 2D.. Maybe n to n-1 D too? What does it all mean??? 😖
wow!
a green screen could help to look your demo better~?
This is how graphic cards are working.
Some operations are definitely done this way, yeah
@@LeiosLabs and that's also why you can use graphic cards for machine learning because they have an efficient matrix multiplication pipeline.
Good
Instant like :)
may i know how to make these kind of videos ? this looks similar to 3b1b videos , is there any software for such video making ?