What are affine transformations?

Поділитися
Вставка
  • Опубліковано 1 бер 2021
  • Algorithm Archive: www.algorithm-archive.org/con...
    Github sponsors (Patreon for code): github.com/sponsors/leios
    Patreon: / leiosos
    Twitch: / leioslabs
    Discord: / discord
    Github: github.com/leios
    Music: www.joshwoodward.com/
  • Наука та технологія

КОМЕНТАРІ • 151

  • @altaroffire56
    @altaroffire56 3 роки тому +109

    Visualising matrix elements as dials is genius!
    Glad to see a new video and excited for what comes next. :)

  • @Adeith
    @Adeith 3 роки тому +59

    I kinda knew this but seeing it really helps. Especially that third row.

    • @LeiosLabs
      @LeiosLabs  3 роки тому +9

      Yeah, I was the same way! I was hoping this helped someone who was also in the same boat!

    • @AngryArmadillo
      @AngryArmadillo 3 роки тому +2

      Same here

  • @dosu5064
    @dosu5064 9 місяців тому +6

    Best tutorial. It doesn't give you a formula to summarize, it gives INTUITION. Greate job

  • @dofalol
    @dofalol 3 роки тому +27

    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.

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

    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.

  • @Magnasium038
    @Magnasium038 2 роки тому +5

    Wow, never thought of visualizing the elements as controling shearing and scaling. And consolidating 2D affine into 3D linear is just wonderful

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

    your detailed explanation in algorithm archive really amazed me!!

  • @SpamTheHorse
    @SpamTheHorse 3 роки тому +4

    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).

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

    So mesmerizing.. A beautiful intuitive explanation I've ever seen! Thank you bro!

  • @duality4y
    @duality4y 3 роки тому +4

    That is so cool can't wait to see what's next.

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

    Really useful - quick and comprehensible. Thank you!

  • @Mutual_Information
    @Mutual_Information 3 роки тому +1

    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!

    • @LeiosLabs
      @LeiosLabs  3 роки тому

      Happy to hear it was useful!

  • @RandomGuy-ie2cb
    @RandomGuy-ie2cb 2 роки тому

    Great video!! Jusr finished linear algebra course and watching those kind of explanations is awesome and inspiring!

  • @greymonwar9906
    @greymonwar9906 9 місяців тому +2

    This is the best explanation of affine transformation out there

  • @hhcoyotle655
    @hhcoyotle655 3 роки тому +5

    This is a great video about tensors ! You should totally do a video about fluid mechanics and Reynolds stresses ^^

  • @Jimserac
    @Jimserac 3 роки тому +2

    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.

  • @sampritineog7787
    @sampritineog7787 3 роки тому +1

    That was a great video to get a intuition. Hope to see your next video soon.

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

    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!

  • @user-vn7ce5ig1z
    @user-vn7ce5ig1z 3 роки тому +8

    That was a great explanation and clearly showed the connection and translation (pun intended) from numbers to graphics. 👍

  • @BlackDragon17
    @BlackDragon17 6 місяців тому

    Absolutely amazing explanation, thank you so much! Way more intuitive than my course material.

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

    your visualization works are awesome!

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

    with visualizations, the affine transformations are illustrated in a very simple and easy to understand manner. very thanks

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

    This is a very clear intuitive explanation man, thanks!

  • @0hellow797
    @0hellow797 3 роки тому +5

    Please make more videos this is great

    • @LeiosLabs
      @LeiosLabs  3 роки тому +4

      New videos are on the way (along with chapters and other cool projects)!

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

    No budy in the world had ever taught math like this!! Thanks a lot ❤

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

    This visuals are great. Really enjoyed this video.

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

    You are a god at communicating this stuff dude, thank you!

  • @abhideshmukh2182
    @abhideshmukh2182 3 роки тому +5

    Sometimes i really feel tht this is very underrated math channel ❤️🔥

    • @LeiosLabs
      @LeiosLabs  3 роки тому +2

      Glad you like the content!

  • @Hunar1997
    @Hunar1997 3 роки тому +2

    That was an amazing perspective to look at it..

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

    Awesome video. Super easy to follow

  • @rikkertkoppes
    @rikkertkoppes 3 роки тому +4

    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

    • @LeiosLabs
      @LeiosLabs  3 роки тому

      Yeah, this was the way 3blue1brown showed it in his video on linear transformations. I didn't exactly want to tread the same ground ^^

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

    Great Visualization

  • @ashishjain871
    @ashishjain871 3 роки тому

    Beautiful :). Great animations; very intutive.

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

    actually great, and intuitively easy to understand, explanation

  • @mazegamerz3178
    @mazegamerz3178 3 роки тому +1

    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 !

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

    Thanks brother! Great video

  • @user-hp6ls8qy6d
    @user-hp6ls8qy6d 10 місяців тому

    Great idea with the dials!

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

    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

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

    The concept is super awesome!! Hope every high school teacher introduces matrix in such intuitive ways!!

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

    Best explanation for affine transformations

  • @computer-love
    @computer-love 3 роки тому +2

    yay, new leios~

  • @muhammadtayyabtahirqureshi7186
    @muhammadtayyabtahirqureshi7186 4 місяці тому +1

    absolutely amazing

  • @freddupont3597
    @freddupont3597 3 роки тому +1

    What a great and clear video!

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

    You are talented. Please upload more of your videos.

  • @mossylikescake
    @mossylikescake 3 роки тому +3

    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?

    • @LeiosLabs
      @LeiosLabs  3 роки тому

      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.

    • @mossylikescake
      @mossylikescake 3 роки тому

      @@LeiosLabs I feel a related tesseract video is in order! Also the youtube algorithm will love you

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

    Fantastically explained! 👍🙂

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

    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.

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

    great explanation

  • @user-oj3eb5jx3v
    @user-oj3eb5jx3v 2 роки тому

    Thanks a lot,it's clear and intuitive.

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

    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.

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

    so cool explanation!

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

    awesome explanation

  • @gustavosilveirafrehse1508
    @gustavosilveirafrehse1508 3 роки тому +5

    woahh, was just learning opengl and wondering why the need of vec4/mat4 instead of vec3/mat3x3. Really well made video!

    • @LeiosLabs
      @LeiosLabs  3 роки тому +1

      Ah, that's a good application!

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

    You are amazing brother ! Halelujah

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

    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!

  • @chrisbibat
    @chrisbibat 3 роки тому +4

    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?

    • @LeiosLabs
      @LeiosLabs  3 роки тому +2

      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.

  • @guyindisguise
    @guyindisguise 3 роки тому +1

    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?

    • @LeiosLabs
      @LeiosLabs  3 роки тому +1

      I guess the best teaser would be to "DNA digivolve my existing videos."

    • @guyindisguise
      @guyindisguise 3 роки тому

      ​@@LeiosLabs Had to google that (non-digimon-viewer), sounds interesting, can't wait!

    • @LeiosLabs
      @LeiosLabs  3 роки тому

      @@guyindisguise in hindsight, I should have just said "mix." Sorry for the confusion!

  • @esamalmohimmah3242
    @esamalmohimmah3242 3 роки тому +1

    Excellent!

  • @munemshahriar1493
    @munemshahriar1493 3 роки тому

    I really liked the graphic work you did in the video. Can you please tell me how you did it?

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

    I've just started watching , it's so good, have you been teaching?

  • @lydianlights
    @lydianlights 3 роки тому +1

    interesting perspective!

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

    so great !!

  • @CaptchaSamurai
    @CaptchaSamurai 3 роки тому

    Great idea with matrix of dials!

  • @mastertine
    @mastertine 3 роки тому +1

    that was soo cool 😊

  • @protocol6
    @protocol6 3 роки тому +1

    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
      @LeiosLabs  3 роки тому

      This is an interesting perspective I had not thought about. I need to look into it more! Thanks for the comment!

    • @protocol6
      @protocol6 3 роки тому

      @@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.

  • @OrenLikes
    @OrenLikes 3 місяці тому

    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!

  • @aresharesh8671
    @aresharesh8671 3 роки тому +4

    Great video! Homogenous coordinates are an awesome topic and (in my opinion) not hacky at all! I'd love to see more on them

    • @LeiosLabs
      @LeiosLabs  3 роки тому +4

      To be fair, I played up the "hackiness" of them too much. You are 100% right!

  • @alegian7934
    @alegian7934 3 роки тому +2

    Great vid! Ive been learning tensors recently so - are there any plans for a relative video?

    • @LeiosLabs
      @LeiosLabs  3 роки тому +1

      What do you want to learn about tensors?

    • @alegian7934
      @alegian7934 3 роки тому +1

      @@LeiosLabs :D I guess any practical application? Or (perhaps more theoretical than this channel usually posts) exploration of covariance / contravariance?

  • @timanb2491
    @timanb2491 3 роки тому +1

    great thank you

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

    visualisations just make this thing a whole lot more sensible!

  • @StarLight_tu
    @StarLight_tu 3 роки тому

    I still have vague idea about matrix and sin/cos. Is there any visualize d material can help me get it easier?

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

    thanks for making this video... makes math so much easier!

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

    wow, super video

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

    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.

  • @poweredbysergey
    @poweredbysergey 3 роки тому +1

    Cooler!

  • @user-wr4yl7tx3w
    @user-wr4yl7tx3w Рік тому

    May be it was a bit fast but what is the benefit of adding an extra dimension in your last example?

  • @priyanshukumawat4142
    @priyanshukumawat4142 3 роки тому +3

    HOPE YOU WERE THERE IN MY COLLEGE AS MY PROF.

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

    What tool do you use for the animation or simulation.

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

      This was a mix of gnuplot, blender, and some hand-made visualization software. It was all over the place tbh

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

    Its staying in the head for longer after watching this video!

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

    wow!

  • @EEBADUGANIVANJARIAKANKSH
    @EEBADUGANIVANJARIAKANKSH 3 роки тому

    may i know how to make these kind of videos ? this looks similar to 3b1b videos , is there any software for such video making ?

  • @mohammedbelgoumri
    @mohammedbelgoumri 3 роки тому +2

    Like before I even watch

    • @LeiosLabs
      @LeiosLabs  3 роки тому

      I hope I didn't disappoint!

  • @mj2068
    @mj2068 2 місяці тому

    good video.

  • @user-tj7hx6ps9s
    @user-tj7hx6ps9s 7 місяців тому

    hello what is the difference between affine and mathomogeneous matrix

  • @Jack-dx7qb
    @Jack-dx7qb 2 роки тому

    "rotation = scaling + shearing"
    BAM!!!

  • @skit555
    @skit555 3 роки тому +1

    Could have been awesome if you tried the hypercube that way ^^

    • @LeiosLabs
      @LeiosLabs  3 роки тому +1

      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!

  • @shanmukeshr1696
    @shanmukeshr1696 3 роки тому +1

    After too many long days

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

    Good

  • @brainfreeze7979
    @brainfreeze7979 3 роки тому +2

    How do you make animations like in this video? Could you do a “how to”?

    • @LeiosLabs
      @LeiosLabs  3 роки тому +1

      I used to stream the process every day, but stopped due to time constraints and low engagement

    • @brainfreeze7979
      @brainfreeze7979 3 роки тому

      @@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.

    • @LeiosLabs
      @LeiosLabs  3 роки тому +2

      @@brainfreeze7979 on mobile, but a lot of them are backed up on my youtube channel simuleios. The twitch link is in the description.

    • @brainfreeze7979
      @brainfreeze7979 3 роки тому

      @@LeiosLabs cool. Thanks very much

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

    Instant like :)

  • @swagatochatterjee7104
    @swagatochatterjee7104 3 роки тому

    Hey won't you be teaching Julia class this year?

    • @LeiosLabs
      @LeiosLabs  3 роки тому

      I might come in for a guest lecture, but I am no longer working at MIT

  • @mayabartolabac
    @mayabartolabac 3 роки тому +1

    eyyyyy you made a video

  • @ManiacEditz
    @ManiacEditz 2 роки тому +7

    hi. james was it? anyways, im one of your mom's students

  • @MrRyanroberson1
    @MrRyanroberson1 3 роки тому +1

    now if only there were a way to easily slice a geometric figure with an n-1 dimensional knife

    • @LeiosLabs
      @LeiosLabs  3 роки тому

      Haha, yeah. I thought about adding that slice to the 3D visualizations. Looking back, I probably should have!

    • @MrRyanroberson1
      @MrRyanroberson1 3 роки тому

      @@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

  • @dutonic
    @dutonic 2 місяці тому +1

    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!

    • @LeiosLabs
      @LeiosLabs  2 місяці тому

      Been on UA-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
      @LeiosLabs  2 місяці тому

      And I guess the fractal work is with IFSs, which is why you need affine transforms?

    • @dutonic
      @dutonic 2 місяці тому +1

      @@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.

    • @LeiosLabs
      @LeiosLabs  2 місяці тому +1

      @@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

  • @susanghimire517
    @susanghimire517 6 місяців тому

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

    a green screen could help to look your demo better~?

  • @shoam2103
    @shoam2103 3 роки тому +1

    Affine transforms are just a subset of 3D transforms projected into 2D.. Maybe n to n-1 D too? What does it all mean??? 😖

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

    why do people say an affine transformation means to 'forget the origin' , when you are clearing using the origin.

  • @gchinmayvarma9030
    @gchinmayvarma9030 3 роки тому +2

    @leiosOS hello i have been watching your videos for quite a long while now, and I'd like to ask you if you knew about this programming language called processing? your style of making videos and math would translate (hehe) really well, maybe check it out!