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!!
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!
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.
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.
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.
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!!!
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
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.
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.
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.
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.
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
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!!
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)
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.
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 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?
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.
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.
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!
@@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?
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
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?
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?
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.
@@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?
@@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'
@@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. th-cam.com/video/VPHbgHVxLYY/w-d-xo.html
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
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.
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.
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.
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.
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.
@@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.
This is the best explanation of both the Mandelbrot set and complex numbers I've ever seen, great work!
aww thanks. I appreciate your appreciation :)
@@TheArtofCodeIsCool this really was an exceptional video
I think the real lesson here is programming before hoes
LOL
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!!
top notch channel.......best visual explanation I've seen
This is the absolute best explanation of fractal generation I've ever seen. The dancer metaphor was perfect. Great video, thank you.
Clever metaphor, beautifully explained. Thank you.
I saw the dance hall setup you created and instantly subscribed. Amazing video and content!
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!
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.
I'm glad you got something out of it!
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.
>That *was* my girlfriend
You’re the man. It took me 4 years of hard work to start understanding your basic videos. One Love!
Absolutely brilliant explanation of the Mandelbrot Set. I always come back to this video to learn more about it. This is beautifully done.
Bravo! That transition from maths to code was great and filled in what had been missing about that. Thanks! Truly appreciated!
30:16 "f = ma"
Wait a minute...
Only 5k subscribers? Super underrated.
I never thought I'd finally understand the Mandelbrot set today, but I did. You sir deserve a big Easter egg!
Cool! I'm glad it helped you :)
This was mindblowing.
The comparison, example and presentation was top notch.
Amazing.
Wow!!! Never thought I could have such a deep understanding of that set!!! You did a fantastic job!!!
Just found this video today. I have always wondered about this but never found an explanation this good. Thanks!
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.
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.
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!!!
Great job. Great explanation. This is about the fifth video I’ve watched on this and it really helps. Thanks.
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
Wow, great! I'm glad it clicked :)
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.
Just started watching your videos. Love it man. Can't wait to watch them all
Woww.. Never knew someone could explain it so well.. its just amazing! Thanks a ton.
you don't know it, but I'm watching all your videos as if you were my teacher. I owe you a lot.
Agree with fuglsnef. You make it understandable for the layman. Great work man!
Thank you! Amazing! Mind blowing. Can't wait for more!!!
that thumb nail, You just nailed it for sure.
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.
Glad it was helpful!
man you are in another level in explaining, thanks so much!!!
An incredible video, with a very thorough explanation. Thank you so much for taking the time to make this. Bravo!
This is a wonderful description of the function that divides existence into this divine map. Thank you.
I've never heard the dancer analogy - this is really awesome, thank you
Absolutely fantastic explanation. The dance-floor analogy was cute and effective.
People like you make youtube great , such a good video, thanks man i'll be waiting your future videos
aww thanks man!
Very nice explanation of the Mandelbrot set! And very cool idea to play with the rules like that to get some crazy effects
Today I found your channel, what a nice day 🙂
Most excellent visualisation! Thanks!
everybody else are explaining. You are the one Does Teaching. Thanks Mind Blown
Excellent video
Thank you very much
Amazing, thanks for you effort master!
OMG, I have never understood complex numbers until I watched this video. Thanks so much, this is just awesome!
That's awesome! Thanks for watching!
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.
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.
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
Alsje ;)
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?
Superb video! Very nice explanation and the visuals were a nice touch!
Thank you!
You are so brilliant! 👍👍👍👍
I love your version of explanation!!
Glad you liked it!
Superb explanation!
Excellent and simple, thank you
_...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
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!!
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)
Really great work. You deserve a ton of subs.
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.
I'm still learning but you give me hope thank you😊
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...?
FINALLY a video that explains this set without losing me, before this I only knew it had something to do with infinity.
Cool! I'm glad it helped :)
I was kinda shocked when I saw this channel only has 2275 subs... wtf
right? this should have so many more views!!
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?
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.
Brilliant video!
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.
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.
@@TheArtofCodeIsCool let me know if you need a beta tester. 😉
How to put a rotating raymarching object into every "orbit trap" of that fractal in Shadertoy?
thank you very much for this! really informative and well edited video!
Thanks! I'm glad you found it informative :)
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!
Thanks! Can better explain the z equation portion of the shadertoy code? How is that z^2? Thanks in advance!
This is an excellent addition. Thank you.
Can I use it in my classes?
You mean show this video? Sure! What classes do you teach?
@@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?
A bit over my head, but all in all I finally got an idea what's actually happening to make such deep beauty. Thanks
Top notch analogy and unity dancing video game! :)
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
Are there other equations that can change into another equation?
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?
This makes so much sense thank you so much
Better explanation than professors at the university
amazing, it's the best one in youtube
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?
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.
@@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?
@@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'
@@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.
th-cam.com/video/VPHbgHVxLYY/w-d-xo.html
Ingenious demonstration! :)
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
Isn't "1+2i" squared -3+4i? (the 2i times 2i turns into a -4, correct?)
awesome tutorial and funny metaphor!
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.
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.
This video easily deserves millions of views!
Aww thanks! You can share it with the people you know to get to the million faster ;)
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.?
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.
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.
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.
I need to brush up on my number theory but this was the best explanation by far
Very good explanation
This was really good. Thanks.
Heloo sir, can you make a video about Mandelbrot set Fractal accelerator using quartus II 13.0SP ?
These fractal patterns are evident in nature and are not just computer-generated possibilities.
Much appreciation i was wondering i we can we get the source code
An analog computer can do a perceptual infinity of iterations?
You're a great teacher
Thank you! 😃
Thanks! Made my first mandelbrot from watching this!
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.
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.
@@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.
I would love to share this video on Twitter. Do you have an account there that I can credit? :)
Aww thanks! It's @The_ArtOfCode
Enjoyed the video, thanks.
Literally Art of Code
nicely done!
Very clear explanation. Dank je wel. :-)