A Universe of Triangles - Computerphile

Sdílet
Vložit
  • čas přidán 28. 11. 2013
  • We see objects all the time and our brains decode the 3D shapes, but how do computers model these shapes and why break it all down to triangles?
    Graphics series with John Chapman:
    1/ Universe of Triangles : • A Universe of Triangle...
    2/ Power of the Matrix : • The True Power of the ...
    3/ Triangles to Pixels : • Triangles to Pixels - ...
    4/ Visibility Problem : • The Visibility Problem...
    5/ Light and Shade in Computer Graphics: Coming Soon
    John Chapman is a graphics programmer who blogs here: www.john-chapman.net
    / computerphile
    / computer_phile
    This video was filmed and edited by Sean Riley.
    Computerphile is a sister project to Brady Haran's Numberphile. See the full list of Brady's video projects at: bit.ly/bradychannels

Komentáře • 512

  • @Torguish
    @Torguish Před 9 lety +905

    This dude would make a badass villain in some sort of Sherlock Holme-ish type movie/series. :D

  • @ashwith
    @ashwith Před 10 lety +239

    Kudos to whoever does the animations for Computerphile. They are always very helpful.

  • @jasonlaw2595
    @jasonlaw2595 Před 9 lety +66

    I am at 00:34 nd have decided already this guy can be leader of my village.

  • @yrnteao
    @yrnteao Před 10 lety +256

    It sounds like james bond is giving me a lesson on co-ordinates, it's awesome.

  • @phultroo
    @phultroo Před rokem +10

    I am very bad at maths, geometry and stuff but this dude's explanation is just crazy. I wish i had a teacher like him.

  • @OwenPrescott
    @OwenPrescott Před 9 lety +43

    As a designer I'm never going to be able to use a triangle without being accused of being Illuminati.

  • @Josematube
    @Josematube Před 7 lety +45

    One of the best explanations I ever see!
    Thanks a lot.

  • @earloe.9383
    @earloe.9383 Před 10 lety +31

    Can we have more of this dude in future?

  • @steppenhenge
    @steppenhenge Před 10 lety +37

    I wonder if they were sitting on a three legged stool when they figured to model with triangles... interesting that the same reasoning for why to use triangles is the same reason why 3 leg stools are better than 4 legged ones - no wobble.

  • @VGToolbox
    @VGToolbox Před 10 lety +166

    That's a lot of triangles for the side of a cylinder! I'm sure you could get away with 2 per side ;)

  • @unvergebeneid
    @unvergebeneid Před 10 lety +54

    Quaternion tie-in with Numberphile. Do it! Do it! :)

    • @Dayanto
      @Dayanto Před 10 lety +9

      This would be amazing! I've read a bit about them, but I just can't wrap my head around the concept.

    • @HiAdrian
      @HiAdrian Před 10 lety +1

      Would love that too mayne.

    • @HassanSelim0
      @HassanSelim0 Před 10 lety +1

      ***** same here, I get what the 4 components stand for and it seems like a reasonable idea, but I don't get how you can deal with them, like how can you apply two rotations to the same object one after the other if you're using quaternions? how can I make first-person camera rotations using them?
      I also don't understand any of their advantages, how does it really avoid a "gimbal lock"?

    • @DDranks
      @DDranks Před 10 lety

      Yeah, totally agreed, I can't wrap my head around them yet. Btw. here's a great presentation about them. acko.net/blog/animate-your-way-to-glory-pt2/

  • @veggiet2009
    @veggiet2009 Před 10 lety +15

    While triangles are easiest for rendering, displaying a mesh. Quads are more convenient for modelling, creating a mesh

  • @arsenelupin123
    @arsenelupin123 Před 10 lety +32

    1:48
    Your coordinate system isn't right-handed. It's good usage to make it right-handed, usually.

    • @HassanSelim0
      @HassanSelim0 Před 10 lety +6

      I agree, it's one thing to switch the Y with the Z (which I got used to and accept), and another thing to make it left-handed, this one drives me crazy :S
      If you have X right and Y up, then Z has to be towards you damn it! don't make it more confusing to me when rendering stuff :S

  • @Validole
    @Validole Před 9 lety +76

    This dude reminds me of the Tenth Doctor. Also, of caffeine.

  • @Arm4g3dd0nX
    @Arm4g3dd0nX Před 10 lety +39

    Can I borrow John Chapman to go to a restaurant with me and my friends so he can explicitly and careful describe everything about the food I ordered from the menu and how I plan to consume it and drive all my friends nuts? :)

    • @Arm4g3dd0nX
      @Arm4g3dd0nX Před 10 lety +27

      P.S.: If you think I was trolling him, that wasn't my intention. He has such a detailed way of saying things and a Sean Connery-esk voice I think it'd be awesome for him to describe something mundane. :)

    • @sixthSigmaSnowball
      @sixthSigmaSnowball Před 10 lety +7

      Ultimate wingman...

  • @squidcaps4308
    @squidcaps4308 Před 10 lety +1

    Have to once again thank you for these videos. it's just so easy to link a playlist instead of spending hours explaining it.

  • @cril1001001
    @cril1001001 Před 10 lety +1

    I'm happy to see comments about the animations. They are a fantastic touch to these videos. Keep doing that :)

  • @papa515
    @papa515 Před 10 lety +7

    Looking forward to the next video about moving them about in 3D space.

  • @tomhearn5886
    @tomhearn5886 Před 10 lety +12

    This man is the richard hammond of triangles

  • @Berserkism
    @Berserkism Před 10 lety +1

    Love this series, I am actually getting a basic and more clear understanding than I ever had. Clear and concise explanation. Much appreciated.

  • @yushatak
    @yushatak Před 10 lety +10

    Would have saved me so much time if this video existed a few months ago when I learned this all the hard way.

    • @tabularasa0606
      @tabularasa0606 Před 10 lety

      There is a hard way?

    • @yushatak
      @yushatak Před 10 lety

      Brute force learning of how vertices map to create models by hand..

  • @husticik
    @husticik Před 10 lety

    This is just awesome ! Watch the whole series.

  • @bsqrd
    @bsqrd Před 10 lety +1

    This is very interesting, looking forward to the next computer graphics video!
    I always learn new stuff with Computerphile videos, so, thanks a lot, and keep it up ;) !

  • @ThomasGiles
    @ThomasGiles Před 9 lety +1

    A great summary of how polygons are used and drawn by a computer. Good job!

  • @swedenlifebyadnan
    @swedenlifebyadnan Před 5 měsíci

    This is the worlds best video on a particular topic where a topic is explained so clearly and easily that i am beyond impressed and writing the comment in the middle of watching the video

  • @evildude109
    @evildude109 Před 10 lety +24

    Oh, it hurts so much seeing a left handed coordinate system.

  • @NickiRusin
    @NickiRusin Před 10 lety +8

    What a lovely video. Thank you!

  • @DFX2KX
    @DFX2KX Před 10 lety +4

    This was fun to watch. Reminds me of my GameMaker days (the 3d engine in GM is quite simple, and you had to do a lot of the rendering manually)

  • @casualcadaver
    @casualcadaver Před 8 lety +16

    I wish i was this fluent in math and geometry.

  • @SyntekkTeam
    @SyntekkTeam Před 10 lety +1

    Really cool stuff, I never learned about it in this way and I think it might come in handy in some of my projects

  • @Rider0fLightning
    @Rider0fLightning Před 10 lety +2

    Now I know what models are made of. The more you know. :D Thanks Computerphile!

  • @Ubeogesh
    @Ubeogesh Před 10 lety +9

    Thank you! More 3D graphics videos please!

  • @NeilRoy
    @NeilRoy Před 8 lety +1

    Very well done videos, thanks. I already understood these concepts, but this was perfect to share with friends.

  • @bluecpp2059
    @bluecpp2059 Před 7 měsíci

    Amazing presentation! Very well done. Thank you.

  • @Mivalys
    @Mivalys Před 10 lety

    I really enjoyed this one! Loved hearing about those geometry problems. Thank you.

  • @dt28469
    @dt28469 Před 9 lety +1

    Ive noticed in some older video games though that both sides of the triangles are rendered. If you walk too close into a corner in some 3rd person games you could see the inside of the characters body, and its coloured the same way as the outside.

  • @ColtaineCrows
    @ColtaineCrows Před 10 lety +60

    Here's a drinking game for you, a beer and a shot of tequila every time the word "verticies" is used, and no, I'm not responsible for your alcohol poisoning.

    • @HassanSelim0
      @HassanSelim0 Před 10 lety

      Gammel Prutte I had so much trouble trying to spell "vertices" right when writing my Bachelor Thesis, and I think I still got it wrong :D

    • @ColtaineCrows
      @ColtaineCrows Před 10 lety

      Hassan Selim I'm not even sure I've heard the word before I saw this video. English isn't exactly my first language.

    • @KetoMelange
      @KetoMelange Před 10 lety +2

      Stopped after three, and now I feel really stupid.

  • @sergheiadrian
    @sergheiadrian Před 10 lety

    That was a very good video. Thanks Brady.

  • @TheBigBigBlues
    @TheBigBigBlues Před 9 lety +5

    I think maybe the rectangular piece of paper should have been folded out of the plane (with the fold line intersecting the two opposite vertices), instead of it being bent to create a curve. As you could obviously curve the triangle into a new plane also, but you could not fold the triangle into a new plane.

  • @fogglee
    @fogglee Před 10 lety

    Wow great timing! I've actually been working on a 3D renderer myself for the past 2 weeks. It's far past this but still great video.

  • @DarkadeTV
    @DarkadeTV Před 10 lety

    By far my favorite ***** video yet

  • @hadhad129
    @hadhad129 Před 10 lety +1

    This reminds me of FEM (Finite Element Method) which uses triangles (most of the time) to approximate surfaces in 3D, like he said. It is used to approximate solutions to differential equations.

  • @BubbaYoga
    @BubbaYoga Před 10 lety +1

    Excellent as always!

  • @OblivionCalling
    @OblivionCalling Před 10 lety

    I was typing a whole pile of stuff on how triangles are coplanar and how that makes rendering the triangles so much nicer. I failed to notice how long this video is. Thankfully it was mentioned before I finished typing :P

  • @maersklandro
    @maersklandro Před 9 lety

    I knew everything this dude is talking about (and much more) a long time ago. Plus actual mathematics of 3 rotation, projection, translation and texturing.

  • @kingswordisbodoubleS
    @kingswordisbodoubleS Před 10 lety

    Wow, you can be a great teacher. This was awesome.

  • @arkanglegeibriel
    @arkanglegeibriel Před 9 lety +4

    I'd love to see a computerphile - quaternion video ^_^

  • @yarbles_
    @yarbles_ Před 10 lety

    P.s.
    I have enjoyed every single Computerphile vid! My only complaint is that they don't come often enough. :)

  • @ivanaslamov
    @ivanaslamov Před 10 lety +11

    Nice video! I have a question. Obviously our brain can create 3D scenes from memories, and the scenes we see in our dreams. So the question is: Do we know how our brain stores such 3D information? I presume it must be done in some very efficient manner. Does it has some correlation with the technique you described in the video.

  • @VjKammi
    @VjKammi Před 10 lety +1

    Ahhh that makes total sense! Great video thank you :D

  • @DevSolution
    @DevSolution Před 10 lety

    Great explainatory video guys :D

  • @arnauarnauarnau
    @arnauarnauarnau Před 10 lety

    very cool episode!

  • @DjinneticTV
    @DjinneticTV Před 10 lety

    This video is awesome thanks!

  • @MetalSilvan
    @MetalSilvan Před 10 lety +4

    Quite a nice topic! More on tessellation and maybe game rendering!

  • @bioturok439
    @bioturok439 Před 10 lety +2

    The way the z axis is defined is not wrong, but it is not the most conventional one. This might be confusing. According to the right hand rule, +z would point "out" of the plane (towards the viewer) and -z in the opposite direction (just like with the triangle winding). Still, great video!

  • @MindLessWiz
    @MindLessWiz Před 10 lety

    This was really cool!

  • @cra0kalo
    @cra0kalo Před 10 lety

    Best description ever thank you so much know I finally get it

  • @MrTStat
    @MrTStat Před 10 lety

    I'm studying this right now, video was really useful thanks :)

  • @white_shadow_123
    @white_shadow_123 Před 10 lety

    this explains so much.. thank you!

  • @CelticSaint
    @CelticSaint Před 10 lety

    Interesting stuff! Thanks.

  • @georgef.9109
    @georgef.9109 Před 10 lety

    You just made my day

  • @tbear1395
    @tbear1395 Před 10 lety +1

    Very good explanation

  • @willlewis77
    @willlewis77 Před 10 lety

    As someone who works a lot with FEA, this was terrific.

  • @flidrl
    @flidrl Před 10 lety

    I never knew how do they distinguish inwards and outwards facing polygons. Cool

  • @davidnagli
    @davidnagli Před 9 lety +11

    How do you divide a sphere into triangles??

  • @GreatLange
    @GreatLange Před 10 lety +4

    And that is why triangles are my...
    MARVELS OF THE SCIENCE

  • @Gunchulis
    @Gunchulis Před 10 lety

    Very well explained! :)

  • @DSMikeNW
    @DSMikeNW Před 10 lety

    This video would have been really useful to me 2 weeks ago xD, very good video.

  • @roshchodesh1
    @roshchodesh1 Před 10 lety +1

    hope this is going to be a playlist soon... :D

  • @Anirban456Mandal
    @Anirban456Mandal Před 10 lety

    Maan, this is some real maths-video I have seen in a few days

  • @puncheex2
    @puncheex2 Před 10 lety

    The important thing about triangles is that they are uniquely and completely determined by the coordinates of their three vertices. Squares are ambiguous; four coordinates may define a square, or they may define a "squaroid" which won't lie in a plane. 3D software will often render a squaroid by jumping back and firth between it's possible renderings randomly, based on floating point rounding errors and such.

  • @tedtech5340
    @tedtech5340 Před 8 lety +23

    He kinda sounds like Shaun Connery lol

  • @marsCubed
    @marsCubed Před 10 lety +1

    There are actually many systems for representing 3d objects (meshes), it depends on the "rendering engine" (software that reads the data and presents it to the video card).
    The most common are..
    A list of individual triangles, triangle strips (where each new vertex is assumed to be part of the next triangle in the mesh), meshes (as in the video, where a point list describes how to connect a vertex list), quads & quad strips (similar to triangle and triangle lists, but they use 4 verts), polygons and primitives.. nurbs, (like using a cage of points around a mesh to imply where the surface is). although these all get converted down to triangles by software &/or graphics card at render time.
    Also, there are terrain maps and bump maps.. which are like a list of numbers (think grey-scale image, with each pixel in the image being a height) that tell a rendering engine how high a point is from a particular plane or distance from the centre of a pre defined primitive.
    There are undoubtedly other ways to represent 3d objects too.
    ie, could use angles and distance from a point.
    Graphics cards themselves are usually what limits what people do (rendering speed etc).. & often have cool features that allow programmers nifty ways to represent model data.

  • @EdMcF1
    @EdMcF1 Před 7 lety +1

    The opening comments of this excellent video remind me of the Red Dwarf episode Waxworld and Pythagorus.

  • @goshisanniichi
    @goshisanniichi Před 10 lety

    Yay. Upcoming video about Linear Transformations... Brady should do a Linear Algebra Numberphile video to go with it.

  • @Chocomint_Queen
    @Chocomint_Queen Před 10 lety +17

    He looks like Doctor Who and sounds like a young Sean Connery. Have him more please

  • @FabrizioBianchi
    @FabrizioBianchi Před 10 lety +14

    I am sorry to say that, even if the topic is one of the most interesting ever tackled by the Computerphile videos, the explanation is not made very clear by talking of things not very useful for the comprehension, such as the curved part of the rectangle, for example. The viewer could well imagine a triangle curved with one of its vertices raised with respect to the others and therefore miss the advantage that is being explained.

    • @TheOtherNeutrino
      @TheOtherNeutrino Před 10 lety +13

      Not really. Moving one of the vertices out of plane still forms a triangle, just one with a different plane when you cut the curves. Doing the same thing with the rectangle does not leave another rectangle but something more like two triangles of different planes melded together.

    • @Anirban456Mandal
      @Anirban456Mandal Před 10 lety +3

      You got a very good point actually. They really could have done that

    • @krabkit
      @krabkit Před 10 lety +6

      it would have worked better if he had used a model with rigid sides and loose joints. that way you would be able to see that the triangle is unable to move out of plane with the other angles and the higher order polygons would.

    • @FabrizioBianchi
      @FabrizioBianchi Před 10 lety +2

      I guess the problem at that point would have been that the rigid sides would have had to have a triangular shape, therefore making it even more complicated (although proving his point).

    • @FabrizioBianchi
      @FabrizioBianchi Před 10 lety

      ***** This is what I wanted to mean in my last comment.

  • @csmaster65
    @csmaster65 Před 10 lety

    nice grapichs on the coordinates like it very much

  • @ultravidz
    @ultravidz Před 10 lety

    great one

  • @stijnbegeman306
    @stijnbegeman306 Před 10 lety

    Interesting stuff!

  • @SprocketWatchclock
    @SprocketWatchclock Před 10 lety

    In the case of particles, it's actually easier both to render and to control them if they're rendered as projected raycasted rectangular images rather than a set of 2 triangles because they render much nicer and don't get as distorted or have the sorts of orientation glitches you get when you introduce multiple cameras.
    Fun fact: the Sega Saturn used strictly tetrahedral based rendering, making it's textures signifigantly less distorted, but also, due to their low-resultution, less smooth and more jaggy. Also, it made developing for the Saturn a nightmare for multiplats since all of the in-game geometry had to be converted to tetragons from the triangular polygonal mesh data of the Playstation, N64, 3DO and PC verisons.
    Also, he forgot to mention anti-aliasing, which is a post-processing filter applied to polygonal renders that helps eliminate the jaggies and better approximate curved surfaces. It's standard practice in modern video games and part of why modern games don't look as polygonal as their past counterparts. You can disable this filter in most modern PC games and you can see the difference.

  • @LivePastTheEnd
    @LivePastTheEnd Před 8 lety +9

    Damn does that cylinder tesselation grind me the wrong way ahah XD So many wasted triangles! Could've made the sides out of a bunch of long rectangular pairs of triangles instead and increased the approximation of the shape with the leftovers.
    Great video though, as always.

  • @Lion_McLionhead
    @Lion_McLionhead Před 10 lety

    It's quite elegant, the way the 3D coordinates are converted to 2D coordinates for rendering on the screen by matrix multiplication. It's all math from the 1980's.

  • @CjqNslXUcM
    @CjqNslXUcM Před 10 lety +8

    i like this guy

  • @paulamsden8420
    @paulamsden8420 Před 10 lety +8

    Doesn't his coordinate system violate the right-hand rule? I think +z should be out of the paper, not into the paper.

  • @rusca8
    @rusca8 Před 8 lety +14

    Weird leftie axis system. I'd have put the +z the other way. :/

  • @Slarti
    @Slarti Před 10 lety

    Origami very much works from this principle of triangles using folds and inverse folds - I would recommend all developers take up origami to help physically visualise vectors.

  • @bigsteamfan
    @bigsteamfan Před 10 lety

    That's one charismatic programmer! I like his style... He's so suave... Like he's about to take you on a dinner, just when he explains about graphics triangles.. lol

  • @MedEighty
    @MedEighty Před 10 lety +1

    Triangles are to shapes what sine waves are to periodic signals. You only need the former, in different sizes and at different angles/phases, to construct a representation of the latter.

  • @DeviousMalcontent2
    @DeviousMalcontent2 Před 10 lety +1

    More from dis guy pls.

  • @nadirkhalili855
    @nadirkhalili855 Před 9 lety

    Whats interesting is that if you consider the possibility of our existence being that of a computer simulation then you would end up trying put together how the three dimensional objects such as spheres in our universe and/or the concept of a circle aren't plotted in terms of small triangles, and so if you truly believed this was the case, you would be conflicted in coming up with a better way in creating computer models without the use of triangles. i.e, in mathematics we have pi a continuous number that illustrates the circumference of a circle, and so we haven't really fully come up with a definitive way to fit our understanding of round surfaces let alone implement it into a computer simulation.

  • @4grammaton
    @4grammaton Před 10 lety

    I think I know now why there are so many games with crystals as a central plot element. They're so easy to render with triangles.

  • @aethelsteadtheunsteady450

    00:36 Half way into '3D geometry & chill' and he gives you this look.

  • @iainclarkemusic
    @iainclarkemusic Před 10 lety

    Blew my mind!

  • @manuelito1233
    @manuelito1233 Před 9 lety

    Learning 3D software, such as Maya and Max, this really opens my eyes to how 3D works lol

  • @bitchslapper12
    @bitchslapper12 Před 10 lety +2

    So what you mean by the face of a triangle is basically the side with visible texture?

  • @nicolavetrini
    @nicolavetrini Před 5 lety

    Nice explanation for newcomers or those who want a brief recap

  • @yannickbernaerts2325
    @yannickbernaerts2325 Před 10 lety

    An interesting sequel would be explaining how voxels work and their advantages (and disadvantages)

  • @lucasbune
    @lucasbune Před 10 lety +5

    why did he use so many triangles for every row at 8:10 ?
    As the approximation only gets better by the number of triangles in the top (and the equally big number of rows in the side), he could have used only two triangles for each row down, using much less data, and it would have looked exactly the same.

  • @gesh92
    @gesh92 Před 10 lety +1

    Less frequently, but rectangular meshes are also used. You can still restrict the points to be coplanar. Of course, creating the mesh is more difficult.