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!!
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.
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!
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.
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!!!
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.
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.
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
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.
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
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 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
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.
@@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?
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.
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.
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.
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?
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
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)
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!
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
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!!
I think the real lesson here is programming before hoes
LOL
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.
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.
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!
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!
I saw the dance hall setup you created and instantly subscribed. Amazing video and content!
Woww.. Never knew someone could explain it so well.. its just amazing! Thanks a ton.
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 found this video today. I have always wondered about this but never found an explanation this good. Thanks!
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!!!
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.
>That *was* my girlfriend
Great job. Great explanation. This is about the fifth video I’ve watched on this and it really helps. Thanks.
Wow!!! Never thought I could have such a deep understanding of that set!!! You did a fantastic job!!!
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.
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.
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 :)
Only 5k subscribers? Super underrated.
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!
Thank you! Amazing! Mind blowing. Can't wait for more!!!
everybody else are explaining. You are the one Does Teaching. Thanks Mind Blown
Just started watching your videos. Love it man. Can't wait to watch them all
Agree with fuglsnef. You make it understandable for the layman. Great work man!
30:16 "f = ma"
Wait a minute...
Very nice explanation of the Mandelbrot set! And very cool idea to play with the rules like that to get some crazy effects
Excellent and simple, thank you
I've never heard the dancer analogy - this is really awesome, thank you
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!
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.
This is a wonderful description of the function that divides existence into this divine map. Thank you.
that thumb nail, You just nailed it for sure.
Superb explanation!
People like you make youtube great , such a good video, thanks man i'll be waiting your future videos
aww thanks man!
man you are in another level in explaining, thanks so much!!!
Most excellent visualisation! Thanks!
you don't know it, but I'm watching all your videos as if you were my teacher. I owe you a lot.
Absolutely fantastic explanation. The dance-floor analogy was cute and effective.
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 ;)
Amazing, thanks for you effort master!
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.
Really great work. You deserve a ton of subs.
An incredible video, with a very thorough explanation. Thank you so much for taking the time to make this. Bravo!
This makes so much sense thank you so much
Brilliant video!
Superb video! Very nice explanation and the visuals were a nice touch!
Thank you!
Today I found your channel, what a nice day 🙂
Excellent video
Thank you very much
You are so brilliant! 👍👍👍👍
I love your version of explanation!!
Glad you liked it!
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 :)
A bit over my head, but all in all I finally got an idea what's actually happening to make such deep beauty. Thanks
Very good explanation
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?
I was kinda shocked when I saw this channel only has 2275 subs... wtf
right? this should have so many more views!!
_...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
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...?
amazing, it's the best one in youtube
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?
Ingenious demonstration! :)
I'm still learning but you give me hope thank you😊
Top notch analogy and unity dancing video game! :)
This was really good. Thanks.
You're a great teacher
Thank you! 😃
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.
These fractal patterns are evident in nature and are not just computer-generated possibilities.
Literally Art of Code
thank you very much for this! really informative and well edited video!
Thanks! I'm glad you found it informative :)
I need to brush up on my number theory but this was the best explanation by far
nicely done!
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?
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. 😉
Better explanation than professors at the university
Very clear explanation. Dank je wel. :-)
Much appreciation i was wondering i we can we get the source code
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.
You just earned a sub!!
How to put a rotating raymarching object into every "orbit trap" of that fractal in Shadertoy?
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.
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 video easily deserves millions of views!
Aww thanks! You can share it with the people you know to get to the million faster ;)
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
Thanks! Made my first mandelbrot from watching this!
Can you explain it in after effects please
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)
Thanks! Can better explain the z equation portion of the shadertoy code? How is that z^2? Thanks in advance!
Enjoyed the video, thanks.
Heloo sir, can you make a video about Mandelbrot set Fractal accelerator using quartus II 13.0SP ?
awesome tutorial and funny metaphor!
An analog computer can do a perceptual infinity of iterations?
Very good job
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!
its so easy when you explain it, thanks :)
I'm glad to hear it :)
SOOOOOOOOOO cool!