How Do Computers Display 3D on a 2D Screen? (Perspective Projection)

  Рет қаралды 28,525

Carl the Person

Carl the Person

Күн бұрын

Пікірлер: 60
@justplay2508
@justplay2508 11 ай бұрын
Your explanation is so clear and concise that I had an "ahah" moment where every piece just fell into place and dots started connecting
@lukaknight9589
@lukaknight9589 Жыл бұрын
thank you so much, I'm so glad I found out this video. I've been seeking information about projections for a few days and couldn't find any information that wasn't irrelevant or too advanced, but, finally, I found your video and now I understand everything and was able to make my own 3d projection in js.
@w花b
@w花b Жыл бұрын
Right, I've finally found something that's properly explained.
@lodgechant
@lodgechant 5 ай бұрын
Thanks for this wonderful introduction. I failed maths at school and wasn't shown the value of trig when I was a kid. You've blown my mind!
@carstenmohler629
@carstenmohler629 Ай бұрын
I know a Danish dialect when I hear one. No Dane can avoid the Danglish. Thanks for the video, my fellow LEGO-eating windmill-hugger.
@kin_1997
@kin_1997 3 ай бұрын
Amazing video, thank you for helping the topic click,
@iwaduarte
@iwaduarte Жыл бұрын
Exactly like @LukaB Knight posted. Your content is straightforward and goes in-depth about the perspective subject. Most content are math-heavy based or lazy representations. Especially content from universities and professors. They assume you know their derived thoughts in powerpoint presentations or even worse, they start with a really good explanation in the introduction just to come up with crazy things once things get real. Keep up the excellent work. Keep it simple (KISS) should be a rule that everyone that produces content should strictly follow. Congrats
@STBrian159
@STBrian159 3 ай бұрын
I really loved the video. I come from another video that began to explain somewhat more advanced things and I didn't understand anything. Maybe this is a little simpler but it is really useful when you are new in this area. Keep making content like this, intuitive and easy to understand!!
@imfaded3105
@imfaded3105 Жыл бұрын
Great explanation
@shpleemcgert
@shpleemcgert 3 ай бұрын
This is an awesome explanation. You have a gift for teaching!
@Extner4
@Extner4 Жыл бұрын
THIS WAS SO USEFUL! I was trying to fix a bug and I just could't find it. When I watched this video I realized my core projection was wrong! And it works now. tysm!
@plasthree
@plasthree 8 ай бұрын
This is the best I've seen about this topic. Thank you so so much to explained this. ❤❤❤
@pietrononame4945
@pietrononame4945 Ай бұрын
Good explanation. 16:22, why there is a zero in that tangent formula. Zero devided by anything gives always zero. 21:00, on the other side of the screen there are different shapes and -Y => -1. Why not to mention about it? How to lift up the camera, move it to the left and point it down on the objects? How to calculate such movement?
@lesablier6744
@lesablier6744 Жыл бұрын
Thank you very much for your explainations !
@fdanavarro
@fdanavarro 8 ай бұрын
Thanks for taking the time to explain it in such a good way
@laurin__
@laurin__ 10 ай бұрын
Really cool video, thx!! This was soo helpful and first video on this subject i didnt find overwhelming as a medium iq guy, thanks for the simple and concise explanation
@eliseoduque3261
@eliseoduque3261 Жыл бұрын
amazing video , actually learned well
@MusicTee
@MusicTee 3 ай бұрын
very informative video, i just made my first 3d renderer using this
@blaisofotso3439
@blaisofotso3439 Жыл бұрын
That was so well done, Kudos. Wish i could see more of these concepts explained. Warm regards
@jbragg33
@jbragg33 2 ай бұрын
Amazing, thanks
@frycomfort4002
@frycomfort4002 Жыл бұрын
Clear and Amazing
@giveaway4002
@giveaway4002 Жыл бұрын
this is awesome!
@user-tr7xm6nj8t
@user-tr7xm6nj8t 6 ай бұрын
Such a good explanation....thanks
@dijik123
@dijik123 8 ай бұрын
Ur not carl the person ur carl the legend
@original16gstudio80
@original16gstudio80 6 ай бұрын
Finally, btw love ur drawing ❤
@dennisrajan8020
@dennisrajan8020 5 ай бұрын
This is Amazing! Thanks a lot!
@mrshodz
@mrshodz Жыл бұрын
Nice explanation.
@bestcodepractice7898
@bestcodepractice7898 9 ай бұрын
Bro you are freaking amazing ❤❤❤
@jammin1336
@jammin1336 6 ай бұрын
Because math
@nikolastamenkovic7069
@nikolastamenkovic7069 8 ай бұрын
At some points of the video, I thought that you were dumbing down the concept hardly, and that made me a bit impatient.. but overall - really great stuff!
@theengineer9910
@theengineer9910 Жыл бұрын
Thank you !
@yapianomaster
@yapianomaster Жыл бұрын
Amazing😱 It would be nice to show that there is a Zp coordinate too, however its value is always n, and because of that, we see the 3d object on the "2d plane" which its actually 3d, but flat hh, and because of that, the Zp can be ignored, for 2d porpuses.
@Bunny99s
@Bunny99s 9 ай бұрын
Actually when doing proper 3d rendering with OpenGL or DirectX we use a matrix to do all those transformations at once. We actually have a z value, but that's not just "n" but specifically claculated so it can be used to sort things in depth. Your GPU actually has a depth buffer besides the actual frame buffer which holds the color information of the pixels. The depth value is actually written into the depth buffer. That way things that were drawn first can occlude things drawn later. Anyways. This video ia a good introduction in the very fundamentals of 3d projection. In actual gameengines or 3d applications we use 4d homogeneous coordinates and 4x4 matrices to define any position or transformation.
@sidtronics
@sidtronics Жыл бұрын
That is so awesome!
@orangomango
@orangomango Жыл бұрын
AMAZING
@melangesvolatils6506
@melangesvolatils6506 2 ай бұрын
Cooool
@AnvarRaxmonov23
@AnvarRaxmonov23 Жыл бұрын
Thanks
@MostafaAshraf-iu4yq
@MostafaAshraf-iu4yq Жыл бұрын
Your a legend
@siirkire
@siirkire Жыл бұрын
Cool cup
@turner7777
@turner7777 8 ай бұрын
great explenation, but wouldnt this only work if the camera never rotated? For example what if you rotate 10 degrees right (or up, depending on your perspective), then the triangles that are formed wont be right triangles so the formula wont stand and also the whole plane shifts
@Karmush21
@Karmush21 Жыл бұрын
Is it really true to say that the near plane and screen is the same thing?
@iwaduarte
@iwaduarte Жыл бұрын
Yep
@culan_SCP
@culan_SCP 6 ай бұрын
just a question? what is the dot symbol in the calculations at 23:15?
@kn-ki4637
@kn-ki4637 5 ай бұрын
you mean the multiplication symbol? it means z times tan(a/2).
@AndrewX981
@AndrewX981 Ай бұрын
It's just mutiplication. We use it this way since there is also an x variable that may seem as multiplication.
@andrewdunbar828
@andrewdunbar828 Жыл бұрын
You don't need trigonometry for perspective projection. You only need it for rotation. For perspective projection you just divide your X and Y each by your Z. In practice you'll want to use scaling factor and a Z offset in 3D space and X and Y offsets in screen space to normalize to the centre of the screen like you covered. I figured this out with a friend in the early '80s when I was 13 or 14. I didn't know most of the terminology and never learned matrices let alone all the amazing fancy stuff used these days. I don't understand the stuff with tan and your a variable.
@FlanPoirot
@FlanPoirot Жыл бұрын
he used basic trigonometry. basically if you know 2 sides of a triangle you can know the other side by using sin, cos and tan. so since u want to scale down distant objects, its ratio should be the same, aka the triangle between the camera and the projection and the camera and the real distance of the object would have the same ratio. so you can know the w / h will be the same on both instances. so hp / wp = h / w (p standing for projection). solving for the projected height you have hp = h / w / wp which becomes hp = h / (w * wp) since wp is tan(2/a) (this means that the angle of the point you're projecting is half the total angle of the frustum if you look at the drawing he made you can see that this is the case) so we can just substitute wp for tan(2/a) in our equation hp = h / (w * tan(2/a)) and the same can be said for width so wp = w / (h * tan(2/a)) choosing an angle and using the points in the plain for your object and solving the equation, it will give you the projected coordinates for the object
@ellis447
@ellis447 Жыл бұрын
This guys a genius!
@pixellino5009
@pixellino5009 Жыл бұрын
Matrices are used for the calculation of the coordinates in space rather than projection.
@andrewdunbar828
@andrewdunbar828 Жыл бұрын
@@pixellino5009 Matrices are used for both rotation and projection. But they don't need to be used for either. I believe the big win with matrices is that you can combine several rotations and projection all into one operation and by doing so ultimately use fewer discrete calculations. But I'm not sure. Also I believe these days quaternions are often used instead. Caveat: I'm bad at matrices and barely have a clue wrt quaternions, but when I was a kid in the '80s I did 3D rotation and projection on the 8-bit computers we had back then regardless.
@angeldude101
@angeldude101 Жыл бұрын
Trigonometric functions aren't needed if you start out with the distance of the near plane. The tan function is only used here to derive the distance of the near plane from the viewing angle. After you have the near plane, everything else is just similar triangles.
@AntoineVanGeyseghem
@AntoineVanGeyseghem Жыл бұрын
:O
@dheerparekh1305
@dheerparekh1305 4 ай бұрын
Good video but improve on your presentation and speech delivery
@monkeyrobotsinc.9875
@monkeyrobotsinc.9875 7 ай бұрын
uhh cool but why did you make a whole video about perspective and then at the very end show a cube that looks 100% orthographic? LOL u serious? wow. cool. also turn up the volume on your next video.
@Ðogecoin
@Ðogecoin 5 ай бұрын
you sound like a redditor
@celian_ds
@celian_ds 3 ай бұрын
It does not, you can clearly see the back face is smaller.
@kin_1997
@kin_1997 3 ай бұрын
The math is correct, could be just an optical illusion
@johndoe-d8j6w
@johndoe-d8j6w Ай бұрын
Dude shut up
@culan_SCP
@culan_SCP 6 ай бұрын
WHY DO YOU USE SO MANY LIBRARYS ITS SO CONFUSING PLZ PUT RAW HTML AND CSS AND JS 😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭
@Sleir_
@Sleir_ Жыл бұрын
this video was well made, thank you
Perspective Projection Matrix (Math for Game Developers)
29:13
The Math behind (most) 3D games - Perspective Projection
13:20
Brendan Galea
Рет қаралды 397 М.
大家都拉出了什么#小丑 #shorts
00:35
好人小丑
Рет қаралды 92 МЛН
Coding Challenge #112: 3D Rendering with Rotation and Projection
33:13
The Coding Train
Рет қаралды 202 М.
In Video Games, The Player Never Moves
19:21
Josh's Channel
Рет қаралды 464 М.
CS 476 Module 13: Perspective Projection Matrices
17:45
Chris Tralie
Рет қаралды 14 М.
4D Thinking for 3D Graphics #SoME2
11:26
Maxwell Hunt
Рет қаралды 10 М.
Perspective projection in 5 minutes
5:22
Graphics in 5 Minutes
Рет қаралды 23 М.
ASMR Programming - Spinning Cube - No Talking
20:45
Servet Gulnaroglu
Рет қаралды 3,9 МЛН
Projective Transformation
17:50
Computer Vision with Hüseyin Özdemir
Рет қаралды 13 М.
The Projective Perspective of Perspective Projection
46:32
HardCoreCodin
Рет қаралды 1,6 М.