Lecture 05: The pinhole camera model and associated transform matrix.
Жүктеу.....
Пікірлер: 75
@joehsiao62248 жыл бұрын
The lectures are so cool and interesting so far! I expect an applause from the audience at the end of each video.
@namanaggarwal5496 жыл бұрын
I loved the lecture. Such intuitive explanation :) If the professor is reading this comment, you have my respect Sir.
@LuccasSchmigel4 жыл бұрын
Thank you so much for sharing this! Im studying Computer Science online, alone, with books. Sometimes I miss a teacher explaning. It makes a massive difference.
@rogerwilcoshirley22704 жыл бұрын
Very interesting, just an MD engineer pilot retired Army officer trying to learn something new that i can practice python with. Really liked his lec on quaternions - all my engineering and physics crs and no one mentioned quaternions , yet i recently started a book on aircraft controls and yep there they are , i'm so happy i discovered them, they are so cool!
@harsh90237 ай бұрын
The professor is awesome. Hope I get teachers like him when I get into college.
@BirgerBurgerBargir7 жыл бұрын
These lectures are really great!
@caseyli55805 жыл бұрын
Wowee! Fantastic explanation and love his enthusiasm. Surprised there's only 41k views - thank you for posting!
@supersonic895 жыл бұрын
Thank you so much for this lecture, way better than many online tutorial.
@omegaweapontmod3 жыл бұрын
You can tell just from one lecture that this guy is a good teacher.
@cosmic_gate476
2 жыл бұрын
@XLC lol that's fine, it's basic math errors that the student can notice themselves. What a teacher is worth is how well they can convey the concepts.
@hoytvolker34 жыл бұрын
Nice, thanks for proving this awesome content and explaining with motivation! We really appreciate your effort
@nc3040ify6 жыл бұрын
hell of a lot better than my graphics lecture...
@cosmic_gate476
2 жыл бұрын
Yeah, almost feel scammed comparing it to this
@pedrolopez45554 жыл бұрын
Thanks for putting these up! Took a couple pauses but by then end I felt good about it.
@krottttt18 жыл бұрын
Very nice explanation. Thanks!
@01MeuCanal7 жыл бұрын
Many thanks for this great video!
@qubitza7 жыл бұрын
awesome explained thanks for sharing!
@Laplankaestasmola6 жыл бұрын
This is awesome. Thank you!
@unveil776210 ай бұрын
This was pritty complex!! Great teacher . Thanks
@adheesh2secondsago6302 жыл бұрын
I can't even imagine how easy it could have been to understand this stuff. Thanks 🙏
@dmitriybenivalevsky28324 жыл бұрын
Thank you, i really understand so a lot now.
@Maztergyl6666 жыл бұрын
7:57 Rage against the chalk
@LeonardoCamposBR6 жыл бұрын
This video helped me a lot! Thank you so much for sharing it!
@KeithMakank34 жыл бұрын
Whats crazy is that this how your eyes work, the entire process of squishing the images we see is done for us, here we see the process deconstructed and its awkward as fuck.
@remyclarke4020
3 жыл бұрын
This isn't really how our eyes work. this is far weirder. Here the 3D space is "physically" squished. With our eyes we receive just a small portion of reflections of light from the 3D space. That's why raster graphics aren't as "realistic" as as pathtracing/raytraced light simulations, but it is way faster. Still really cool.
@s.u.52857 жыл бұрын
what was this class called?
@ReasonMakes2 жыл бұрын
Fantastic teacher
@Inevitablerizzler4 жыл бұрын
Great lecture
@antoinefortin13864 жыл бұрын
Very nice !
@ridael-mehdawe46814 жыл бұрын
thanks for the lecture, but when you bring everything inside the cube by using the 4x4 matrix, this still volume, while the image should be a plane square or rectangle (film). is any other matrix is going to do this job, or I missed things.
@alfred02313 жыл бұрын
Nice audio quality. Much easier to follow with clean audio.
@webgpu7 жыл бұрын
i 'think' the professor meant "clip space" when he wrote "image space". after the w division, it becomes "ndc space"
@daleowens7695
4 жыл бұрын
I know this is old, and I'm also no expert, but clip space is 2d whose domain is -1,1. Clip space is the projection of image space from the origin along -z onto the xy plane. So no, he doesn't mean "clip space", he means "image space."
@DdongK7 жыл бұрын
Amazing
@felipedejesus66968 ай бұрын
maybe mock-up vector-axis model(like with wires) that can be manipulated?
@aram56422 жыл бұрын
A more commonly used name for the shape of "truncated pyramid" used in this domain is frustrum
@OldSloGuy3 ай бұрын
Back in the mid 1980's I took an extension course at UCLA. I didn't have time to eat a decent meal before class, so I ate out of a vending machine and went up to the Engineering-Math Library before class. I Stumbled on to some IBM Research Journals that were very enlightening. Math PhD's had carefully researched algorithms and presented how they would do it if memory was not constrained. Then, they bastardized the algorithms to squeeze them into crippled computers. Before I finished the course, the friends of the library literally gave away these volumes because they were more than 15 years old and the library had run out of shelf space. So, the bastardized algorithms survived, but the research into what should have been got destroyed. Our algorithms today are simply the patched versions of the bastards. Nobody has ever revisited what should have been. Its simply very awkward settled science, good enough for half a century ago when the bigger IBM 360's had 16K of core.
@worlddj13646 жыл бұрын
Are the recitations any where to be found?
@mysund Жыл бұрын
Very nice lecture. Any art student could easily draw 3D perspective drawings for him to show pyramid stump and cube. That would make it even better.
@matzc557
8 ай бұрын
This comment is especially funny if you are an art student watching this video so you can draw in 3D
@LAnonHubbard8 жыл бұрын
11:31 there's a discussion about why camera faces -z axis. The x and y axes you'd want to be right and up respectively. You'd also want a right-handed coordinate system (as the other choice is evil) which means the positive z-axis will be behind the camera.
@techeadache
8 жыл бұрын
+LAnonHubbard 27:52 The massaged cube turns evil (left-handed) after a lot of rubbing. Corrupted with pleasure!
@LAnonHubbard
8 жыл бұрын
+techeadache OMG! And after that point in the video if you squint your eyes the board appears to be full of Illuminati symbols. I swear that professor will shape shift into reptilian form soon!
@techeadache
8 жыл бұрын
+LAnonHubbard Run the video backwards. You might be able to spot a hooked x. Only the penitent man shall pass. Damn negative sign! Stay out of algebra. Everyone hates you. Stupid subtraction wannabe. Get out of here before the professor rubs you out. Yeah you heard me. Keep walking.
@robrick93615 жыл бұрын
Why use pre-matrix multiplication? He mentions OpenGL. Every single tutorial online or in a textbook I have seen uses column vectors and post multiplication. Why the inconsistency?
@neurochannels
5 жыл бұрын
Some programs do it one way, some do it another way. You just need to know what your system uses (just google row-major vs column-major opengl)
@gvcallen
2 жыл бұрын
there's the chance its how the university/academy does math as a whole, but it could be a convention the teacher prefers just in general
@eslamwael8ew7 жыл бұрын
Very Good
@techeadache8 жыл бұрын
9:24 "THE BOX"[the camera] flies around in 3D space. What is equation of that transform function? 11:05 only shows the end result of the world space after it is transformed into the camera space. Did I miss a lecture? The answer might be hidden in "Rotations About an Arbitrary Axis". But I will have to put two and two together. I hate thinking for myself. Well at least the viewing transform is written out. The projection transform is described but not written either. I can guess that it is a 4x4 matrix that accomplishes a simple division by W. Is "THE FILM" mapped into the cube-shaped viewing space at an adjustable position or is it fixed in OpenGL?
@osenseijedi
8 жыл бұрын
+techeadache i dont know if you figured it out since, but the way I understand is that before projecting the point using the camera transform, the points of the 3d world are converted to the camera space (where the 'Z' is behind the camera). So if the camera moves in the space, before computing the picture, translation + rotation have to occur to make things right before using the camera transform. (then again, I might be wrong, I just discovered today ^^ )
@techeadache
8 жыл бұрын
+mr_os Yeah it would have been nice if that professor mentioned something like that. I am sure that is exactly what is meant to be done. Even if it is trival or brainless or just plain obvious. All of a sudden, all the world space points are in the camera space. And it felt like I missed a step in the 3D pipeline. Is it by Euler's Angles or Quaternions or some other mathematical magic that moves those points around? Maybe this lecture should have been called "The Perspective Projection Viewing Transformation with a Contemporary Camera Classification Part 2(a)".
@osenseijedi
8 жыл бұрын
My guess is that it had to start simple, so you just compute a picture with the origin of the world at the camera point (ignoring the camera moving). Once students understand that process, you can teach the rest. But don't get me wrong, I think you are right. At least a little mention should have been made. And yeah, you would need to compute a translation + rotation with quaternions (to avoid gimbal lock) before the camera transform. The result would still be one single 4x4 matrix (that changes when camera changes position).
@PumpiPie6 жыл бұрын
i witch i learned this at school :(
@marcolerena4565 жыл бұрын
I struggle really badly with this topic. Why is the image plane placed in the middle of the cube? Shouldn't it be placed at the back of the cube so that everything inside the cube makes its way onto the image. I know my understanding is fundamentally wrong, but I cant identify where I've gone wrong in my thinking.
@gigamungus5764
5 жыл бұрын
I had this exact same question while watching, did you ever find an answer?
@MLGranny
3 жыл бұрын
ThatAwkwardGuy A little late, but maybe it will still help you or someone else in the future. It doesn‘t matter where exactly the cube is positioned on the z-axis since when you project everything in the cube on the screen, you just, as he said, forget about the z-coordinate. So in the end, the cube could be centered at the origin, z = 100, z = pi or anywhere else on the z-axis, as the x- and y-coordinates would still remain the same (The transformation matrix wouldn‘t be the same then obviously).
@bobsmithy31035 жыл бұрын
at 15:18 I'm assuming this would be the film?
@TheSulaimanKhaled5 жыл бұрын
At moment 25:26 shouldn't it be [0 0 -an+b +n] because -n×-1 = n?
@TheSulaimanKhaled
5 жыл бұрын
nevermind a student fixed it at 26:12 XD. AMAZING LECTURE
@alexroberto8499
3 жыл бұрын
I didn't understand either, I had to remember how to multiply matrices and came to the conclusion that there was a typo on the board
@lit220062 жыл бұрын
It's not a truncated/compressed cube, it's basically a planar cut, which can be round or square, whichever is best for your math.
@lit22006
2 жыл бұрын
because of the nature of infinity and L2 norm.
@motbus33 жыл бұрын
Is the camera pyramid the view frustrum?
@mailoisback
3 жыл бұрын
view frustum is the frustum of the pyramid (the truncated pyramid by near and far planes)
@arslanahmed66185 жыл бұрын
dudeeeeeee
@humamramadan13285 жыл бұрын
26:36 which formula is he using
@Inevitablerizzler
5 жыл бұрын
He divides eveything by W(the n)
@yb8016 жыл бұрын
I love you UC DAVIS
@neongaming15905 жыл бұрын
Anybody from game development:).
@nikunjmajithia5002
4 жыл бұрын
Lol dude you dont need this for game development keep it simple
@kadyshev2759
Жыл бұрын
@@nikunjmajithia5002 you need this
@davidjohnhamm4 жыл бұрын
kinda wish he could draw in 3d
@fernandojavierbianchi43111 ай бұрын
anonymous trying yo keep up with 4 ilts english. now im shopstore owner. tomorrow will be that call telling me we need your animation practiceses.
Пікірлер: 75
The lectures are so cool and interesting so far! I expect an applause from the audience at the end of each video.
I loved the lecture. Such intuitive explanation :) If the professor is reading this comment, you have my respect Sir.
Thank you so much for sharing this! Im studying Computer Science online, alone, with books. Sometimes I miss a teacher explaning. It makes a massive difference.
Very interesting, just an MD engineer pilot retired Army officer trying to learn something new that i can practice python with. Really liked his lec on quaternions - all my engineering and physics crs and no one mentioned quaternions , yet i recently started a book on aircraft controls and yep there they are , i'm so happy i discovered them, they are so cool!
The professor is awesome. Hope I get teachers like him when I get into college.
These lectures are really great!
Wowee! Fantastic explanation and love his enthusiasm. Surprised there's only 41k views - thank you for posting!
Thank you so much for this lecture, way better than many online tutorial.
You can tell just from one lecture that this guy is a good teacher.
@cosmic_gate476
2 жыл бұрын
@XLC lol that's fine, it's basic math errors that the student can notice themselves. What a teacher is worth is how well they can convey the concepts.
Nice, thanks for proving this awesome content and explaining with motivation! We really appreciate your effort
hell of a lot better than my graphics lecture...
@cosmic_gate476
2 жыл бұрын
Yeah, almost feel scammed comparing it to this
Thanks for putting these up! Took a couple pauses but by then end I felt good about it.
Very nice explanation. Thanks!
Many thanks for this great video!
awesome explained thanks for sharing!
This is awesome. Thank you!
This was pritty complex!! Great teacher . Thanks
I can't even imagine how easy it could have been to understand this stuff. Thanks 🙏
Thank you, i really understand so a lot now.
7:57 Rage against the chalk
This video helped me a lot! Thank you so much for sharing it!
Whats crazy is that this how your eyes work, the entire process of squishing the images we see is done for us, here we see the process deconstructed and its awkward as fuck.
@remyclarke4020
3 жыл бұрын
This isn't really how our eyes work. this is far weirder. Here the 3D space is "physically" squished. With our eyes we receive just a small portion of reflections of light from the 3D space. That's why raster graphics aren't as "realistic" as as pathtracing/raytraced light simulations, but it is way faster. Still really cool.
what was this class called?
Fantastic teacher
Great lecture
Very nice !
thanks for the lecture, but when you bring everything inside the cube by using the 4x4 matrix, this still volume, while the image should be a plane square or rectangle (film). is any other matrix is going to do this job, or I missed things.
Nice audio quality. Much easier to follow with clean audio.
i 'think' the professor meant "clip space" when he wrote "image space". after the w division, it becomes "ndc space"
@daleowens7695
4 жыл бұрын
I know this is old, and I'm also no expert, but clip space is 2d whose domain is -1,1. Clip space is the projection of image space from the origin along -z onto the xy plane. So no, he doesn't mean "clip space", he means "image space."
Amazing
maybe mock-up vector-axis model(like with wires) that can be manipulated?
A more commonly used name for the shape of "truncated pyramid" used in this domain is frustrum
Back in the mid 1980's I took an extension course at UCLA. I didn't have time to eat a decent meal before class, so I ate out of a vending machine and went up to the Engineering-Math Library before class. I Stumbled on to some IBM Research Journals that were very enlightening. Math PhD's had carefully researched algorithms and presented how they would do it if memory was not constrained. Then, they bastardized the algorithms to squeeze them into crippled computers. Before I finished the course, the friends of the library literally gave away these volumes because they were more than 15 years old and the library had run out of shelf space. So, the bastardized algorithms survived, but the research into what should have been got destroyed. Our algorithms today are simply the patched versions of the bastards. Nobody has ever revisited what should have been. Its simply very awkward settled science, good enough for half a century ago when the bigger IBM 360's had 16K of core.
Are the recitations any where to be found?
Very nice lecture. Any art student could easily draw 3D perspective drawings for him to show pyramid stump and cube. That would make it even better.
@matzc557
8 ай бұрын
This comment is especially funny if you are an art student watching this video so you can draw in 3D
11:31 there's a discussion about why camera faces -z axis. The x and y axes you'd want to be right and up respectively. You'd also want a right-handed coordinate system (as the other choice is evil) which means the positive z-axis will be behind the camera.
@techeadache
8 жыл бұрын
+LAnonHubbard 27:52 The massaged cube turns evil (left-handed) after a lot of rubbing. Corrupted with pleasure!
@LAnonHubbard
8 жыл бұрын
+techeadache OMG! And after that point in the video if you squint your eyes the board appears to be full of Illuminati symbols. I swear that professor will shape shift into reptilian form soon!
@techeadache
8 жыл бұрын
+LAnonHubbard Run the video backwards. You might be able to spot a hooked x. Only the penitent man shall pass. Damn negative sign! Stay out of algebra. Everyone hates you. Stupid subtraction wannabe. Get out of here before the professor rubs you out. Yeah you heard me. Keep walking.
Why use pre-matrix multiplication? He mentions OpenGL. Every single tutorial online or in a textbook I have seen uses column vectors and post multiplication. Why the inconsistency?
@neurochannels
5 жыл бұрын
Some programs do it one way, some do it another way. You just need to know what your system uses (just google row-major vs column-major opengl)
@gvcallen
2 жыл бұрын
there's the chance its how the university/academy does math as a whole, but it could be a convention the teacher prefers just in general
Very Good
9:24 "THE BOX"[the camera] flies around in 3D space. What is equation of that transform function? 11:05 only shows the end result of the world space after it is transformed into the camera space. Did I miss a lecture? The answer might be hidden in "Rotations About an Arbitrary Axis". But I will have to put two and two together. I hate thinking for myself. Well at least the viewing transform is written out. The projection transform is described but not written either. I can guess that it is a 4x4 matrix that accomplishes a simple division by W. Is "THE FILM" mapped into the cube-shaped viewing space at an adjustable position or is it fixed in OpenGL?
@osenseijedi
8 жыл бұрын
+techeadache i dont know if you figured it out since, but the way I understand is that before projecting the point using the camera transform, the points of the 3d world are converted to the camera space (where the 'Z' is behind the camera). So if the camera moves in the space, before computing the picture, translation + rotation have to occur to make things right before using the camera transform. (then again, I might be wrong, I just discovered today ^^ )
@techeadache
8 жыл бұрын
+mr_os Yeah it would have been nice if that professor mentioned something like that. I am sure that is exactly what is meant to be done. Even if it is trival or brainless or just plain obvious. All of a sudden, all the world space points are in the camera space. And it felt like I missed a step in the 3D pipeline. Is it by Euler's Angles or Quaternions or some other mathematical magic that moves those points around? Maybe this lecture should have been called "The Perspective Projection Viewing Transformation with a Contemporary Camera Classification Part 2(a)".
@osenseijedi
8 жыл бұрын
My guess is that it had to start simple, so you just compute a picture with the origin of the world at the camera point (ignoring the camera moving). Once students understand that process, you can teach the rest. But don't get me wrong, I think you are right. At least a little mention should have been made. And yeah, you would need to compute a translation + rotation with quaternions (to avoid gimbal lock) before the camera transform. The result would still be one single 4x4 matrix (that changes when camera changes position).
i witch i learned this at school :(
I struggle really badly with this topic. Why is the image plane placed in the middle of the cube? Shouldn't it be placed at the back of the cube so that everything inside the cube makes its way onto the image. I know my understanding is fundamentally wrong, but I cant identify where I've gone wrong in my thinking.
@gigamungus5764
5 жыл бұрын
I had this exact same question while watching, did you ever find an answer?
@MLGranny
3 жыл бұрын
ThatAwkwardGuy A little late, but maybe it will still help you or someone else in the future. It doesn‘t matter where exactly the cube is positioned on the z-axis since when you project everything in the cube on the screen, you just, as he said, forget about the z-coordinate. So in the end, the cube could be centered at the origin, z = 100, z = pi or anywhere else on the z-axis, as the x- and y-coordinates would still remain the same (The transformation matrix wouldn‘t be the same then obviously).
at 15:18 I'm assuming this would be the film?
At moment 25:26 shouldn't it be [0 0 -an+b +n] because -n×-1 = n?
@TheSulaimanKhaled
5 жыл бұрын
nevermind a student fixed it at 26:12 XD. AMAZING LECTURE
@alexroberto8499
3 жыл бұрын
I didn't understand either, I had to remember how to multiply matrices and came to the conclusion that there was a typo on the board
It's not a truncated/compressed cube, it's basically a planar cut, which can be round or square, whichever is best for your math.
@lit22006
2 жыл бұрын
because of the nature of infinity and L2 norm.
Is the camera pyramid the view frustrum?
@mailoisback
3 жыл бұрын
view frustum is the frustum of the pyramid (the truncated pyramid by near and far planes)
dudeeeeeee
26:36 which formula is he using
@Inevitablerizzler
5 жыл бұрын
He divides eveything by W(the n)
I love you UC DAVIS
Anybody from game development:).
@nikunjmajithia5002
4 жыл бұрын
Lol dude you dont need this for game development keep it simple
@kadyshev2759
Жыл бұрын
@@nikunjmajithia5002 you need this
kinda wish he could draw in 3d
anonymous trying yo keep up with 4 ilts english. now im shopstore owner. tomorrow will be that call telling me we need your animation practiceses.