and this is just one triangle, now imagine modern video games that consist of tens of millions of triangles all textured, shaded, constantly moving and interacting with eachother at 30+ frames per second. you truly start to appreciate the power of a graphics processor.
@Prime-o8f10 жыл бұрын
Don't skip the maths please, that's not a 'cool thing' to do. Presumably we're here because we're interested in the subject, so don't try and hide what it REALLY involves. You're doing the same thing that the profs in the 'Problems with High School Physics' video (on sixty symbols) were talking about - cutting out the maths. It's not boring, maths is beautiful and attractive - it describes the truth of systems (physical and simulated), and I'm interested in the truth. Thank you
@joaza77210 жыл бұрын
You should write matrix-vector multiplication in the correct way of x' = Ax and not x' = xA. Matrix multiplication is not commutative and xA cannot be evaluated. Also, do not teach people to use the 'x' for the dot product, that is for cross product. I know I'm an ass for pointing out how to write stuff but people should learn it the right way, considering this video was made for learning purposes :)
@Xray-Rep Жыл бұрын
I realize this video is 9 years old (at the time of this comment) but it is the BEST explanation of matrix transformations that I have seen and heard. Prior to watching this video, I have watched at least 18 or 20 other videos that explain matrix transformations but all of them left me confused. Now I understand details that were skimmed over or simply left out of the other videos. THANK YOU COMPUTERFILE for this excellent tutorial!
@nerdbot444610 жыл бұрын
Nice! Keanu Reeves explaines the Matrix. He knows best
@MorreskiBear8 жыл бұрын
I've tried to make 3D graphics from scratch on my old Commodore 64 before. The best I could do was rotate a stationary cube one point at a time, one axis at a time. Later I learned that somehow you could smush all three rotations together in something called a matrix - but couldn't begin to wrap my head around how or why that worked. Your video might have helped me begin to understand matrices and 3D stuff. Thank you!
@carlossoto95119 жыл бұрын
"We're doing a shear operation in 4-dimensional space, which then casts it's shadow back to 3d space as a translation" am I the the only one that finds that beautiful?
@Sad-Lemon7 жыл бұрын
You can feel how passionate about graphics the presenter is by listening to him. I hope every single teacher in my country would share that passion for their respective disciplines ;)
@AbdulrahmanMajash10 жыл бұрын
At 12:44 I think he made a mistake in the last set of additions. Since it's matrix multiplication it should've been: xa+yb+1*c xd+ye+1*f x*0+y*0+1*1 It wouldn't have mattered in the end (due to multiplying by zero), but this should've confused people who don't know matrix multiplication. Also, multiplying 3x1 by 3x3 isn't valid (# of columns of the first =/= # of rows of the second). He did it the other way around. It's alright using the formulas he put, but doesn't agree with the "row column" multiplication method which I assume many does it that way. I'm sure he knows what he's doing, but just wanted to clarify some points. Good video btw. Important for signal processing as well c:
@goeiecool999910 жыл бұрын
Why did he have to fast forward the rotation formulas!? I was really interested in seeing him work it out
@energysage977410 жыл бұрын
To any math nerds who freaked out when he multiplied two 1x2 matrices at 2:30, he did that for clarity for viewers who aren't clear on matrix multiplication (which seems overly complicated when you first learn it). He clearly applies the transformation which would be the 2x2 matrix given by first row [1, 0] second row [0, 2]. The way he wrote it, though, isn't so much incorrect as it is a different operation... it's element-wise multiplication, which programmers use often.
@SimonDouville19 жыл бұрын
I don't know why i'm watching these videos. I understand nothing to maths. But find it interesting that something that seem so simple to do in photoshop is in fact so complicated. Kinda feel humbled by that.
@CastelDawn9 жыл бұрын
i find it smoothing, i don't even really care about he's saying but the way he's talking i swear it's like smoking some.
@mkaatr10 жыл бұрын
Looking forward to the video about how to map a 3D object/Surface into our 2D display screen :)
@ScottLahteine10 жыл бұрын
Ah, this takes me back to the mid-2000's when I did a lot of work directly with OpenGL, and matrices were a real revelation. Happily today we hardly have to think about it, since the work has been done. We can just open up Unity 3D or some other 3D simulation environment and go to town with nary a thought for trigonometry. It's still essential to understand these concepts, since we sometimes need to do some fancy things, and it forms a good foundation to understand the world of 3D, but we no longer have to look at these complicated underpinnings very much today.
@yushatak10 жыл бұрын
WHY DID YOU FAST FORWARD HIS EXPLANATIONS OF THE PARTS THAT CONFUSE ME? O_O
@Kram103210 жыл бұрын
I bet it's going to be an extra video soon.
@bitasy110 жыл бұрын
In all honesty, they would confuse us more XD OOH he should put the explanations on NUMBERPHILE! :D
@mrjoehimself Жыл бұрын
The ability to teach these topics so eloquently is a real gift, it's truly a joy to watch.
@finthegeek10 жыл бұрын
Disappointing, what is the point of going into this complex an idea and skipping out half of the detail....grrrrr that said having a decent understanding of it already it was a solid enough video
@isaac1023110 жыл бұрын
Computerphile is probably one the best of your channels, Brady. You can't find such simplicity and good explanations elsewhere, that will give you a foundation to work off of. It is really nice.
@Kram103210 жыл бұрын
If you are interested in this topic, you probably should also look into "Geometric Algebra" which is a slightly alternate but very powerful formulation of vector spaces.
@Mrkol_10 жыл бұрын
NOOOO! Make a separate video about all complicated math parts! DO IT!
@UltraMaXAtAXX10 жыл бұрын
We do need some linear algebra in Numberphile.
@Crobisaur10 жыл бұрын
For his example of translating 2d objects (images for example) look up "Image Homography" it will explain all the stuff he left out.
@chiblast100x10 жыл бұрын
Wouldn't that be more in Numberphile's wheelhouse than Computerphile's? :D
@gumenski10 жыл бұрын
It's computerphile... doesn't seem fitting to me to go too deep into mathematics and should stick to explaining the general logic trains and technologies. Matrix operations are really a general maths topic and apply to all branches of science, and really would fit better on numberphile.
@LiborVojtek9 жыл бұрын
Shouldn't last row be x*0 + y*0 + 1*1? 12:33
@superearthbender9 жыл бұрын
I think he's in The Matrix right now.
@FerroNeoBoron10 жыл бұрын
There should be a disclaimer about the convention he uses for vector/matrix and vector/vector multiplication. His vector/matrix multiply is reversed from what a lot of people have learned and the "x" he used for vector/vector multiply is the wrong operator (though there isn't an agreed upon one) for elementwise multiplication.
@eduardogomes48657 жыл бұрын
Wow, I was just very disapointed with the way that we had to translate an object using a matrix, because a linear transformation can't move the origin, but that explanation just made me so amazed! I never understood why everyone talked about shears, now I know their importance. Very clever.
@brickman40910 жыл бұрын
This all went over my head
@chronikuad10 жыл бұрын
This guy's been my favorite computerphile. He's been the easiest for me to understand and the most interesting. I've learned matrices but didn't know they had such applications.
@MacBuilder10 жыл бұрын
3D boolean intersect operations, Raytracing, Global Illumination, Reflection would all be interesting topics.
@_m.a-x7 жыл бұрын
@13:15 Sir, that was a beautiful explanation. I had no idea that the third row/column for 2D (and 4thr for 3D respectively) were acutally doing something in the extra dimension. I thought that the "hack" was just to add placeholders for the translation parameters. But now that you explained the "sheer" in 3D makes so much sense!!! Thank you for that! Subscribed!!!
@raydredX10 жыл бұрын
I think the last part turned really interesting but I think this is a bit like: The ones who know already will get it and the one who don't won't. Still loved the ending though, a really great solution to simplify it.
@eideticex10 жыл бұрын
Well the ones who do get it were brought to that understanding by using it for practical purposes. Easiest example would be game development, vectors and matrices are first class citizens and get more attention than anything else in game development due to how insanely useful they are.
@AlphasysNl10 жыл бұрын
I've seen this matrix translation in programs before, but never understood it, until now! Thanks a bundle!
@cyberkartoshka66678 жыл бұрын
Pay attention kids, if you want to actually make video games this is going to be your life!
@vicktorioalhakim36668 жыл бұрын
I like how this video is making such trivial math operations seem like mystical "powers". :D Also, you have some problems in your math notation. You can't "multiply" two column vectors, unless you specify that you use a Schur product (element wise product). Also, in your vector matrix multiplication, why is the vector on the left side of the matrix, as opposed to the right? This is the first time ever I saw this notation, and I've red plenty of books/papers.
@Bignic200810 жыл бұрын
Really fascinating stuff. I just learned about linear transformations and their matrices in linear algebra this semester, and seeing how it applies to computer graphics is quite incredible.
@bbbbburton10 жыл бұрын
glad i took matrices quite seriously in school. should make things a bit easier at varsity next year :)
@DaFish133710 жыл бұрын
Varsity? Isn't that a schools's sports team?
@Thomvd10 жыл бұрын
***** VGHS I recon :)
@DaFish133710 жыл бұрын
While I heard that word in VGHS for the first time, further research showed that it is in fact a school's sports team even in real life. But since this is a totally normal word in American English, why did you think about VGHS (a little creepy ;))? (Neither am I American nor is English my first language, which is why I had to look it up.)
@GermanSnipe1410 жыл бұрын
This guy reminds me of a James Bond villain. I like it.
@herp_derpingson10 жыл бұрын
This guy is so excited. All guys on this channel are so excited :O
@investornewbie10 жыл бұрын
This was an excellent lesson! These transformations were super helpful for doing engineering problems in 3 dimensions but I can never seem to remember them
@PrimusProductions9 жыл бұрын
The first one should be a 2 by 2 matrix pre multiplying the vector (without the cross symbol since that implies vector product).
@orth63409 жыл бұрын
+Primus Productions correct
@richardellard9 жыл бұрын
+Primus Productions Yeah, he's post-multiplying column vectors by matrices all over the place (which isn't even defined). He should either be using row vectors or premultiplying, unless graphics programmers decided to redefine matrix multiplication for some reason.
@aglees2b10 жыл бұрын
I like where this channel is going with the more in depth videos. Keep it up!
@AngriestEwok10 жыл бұрын
Well, this is the best description of 3d graphics I've seen and that includes an over-priced university education.
@HiAdrian10 жыл бұрын
I'm really glad you're doing this. I had to read up on this stuff when I wanted to write some simple code for geometric manipulation and it was difficult for me to grasp it. It's an interesting topic.
@ykmukund9 жыл бұрын
This is by far the only video I have seen that explains that the 3D translation is actually a shear in 4D and that 4D shear is a linear operation. Excellent video. A lot of people I asked regarding the usage of 4 coordinates, just said "use it, it works" :P But this was a very good explanation indeed. To anyone interested, the "trickery" is actually a new kind of co-ordinate system called homogeneous cordinates :-)
@Temerator17 жыл бұрын
If I had teachers like him I wouldn't skip a class. Explanations are crystal clear and simple, pleasure to listen.
10 жыл бұрын
Awesome video. Please do more Computational Geometry videos.
@VeteaTOOMARU10 жыл бұрын
indeed !
@patrickmoloney6728 жыл бұрын
The mathematics is a little dirty but I like the concept of whats being explained. Interesting to see how the things we learn in mathematics are all applicable to the world we live in.
@obiwanjacobi10 жыл бұрын
So that is how it works. I knew where to put the numbers for the desired transformations but never knew why. Now I do. Thanx!
@saadmaksood4 жыл бұрын
Me and my girlfriend sitting in front of her parents and everything is awkward. Her : Say something ! Me : 0:01
@ashishdubey14Jan949 жыл бұрын
nice video, but I think you wrote the matrices in wrong order during multiplication, please see for that as the order really matters !
@ykmukund9 жыл бұрын
ashish dubey Yes! :-)
@evroa8 жыл бұрын
6:28 He forgot what is sin(90) that moment, they had to pause the record, then they remember and start recording before they finish laughing, lol :D
@EmyllSomar10 жыл бұрын
This guy is like a real life Gaius Baltar.
@Bedsize10 жыл бұрын
Exactly :)
@dakirn309810 жыл бұрын
This was awesome. Probably one of the coolest explanations of vector matricies I've seen. Thank you both for making it.
@lobaxx10 жыл бұрын
Having read Linear Algebra, it was interesting to see it applied. However, I doubt someone without any prior understanding of LA would get much out of this video...
@P4INKiller10 жыл бұрын
Hey, it'd be great if you guys could do a video on what quaternions are, and how they relate to transformations in graphics. Thumbs up!
@surysunny1710 жыл бұрын
I finally understand why that 1 shows up in transformations . Thanks!
@DevAnomaly10 жыл бұрын
Going for computer sciences in September, it's refreshing to see this. I'm mostly looking forward to writing my own engine for making video games or rendering 3D scenes that I have built in the past.
@DFX2KX10 жыл бұрын
I haven't seen some of those formulas in years... wow... nostalgia time!
@Ubeogesh10 жыл бұрын
Thank you! Please more 3d graphics videos!
@nodelynk10 жыл бұрын
That's some special edition matrix/vector notation right there... Anyhow, nice video! :)
@dashama9 жыл бұрын
Loved your video! Blessings and Love, Dashama
@iismitch5510 жыл бұрын
correct me if I am wrong, but I do believe that there is an error with the formula at about 12:35. If he's doing down the columns like matrices are supposed to be done, the final line should be x*0 + y*0 + 1*1 instead of 1*0+1*0+1*1. No big deal in the grand scheme of things, but just a clarification for those who are watching.
@dinul11710 жыл бұрын
wish the rotational formula wasn't skipped over, i was enjoying the way john was explaining everything!!
@OpenGL4ever7 ай бұрын
He forgot to mention the most important thing you should know about rotation. If you apply a rotation to a 3D body and you want it to rotate around its own center, then from a mathematical point of view you first have to translate the 3D body into the center of the coordinate system before you can apply the rotation commands to it. After that, the rotated 3D object is then translated back to its original position. If you don't do this, then you will only rotate the 3D object around the center of the coordinate system, but not around itself.
@Falcrist10 жыл бұрын
I needed to come back to this video when I had time to really pay attention to it. I suggest that this is a VERY, VERY good thing. Most of these videos shouldn't be so complex, but some of them should go deeper. Very good video.
@Shimmen10 жыл бұрын
Can we get an uncut version of this?
@bengski6810 жыл бұрын
One of the best explanations of matrix multiplication I've seen. Well done!
@alexfortune971610 жыл бұрын
Basics of Computer Graphics. And yet even though I knew all of this before, It was a pleasure.
@Dayanto10 жыл бұрын
I love that you're covering more advanced stuff. This is litterally what I'm learning right now in college! :)
@Harlequin31415910 жыл бұрын
Fantastic explanation. Not dull at all. Cheers!
@BrianTsuiKT10 жыл бұрын
surprisingly, the math concepts used in computerphile is ever harder than numberphile
@fuzzyBSc10 жыл бұрын
I like seeing the old line feed paper being put to good use.
@Slithy10 жыл бұрын
That's magnificent. In 15 minutes i understood more stuff about matrix(c?)es than my maths teacher could ever explain to me. Honestly, i've tried to understand what a matrix is. and i've asked my teacher "What would we use them for?". She couldn't answer, because she didn't know herself. Too bad we can't have guys like John teaching at every school.
@TechLaboratories10 жыл бұрын
In this video, all rotations were done around the point of origin. To handle a rotation around a different point, you can use the same math, but you have to add two extra steps: First, translate the vector value of all vertices to be in reference frame of the point around which you're doing your rotation (the point of rotation becomes (0,0,0) Second, do the rotation around this point for all vertices Third, reverse the original translation.
@unaliveeveryonenow10 жыл бұрын
This video really makes it simple. I can't get over the language wikipedia uses to describe this topic.
@utubewaala10 жыл бұрын
What a Calm, Peaceful voice this guy has !
@humedickie9399 жыл бұрын
This guy could be a time lord
@jelsaipo10 жыл бұрын
When this guy explains, it makes me feel like I'm watching Doctor Who explain quantum mechanics. He dumbs it down as to where anyone can understand it, yet has a way to leave in complex thought patterns intact, well done sir!
@KurakiN6410 жыл бұрын
This is one of the most interesting videos on Computerphile yet. ♥
@HungryTacoBoy10 жыл бұрын
To be honest, if you don't know much about linear algebra before this video, it would be rather difficult to follow along. I've used it for many years now and even I was a bit confused in places. I think a better explanation of what vectors are would be nice. For matrices, a better explanation of how they work and what the rules are for multiplying them would help. Other than that, I enjoyed the video. It's nice that you showed what scaling, translation, and rotation looked like with an example.
@lanetang11649 жыл бұрын
Is there anybody could tell me what kind of sketch paper he used in video? Thanks....
@Computerphile9 жыл бұрын
唐磊 it's similar to this: www.paperstone.co.uk/paper/listing-paper-computer/computer-listing-paper-1-part-11-inch-x-241mm-microperforated-plain-white-box-2000-sheets/p-25771 >Sean
@ThinkPositive009 жыл бұрын
Great video. That's a strange way to write the multiplication operator. It looks like "to the power of x" to me! Thank you for the nice explanation.
@Dex4k10 жыл бұрын
I think people lack the patience to simply pay attention, all maths used in this video is high school material. Excellent video!
@supamap10 жыл бұрын
awesome video!! i had seen matrix transformations in school and also realized that i couldnt translate with matrices... awesome trick with the shear!
@peanutbuttersoldier864110 жыл бұрын
I've been trying to teach myself all this lately. This really helps :D
@chromatosechannel9 жыл бұрын
this takes me back.
@PatrickImboden10 жыл бұрын
Please .. make a video with the complete explanation. .. I'm willing to chew into it. .. Love this channel
@augustsbautra10 жыл бұрын
So stuff doesn't move, it's just an illusion. Us 3D folks observe objects being sheared in 4D.
@rasaratnamsubramaiam401010 жыл бұрын
I don't know why i'm watching this...
@Rudxain2 жыл бұрын
While watching this video, I remembered Andy Sloane's `donut.c` code which makes some use of matrix multiplication and dot products to render a rotating donut as ASCII-art
@LordMegatherium10 жыл бұрын
Reminds me of the Schrödinger equation. "Using complex numbers seems quite hackish to... oh... well I'll be." If you want to call using a 4th dimension a hack it's probably the most elegant hack I've ever seen.
@bitmaxim10 жыл бұрын
Excellent treatment of an important, fundamental subject.
@sporkafife10 жыл бұрын
Near the start, did he just multiply a 1x2 vector with another 1x2 vector? OMG, laws of matrices broken, unsub!!! Lol, but surely it should be a 1x2 position vector multiplied by a 2x2 transformation matrix. I guess he just doesn't want it to get stupidly complicated
@sergeys7603 Жыл бұрын
Good tutorial. Very useful to understand matrix transformation.
@NeilRoy9 жыл бұрын
This took me a while to wrap my head around a while back. But I really love just how powerful matrix math is. Great video, and I loved your commend at the end. :)
@rogerfroud3008 жыл бұрын
Presumably the benefit of filling in the matrix with the calculated values of Cos(a) and Sin(a) is that in a displayed scene all of the triangles will use the same transformaton and therefore you only need to calculate them once?
@asdfasdf86210 жыл бұрын
Thanks, that was actually helpful. The 4th dimension in OpenGL always mystified me a bit.
@ThomasGiles9 жыл бұрын
Interesting stuff. I've known about matrices for a while, but it makes much more sense, now. Good job! Also, is there any chance that cut out bit will be posted at some point? I'm not 100% sure what it was he was doing in that bit, but I'd be interested to find out ;P
@musicalsimon10 жыл бұрын
this is great. would like to see an extension of the rotation talk going into quaternions
@oafkad10 жыл бұрын
This was painfully nerdy. I loved it.
@oafkad10 жыл бұрын
Shhh. Is secret.
@jimmyHowerton9 жыл бұрын
when he multiplies the first matrices, why does he say 1x1 = 1, shouldn't he be multiplying the row by the column to get 1x1 + 1x2 = 3?
@kurtflint6410 жыл бұрын
LimitedWard and anyone who didn't get the extra dimension / shadow thing, spend an afternoon reading a book named Flatland. You will instantly understand. Damn this reminded me of the endless hours I spent in Swivel 3d and with Macromind 3d rendering scenes back when I was a programmer doing pre-rendered 3d CDROM games. Fresh coffee at 4am, and stacks of PPC boxes and later SGI's rendering through the endless nights. Seems like a lifetime ago.