The Mandelbrot Fractal Explained!

Поділитися
Вставка
  • Опубліковано 21 гру 2024

КОМЕНТАРІ • 227

  • @fuglsnef
    @fuglsnef 6 років тому +171

    This is the best explanation of both the Mandelbrot set and complex numbers I've ever seen, great work!

    • @TheArtofCodeIsCool
      @TheArtofCodeIsCool  6 років тому +10

      aww thanks. I appreciate your appreciation :)

    • @expchrist
      @expchrist 5 років тому +5

      @@TheArtofCodeIsCool this really was an exceptional video

  • @LaukkuBah
    @LaukkuBah 5 років тому +44

    I think the real lesson here is programming before hoes

  • @ShoshiPlatypus
    @ShoshiPlatypus Місяць тому +1

    Excellent explanation. Love the dance floor analogy, beautifully presented! I have struggled with maths all my life but very keen to understand the inner workings of this incredible artefact. I've just plotted the times tables visually and loving the results, and learning about the connections with the Mandelbrot Set and also the Fibonacci series which has fascinated me for years. So much to learn and my intellectual abilities are struggling a lot with it all - I feel that there is something just outside my grasp but I strive to find it!!

  • @realcygnus
    @realcygnus 6 років тому +38

    top notch channel.......best visual explanation I've seen

  • @Kizzudoramu
    @Kizzudoramu 5 років тому +24

    This is the absolute best explanation of fractal generation I've ever seen. The dancer metaphor was perfect. Great video, thank you.

  • @codebro1785
    @codebro1785 5 років тому +21

    Clever metaphor, beautifully explained. Thank you.

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

    You’re the man. It took me 4 years of hard work to start understanding your basic videos. One Love!

  • @martingachagua4554
    @martingachagua4554 5 років тому +3

    Whizz Stuff. You Refreshed My Coding. The Dance Floor illustration And How The Steps Could iterate Was Superb. Then You Showed How Your Computer Operated On The Variables To Create The Mandelbrot Fractal. Your Labor Was Worth It! After A Few Videos . . . . This Was The 4th, . . . . . I Feel That You Took It Home For Me. Appreciated.

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

    Best dance competion i ever watch
    Please make more of, this kind of analogy is so much fun and easy to understand the concept behind.

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

    Bravo! That transition from maths to code was great and filled in what had been missing about that. Thanks! Truly appreciated!

  • @video_games23
    @video_games23 5 років тому +26

    Only 5k subscribers? Super underrated.

  • @cebustama
    @cebustama 4 роки тому

    I saw the dance hall setup you created and instantly subscribed. Amazing video and content!

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

    Absolutely brilliant explanation of the Mandelbrot Set. I always come back to this video to learn more about it. This is beautifully done.

  • @MariusPartenie
    @MariusPartenie 6 років тому +8

    Hello! Great video. While I watched some videos about the Mandelbrot set that delve into the mathematics (on the Numberphile channel), your analogy with the dance competition really connected everything together. Thanks!

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

    WOW! You explained it so well! Just subscribed. Because I watched several videos and so I just better understand how well you explained it! Couldn’t be simpler. Will watch your other videos! Just could be as good as this one! Thanks!!!

  • @sacredbanana
    @sacredbanana 6 років тому +10

    I never thought I'd finally understand the Mandelbrot set today, but I did. You sir deserve a big Easter egg!

  • @oneofthesixbillion
    @oneofthesixbillion 5 років тому +3

    Thanks, I especially appreciated 2 things. I've been confused by complex numbers and you showed how to work with them using simple algebra. Also the dancer analogy that showed how the start point affects whether the given number goes out of bounds gave me a nice conceptual understanding. I was completely confused about how the points map to colors. I didn't see any point plots or how colors are assigned to the points.

    • @TheArtofCodeIsCool
      @TheArtofCodeIsCool  5 років тому +4

      The color mapping is usually based on the number of iterations. This can be completely arbitrary.
      If you divide your number of iteration by the maximum number of iterations allowed, you'll get a number between 0 and 1
      You can then use that number to look up a color out of a texture. The texture could hold any color gradient you want.

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

    Great job. Great explanation. This is about the fifth video I’ve watched on this and it really helps. Thanks.

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

    This was mindblowing.
    The comparison, example and presentation was top notch.
    Amazing.

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

    Wow!!! Never thought I could have such a deep understanding of that set!!! You did a fantastic job!!!

  • @donaldviszneki8251
    @donaldviszneki8251 6 років тому +50

    >That *was* my girlfriend

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

    Just found this video today. I have always wondered about this but never found an explanation this good. Thanks!

  • @davidhopkins
    @davidhopkins 4 роки тому +1

    Thanks for this. The dancer analogy was really helpful. I am most appreciative that you did the hard work of explaining how you square and add complex numbers. The numberphile videos pretend to explain things but they breeze right over how this works.

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

    This (fractals), holography, dissipative structures (and autopoiesis), and cellular automata are most of the ingredients you need to create an evolving universe replete with consciousness.
    Fantastic video. Subscribed.

  • @vinciardovangoughci7775
    @vinciardovangoughci7775 4 роки тому

    Just started watching your videos. Love it man. Can't wait to watch them all

  • @polishka7529
    @polishka7529 5 років тому +15

    30:16 "f = ma"
    Wait a minute...

  • @gabriel-mk7jk
    @gabriel-mk7jk 6 років тому

    Amazing, studying this in computer graphics for over a year and neither my tutors or anyone on the internet has been able to explain the number's behavior so simply. Really clicked after watching this, bless x

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

    Woww.. Never knew someone could explain it so well.. its just amazing! Thanks a ton.

  • @chandrakanth4241
    @chandrakanth4241 5 років тому +3

    that thumb nail, You just nailed it for sure.

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

    you don't know it, but I'm watching all your videos as if you were my teacher. I owe you a lot.

  • @Egosumali
    @Egosumali 6 років тому +1

    People like you make youtube great , such a good video, thanks man i'll be waiting your future videos

  • @Nanookh54
    @Nanookh54 5 років тому +1

    Agree with fuglsnef. You make it understandable for the layman. Great work man!

  • @jbGraphics_
    @jbGraphics_ 5 років тому +1

    I've never heard the dancer analogy - this is really awesome, thank you

  • @anastafah7795
    @anastafah7795 6 років тому +1

    man you are in another level in explaining, thanks so much!!!

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

    Thank you! Amazing! Mind blowing. Can't wait for more!!!

  • @lunafoxfire
    @lunafoxfire 5 років тому

    Very nice explanation of the Mandelbrot set! And very cool idea to play with the rules like that to get some crazy effects

  • @ejejej9200
    @ejejej9200 5 років тому

    An incredible video, with a very thorough explanation. Thank you so much for taking the time to make this. Bravo!

  • @myeffulgenthairyballssay9358
    @myeffulgenthairyballssay9358 5 років тому

    This is a wonderful description of the function that divides existence into this divine map. Thank you.

  • @JoeCoo7
    @JoeCoo7 5 років тому

    OMG, I have never understood complex numbers until I watched this video. Thanks so much, this is just awesome!

  • @prtamils
    @prtamils 4 роки тому

    everybody else are explaining. You are the one Does Teaching. Thanks Mind Blown

  • @ExplainIttoMe_1
    @ExplainIttoMe_1 6 років тому

    Superb video! Very nice explanation and the visuals were a nice touch!

  • @elleniaw
    @elleniaw 6 років тому

    Some great insightful points you are making. I really enjoyed the way you explained complex numbers and their rotational quality. That helped me understand their function in Quaternions a better too. Dankje

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

    In the past 20 years i try very hard to visualize a fractals by reading what’s image coding bitmap, windows API, C, C++ , and at the end I FAIL , so i abandoned totally the project but i keep studying Fractal analytically, by hand and realize very awesome results. Now when i return to programming i realize how these thing is easy.

  • @LowLifeGraphicsProgrammer
    @LowLifeGraphicsProgrammer 5 років тому +3

    Amazing, thanks for you effort master!

  • @rubickon
    @rubickon 4 роки тому

    my friend, thank you for this 3 part tutorial. i cant wait to code this. i am full stack dev, and i want to enter the unity world, this project seems the best to start with. thank you.

  • @ZoneKei
    @ZoneKei 5 років тому

    Absolutely fantastic explanation. The dance-floor analogy was cute and effective.

  • @ahmedsalman17
    @ahmedsalman17 6 років тому +4

    Excellent video
    Thank you very much

  • @abeljonathan7324
    @abeljonathan7324 5 років тому +4

    Today I found your channel, what a nice day 🙂

  • @KeithBond
    @KeithBond 5 років тому

    Really great work. You deserve a ton of subs.

  • @effka2660
    @effka2660 5 років тому

    Most excellent visualisation! Thanks!

  • @YTMartin100
    @YTMartin100 6 років тому +1

    6:55 is fantastic using the initial points and seeing their progressions in animation tells a LOT about fractals ... can you make more of those?

  • @iGavid_Doggins
    @iGavid_Doggins 6 років тому +3

    I was kinda shocked when I saw this channel only has 2275 subs... wtf

    • @bbrws
      @bbrws 6 років тому

      right? this should have so many more views!!

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

    This is hands down the best explainer of the Mandelbrot set. Is the dance program you use available for the public?
    My nephew is obsessed with this stuff and I have been struggling to explain it to him. I think it would really help if he could plop down his own dancers on squares of his choosing and watch them go.

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

      It's not available at the moment but you're not the first one to ask so I'll polish it up a bit and release it to the public.

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

      @@TheArtofCodeIsCool let me know if you need a beta tester. 😉

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

    Hi, this is probably a stupid question, but could you please tell me why 16:45, you use (r+i) to represent a point, I thought it would be ( r , i )?
    Or is there any resource or key words that I can search and learn this?
    Thank you!!

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

      It's just how complex numbers are represented and how the math works out. You are right that in (computer graphics) vector form, it would be represented as (r, i)

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

    Can confirm if this understanding of difference between Mandelbrot and Julia shader calculations is correct?:
    Main difference is seemingly that a Mandelbrot set has a C val that changes every pixel as it basically seems to do a “for loop” style scan across each row of texture coordinates row by row in the entire frame.
    So at each point it is calculating the pixel color for, it inputs that texture coordinate under that pixel as C.
    In a julia set Z is initially set to the texture coordinate it’s rendering the pixel color for, but C is a constant coordinate val that is shared by every pixel (texture coordinate under the pixel) calculation and that val is from a specified n+i plane coordinate selected. (so in an interactive shader, the coordinate under the touch is C and then Z is every pixel coordinate in a similar “for loop” style row by row scan as the Mandelbrot).
    That is seemingly how that functions.

  • @Li-bn2tw
    @Li-bn2tw 4 роки тому

    You are so brilliant! 👍👍👍👍
    I love your version of explanation!!

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

    Excellent and simple, thank you

  • @greggsannes493
    @greggsannes493 5 років тому +2

    I'm still learning but you give me hope thank you😊

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

    Superb explanation!

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

    How to put a rotating raymarching object into every "orbit trap" of that fractal in Shadertoy?

  • @lordawesometony2764
    @lordawesometony2764 5 років тому

    The Collatz conjecture. How can the rule change itself?
    When applied normally
    Odd: 3n+1
    Even: n/2
    When n reaches the number 1, it also changes its own rule for odd.
    It no longer is: 3n+1
    It is: 3n+n and that is why it falls into a repeating problem.
    1,4,2,1,4,2,1...
    But when you replace the “n” with any odd number in the equation: 3n+n it makes the same repeating pattern: a,b,c,d,a,b,c,d,a

    • @lordawesometony2764
      @lordawesometony2764 5 років тому

      Are there other equations that can change into another equation?

  • @Dad-fw7ux
    @Dad-fw7ux 6 років тому

    FINALLY a video that explains this set without losing me, before this I only knew it had something to do with infinity.

  • @kebman
    @kebman 4 роки тому

    The steps explains why the computation of the Mandelbrot set becomes slower and slower as you zoom in. Isn't there a way to compartmentalize the zoomed area, so it requires less computation? Edit: isn't it just a matter of making the test area smaller?

    • @TheArtofCodeIsCool
      @TheArtofCodeIsCool  4 роки тому

      That's a great observation. Yes, when you zoom in on an edge of the fractal what happens is that all of your dancers dance more steps before leaving the dance floor which makes the competition last longer and the frame longer to render.
      There is not really a way around that.

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

    Would be interesting to have a particle "drum" sent from origin to bounce off the walls and every bounce make a sound...curious if that would make fibonacci sound sequences or...?

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

    Thanks! Can better explain the z equation portion of the shadertoy code? How is that z^2? Thanks in advance!

  • @Crazeyfor67
    @Crazeyfor67 4 роки тому

    A bit over my head, but all in all I finally got an idea what's actually happening to make such deep beauty. Thanks

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

    Hello sir, Can you make a video tutorial for working on the Mandelbrot Set Fractal Accelerator project using the quartus and nios ii applications based on the book EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLE (Pong P. Chu Cleveland State University) on page 637?

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

    This is an excellent addition. Thank you.
    Can I use it in my classes?

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

      You mean show this video? Sure! What classes do you teach?

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

      @@TheArtofCodeIsCool Yes, I've love to be able to record it and then include some of it in my classes.
      I teach Communication classes.
      I think I've come up with a Fractal Equation for Communication. It fits perfect. Does that make sense?

  • @sallybugs1695
    @sallybugs1695 4 роки тому

    Much appreciation i was wondering i we can we get the source code

  • @kogorek1
    @kogorek1 5 років тому +3

    Better explanation than professors at the university

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

    This makes so much sense thank you so much

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

    There is a way to nest another shader in a shadertoy shader? For instance, if I wanted to have portions of a shader output colored with another shader? Thanks in advance for explaining how!

  • @swinde
    @swinde 4 роки тому

    So, is the black part of the "bug" finite and all of the "colors" infinite, while the entire first bug finite? If so where and how the the same "bugs" appear within the areas that are outside the original set? If you were to isolate one of these "external bugs", would they be copies of the original bug or different when you dive into their structures?

    • @TheArtofCodeIsCool
      @TheArtofCodeIsCool  4 роки тому

      Good questions!
      The 'bug' is the area of 'dancer starting points', for which the dancers will keep going forever; they never leave the dance floor.
      The smaller 'bugs' are similar at first glance, but have very different structures when you zoom into them.

    • @swinde
      @swinde 4 роки тому

      @@TheArtofCodeIsCool
      Another question would be: Are the smaller bugs that well outside of the original bug that is "finite" also finite? If so are they finite only with respect to the "infinite" structure around them? Another thing that I noticed is that the farther the "dive" into set fewer and fewer of these "outside" bugs appear. Is there anything that this observation that means something?

    • @TheArtofCodeIsCool
      @TheArtofCodeIsCool  4 роки тому

      @@swinde I am not sure what you mean. As for your observation that there are less copies the deeper you go... It'd be interesting if true but somehow I doubt it. There are mandelbrot zooms on youtube that zoom in for half an hour and they still regularly encounter 'bugs'

    • @swinde
      @swinde 4 роки тому

      @@TheArtofCodeIsCool
      The question is are the "bugs" that are completely outside the original "bug" also "in the set" and therefore "real" numbers rather than "imaginary" numbers? If so how do they relate to the imaginary numbers around them and to the original "set" of "real" numbers?
      For my question about the "bugs" becoming rarer and rarer the deeper the "dive", here is a link to a two hour "dive" into Mandelbrot.
      This video ends at another "bug" after going a long time without one and stops. It appeared that it might wind up in the bug itself and if it did the set might continue as a black screen. I suspect it would break out again, but I am not sure. I don't expect you to watch the entire video but there is enough there to show what I mean about these "bugs" becoming rarer as you dive deeper.
      ua-cam.com/video/VPHbgHVxLYY/v-deo.html

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

    Heloo sir, can you make a video about Mandelbrot set Fractal accelerator using quartus II 13.0SP ?

  • @stylis666
    @stylis666 6 років тому +6

    _...it goes to infinity, over there..._ Because that where infinity is and it's nowhere else, just in case you were wondering where you left it :p

  • @dh7222
    @dh7222 6 років тому

    thank you very much for this! really informative and well edited video!

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

    Isn't "1+2i" squared -3+4i? (the 2i times 2i turns into a -4, correct?)

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

    Using the dancer example, when you zoom in 10 or 100 times what are you looking at. I'm flummoxed. I cant learn what the shapes are when i watch Mandelbrot zoom videos. What determines the shapes and colors around the focal point? Please respond. Anyone.

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

      You are looking at the scores of the dancers that started at the exact locations you zoomed into. The colors are just the score, mapped to a color. You are free to turn scores into colors anyway you like. Here, I use the score to look up a color from a texture with color gradients.

  • @sawdustwoodchips
    @sawdustwoodchips 4 роки тому

    Hi there, just stumbled across your video - the explanation was great!! - I have tried using your code in shadertoy, but I am getting lots of errors. do you have a listing of the code - I get lots of undefined. will understand if you do not want to share. all teh best!the

  • @gauravkumar-bu6xo
    @gauravkumar-bu6xo 4 роки тому

    Can you explain it in after effects please

  • @matsp.5215
    @matsp.5215 Рік тому

    Brilliant video!

  • @xamogxusx
    @xamogxusx 6 років тому +1

    Top notch analogy and unity dancing video game! :)

  • @michaeljames5936
    @michaeljames5936 4 роки тому

    Brilliant. I just about got it. A few more examples of different R and i numbers would have clinched it for me. The coding bit completely lost me, but that's ok. Thank you. Thank you very much.

    • @michaeljames5936
      @michaeljames5936 4 роки тому

      I dropped maths, some thirty years ago, to get into a better physics class, just before we did complex numbers. I've missed maths since.

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

    An analog computer can do a perceptual infinity of iterations?

  • @Kurtlane
    @Kurtlane 4 роки тому

    What would happen if instead of
    Z = z^2 + c
    we have Z = 1/z + c
    or Z = ln(z) + c
    or Z = sin(z) + c
    etc.?

    • @TheArtofCodeIsCool
      @TheArtofCodeIsCool  4 роки тому +1

      You'd get a different kind of fractal that is most likely not nearly as cool. Having said that, I encourage you to try it.

  • @liilianalopez1155
    @liilianalopez1155 4 роки тому

    I need to brush up on my number theory but this was the best explanation by far

  • @EmilMacko
    @EmilMacko 6 років тому +4

    This video easily deserves millions of views!

    • @TheArtofCodeIsCool
      @TheArtofCodeIsCool  6 років тому +2

      Aww thanks! You can share it with the people you know to get to the million faster ;)

  • @clearwavepro100
    @clearwavepro100 4 роки тому

    Ingenious demonstration! :)

  • @NBsTube
    @NBsTube 5 років тому

    you are a fucking genius, this explanation of the mandelbrot set is so didactic and useful, I would love if you can at some point do a similar explanation but about the mandelbulb, of some 3D fractal, I wrapped my mind around how mandelbrot works (and I still try to understand how the julia set works, I've seen a couple of good videos about how mandelbrot, julia set, and fibonacci correlates to the other in the channel 3blue1brown) but the moment you go three dimensional my mind explodes, my dream of all times is to really understand how to generate 3D fractals with raymarching, but not as many other videos do where they just show the code, but UNDERSTANDING it, thats the part that excites me. Keep doing these amazing videos, I found you last week and I love your shader tutorials, they are both good for newbies and for intermediate shader devs and computer scientist in general, I thought I would never find a shader veteran that also loves to didactically explain his knowledge.

    • @TheArtofCodeIsCool
      @TheArtofCodeIsCool  5 років тому +1

      Wow... thanks for your nice words! The 3d fractals are on the agenda. You raise an interesting point about not just blindly copying something, but actually understanding it. Videos ideas often have to bounce through my head for a few months before I know them well enough to be able to explain them well, and not just code them.

    • @NBsTube
      @NBsTube 5 років тому

      @@TheArtofCodeIsCool yeah definitely, I like how you introduce stuff, concept by concept, you don't go for the big fish first, you introduce concepts and knowledge in layers, each one more complex and built around the previous one, that's the best way to learn, otherwise the overdose of new information usually frustrates people.

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

    amazing, it's the best one in youtube

  • @vwr0527
    @vwr0527 4 роки тому

    Thanks! Made my first mandelbrot from watching this!

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

    These fractal patterns are evident in nature and are not just computer-generated possibilities.

  • @dleddy14
    @dleddy14 4 роки тому

    This was really good. Thanks.

  • @kjwong4730
    @kjwong4730 5 років тому

    Very good explanation

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

    it just occurred to me that, if multiplying by i is a rotation of 90 degrees (anti-clockwise), then multiplying by -1 is a rotation by 180 degrees
    imagine if negative numbers were explained at school in the context of rotation: it would make the jump to imaginary(terrible name) numbers a lot more intuitive, since i x i =-1, which is a total of two 90 degree rotations

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

    r*r=r? what is this sorcery? Very nice explanation though, the dancer metaphor helps!

  • @julienvergnaud866
    @julienvergnaud866 6 років тому +1

    awesome tutorial and funny metaphor!

  • @ericgreeneenglishtutoring1404
    @ericgreeneenglishtutoring1404 4 роки тому

    You're a great teacher

  • @anmaral-sharif1381
    @anmaral-sharif1381 6 років тому

    It would be awesome if you make a video about explaining realtime 3D volumetric-light next.

    • @TheArtofCodeIsCool
      @TheArtofCodeIsCool  6 років тому +5

      I have never really done volumetric light. I guess I should first do one on ray tracing and ray marching.

  • @alexclay7570
    @alexclay7570 6 років тому +2

    I would love to share this video on Twitter. Do you have an account there that I can credit? :)