title

Coding Challenge #22: Julia Set in Processing

description

In this coding challenge, I program the Julia Set fractal in Processing (Java). Code: https://thecodingtrain.com/challenges/22-julia-set
đšī¸ p5.js Web Editor Sketch: https://editor.p5js.org/codingtrain/sketches/G6qbMmaI
đĨ Previous video: https://youtu.be/6z7GQewK-Ks?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
đĨ Next video: https://youtu.be/ksRoh-10lak?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
đĨ All videos: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
References:
đ Wikipedia on Julia Set: https://en.wikipedia.org/wiki/Julia_set
đ Julia Set page: http://paulbourke.net/fractals/juliaset/
Videos:
đ Coding Challenge: Mandelbrot Set: https://youtu.be/6z7GQewK-Ks
Related Coding Challenges:
đ #21 Mandelbrot Set with p5.js: https://youtu.be/6z7GQewK-Ks
đ #168 The Mandelbulb: https://youtu.be/NJCiUVGiNyA
Timestamps:
0:00 Introducing today's coding challenge: the Julia set
0:40 Review of the Mandelbrot set
4:51 The Julia set
7:16 Adjust code to include a particular Julia set
10:07 Use mouseX, mouseY to see all the different Julia sets
12:30 Add sine wave to animate
14:42 Add color by changing the color mode to HSB
16:45 Use zoom to animate
17:56 Thanks for watching!
Editing by Mathieu Blanchette
Animations by Jason Heglund
Music from Epidemic Sound
đ Website: http://thecodingtrain.com/
đž Share Your Creation! https://thecodingtrain.com/guides/passenger-showcase-guide
đŠ Suggest Topics: https://github.com/CodingTrain/Suggestion-Box
đĄ GitHub: https://github.com/CodingTrain
đŦ Discord: https://discord.gg/hPuGy2g
đ Membership: http://youtube.com/thecodingtrain/join
đ Store: https://standard.tv/codingtrain
đī¸ Twitter: https://twitter.com/thecodingtrain
đ¸ Instagram: https://www.instagram.com/the.coding.train/
đĨ Coding Challenges: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH
đĨ Intro to Programming: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA
đ p5.js: https://p5js.org
đ p5.js Web Editor: https://editor.p5js.org/
đ Processing: https://processing.org
đ Code of Conduct: https://github.com/CodingTrain/Code-of-Conduct
This description was auto-generated. If you see a problem, please open an issue: https://github.com/CodingTrain/thecodingtrain.com/issues/new
#juliaset #mandelbrotset #fractal #complexnumber #processing

detail

{'title': 'Coding Challenge #22: Julia Set in Processing', 'heatmap': [{'end': 211.418, 'start': 193.337, 'weight': 1}, {'end': 458.41, 'start': 433.089, 'weight': 0.838}], 'summary': 'In this video, the presenter covers converting mandelbrot set to julia set, visualizing the complex plane and mandelbrot set mathematics, creating juliaset fractal visualizations, and demonstrating the process of creating a rainbow julia set with hsb color mode and zooming in on julia set.', 'chapters': [{'end': 37.59, 'segs': [{'end': 37.59, 'src': 'embed', 'start': 0.691, 'weight': 0, 'content': [{'end': 2.954, 'text': 'Hello Welcome to another coding challenge.', 'start': 0.691, 'duration': 2.263}, {'end': 8.221, 'text': "In this coding challenge, I'm going to take the Mandelbrot set, which is here programmed in processing,", 'start': 2.994, 'duration': 5.227}, {'end': 10.905, 'text': "and I'm going to convert that code to the Julia set.", 'start': 8.221, 'duration': 2.684}, {'end': 17.292, 'text': "So I'm going to explain a little bit about what the Julia set fractal is and then just write the code for it, play with it,", 'start': 10.925, 'duration': 6.367}, {'end': 20.795, 'text': "make an animation out of it, do a few other things, and then I'll be finished.", 'start': 17.292, 'duration': 3.503}, {'end': 28.202, 'text': "So first I want to say is I'm going to assume a little bit of knowledge, which you can pick up and watch the previous video about the Mandelbrot set,", 'start': 21.056, 'duration': 7.146}, {'end': 31.264, 'text': 'if some of the stuff is confusing to you.', 'start': 28.202, 'duration': 3.062}, {'end': 32.345, 'text': "OK, I'm going to keep going here.", 'start': 31.384, 'duration': 0.961}, {'end': 35.748, 'text': "So first, let me just remind you what's going on.", 'start': 32.625, 'duration': 3.123}, {'end': 37.59, 'text': 'So the idea is that there is a canvas.', 'start': 35.968, 'duration': 1.622}], 'summary': 'Converting mandelbrot set code to julia set, explaining fractal, and creating animation.', 'duration': 36.899, 'max_score': 0.691, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s691.jpg'}], 'start': 0.691, 'title': 'Converting mandelbrot set to julia set', 'summary': 'Focuses on explaining the julia set fractal, writing code for it, creating an animation, and assumes a certain level of knowledge while providing an overview of the concept.', 'chapters': [{'end': 37.59, 'start': 0.691, 'title': 'Coding challenge: converting mandelbrot set to julia set', 'summary': 'Focuses on converting the mandelbrot set code to the julia set, explaining the julia set fractal, writing code for it, creating an animation, and assuming a certain level of knowledge while providing an overview of the concept.', 'duration': 36.899, 'highlights': ['The chapter focuses on converting the Mandelbrot set code to the Julia set', 'Explanation of the Julia set fractal and writing code for it', 'Creating an animation and assuming a certain level of knowledge']}], 'duration': 36.899, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s691.jpg', 'highlights': ['The chapter focuses on converting the Mandelbrot set code to the Julia set', 'Explanation of the Julia set fractal and writing code for it', 'Creating an animation and assuming a certain level of knowledge']}, {'end': 390.312, 'segs': [{'end': 220.603, 'src': 'heatmap', 'start': 193.337, 'weight': 1, 'content': [{'end': 200.199, 'text': 'And you can see that math is happening in the code all the way down here.', 'start': 193.337, 'duration': 6.862}, {'end': 202.573, 'text': "So this is what's happening.", 'start': 201.232, 'duration': 1.341}, {'end': 211.418, 'text': "We're iterating over and over again and looking at the, so AA represents A squared, BB represents B squared.", 'start': 203.133, 'duration': 8.285}, {'end': 220.603, 'text': 'So the new complex number is A squared minus B squared plus C, the real, plus C, A of C.', 'start': 211.658, 'duration': 8.945}], 'summary': 'Code iterates to perform math operations on complex numbers.', 'duration': 27.266, 'max_score': 193.337, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s193337.jpg'}, {'end': 236.99, 'src': 'embed', 'start': 211.658, 'weight': 1, 'content': [{'end': 220.603, 'text': 'So the new complex number is A squared minus B squared plus C, the real, plus C, A of C.', 'start': 211.658, 'duration': 8.945}, {'end': 221.903, 'text': 'You can see the A of C.', 'start': 220.603, 'duration': 1.3}, {'end': 226.026, 'text': 'And then the B component is two AB plus Y.', 'start': 221.903, 'duration': 4.123}, {'end': 229.448, 'text': 'So X and Y are remembering the previous A and B.', 'start': 226.026, 'duration': 3.422}, {'end': 232.148, 'text': "OK, so that's what's happening with the Mandelbrot set.", 'start': 230.248, 'duration': 1.9}, {'end': 234.249, 'text': 'And the whole point of the Mandelbrot is testing.', 'start': 232.188, 'duration': 2.061}, {'end': 236.99, 'text': 'OK, is the point going towards infinity??', 'start': 234.249, 'duration': 2.741}], 'summary': 'Explaining complex number calculation and the purpose of mandelbrot set testing.', 'duration': 25.332, 'max_score': 211.658, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s211658.jpg'}, {'end': 284.036, 'src': 'embed', 'start': 255.296, 'weight': 4, 'content': [{'end': 257.656, 'text': 'But you know you can kind of play around with this,', 'start': 255.296, 'duration': 2.36}, {'end': 261.7, 'text': "Because what I'm doing is also mapping the number of iterations it takes to get to a certain color,", 'start': 257.656, 'duration': 4.044}, {'end': 266.403, 'text': "And so there's a variety of ways you can kind of approach this in here, a strict mathematical approach.", 'start': 261.7, 'duration': 4.703}, {'end': 275.71, 'text': "But I'm all over the place and trying different things so you can see doing that and then just setting a pixel color based on how many iterations there were,", 'start': 266.403, 'duration': 9.307}, {'end': 280.753, 'text': 'and Then we get this particular, famous, well-known pattern known as the Mandelbrot set.', 'start': 275.71, 'duration': 5.043}, {'end': 284.036, 'text': "So that's my recap of the Mandelbrot set.", 'start': 281.333, 'duration': 2.703}], 'summary': 'The process maps iterations to colors and generates the mandelbrot set.', 'duration': 28.74, 'max_score': 255.296, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s255296.jpg'}, {'end': 375.815, 'src': 'embed', 'start': 311.505, 'weight': 0, 'content': [{'end': 318.208, 'text': "But I'm going to look at kind of what is more conventionally known or thought of as the Julius set itself,", 'start': 311.505, 'duration': 6.703}, {'end': 325.371, 'text': 'which is actually connected deeply to the Mandelbrot set.', 'start': 318.208, 'duration': 7.163}, {'end': 332.434, 'text': 'So what you can see, Julius set, are often thought of as like Mandelbrot dust, these patterns that emerge out of these,', 'start': 326.292, 'duration': 6.142}, {'end': 334.595, 'text': 'like pieces of the Mandelbrot set in a way.', 'start': 332.434, 'duration': 2.161}, {'end': 337.857, 'text': "And so there's a key difference in how the Julius set works.", 'start': 334.936, 'duration': 2.921}, {'end': 352.848, 'text': "The way the julius set works is, instead of c itself being related to the very pixel that you're iterating,", 'start': 339.244, 'duration': 13.604}, {'end': 355.648, 'text': 'c in the julius set is actually just a constant.', 'start': 352.848, 'duration': 2.8}, {'end': 364.611, 'text': 'So z sub zero, the first z is equal to the complex number represented by the pixel.', 'start': 356.549, 'duration': 8.062}, {'end': 370.589, 'text': 'But the thing that you add to it, the c, is actually just a constant.', 'start': 366.243, 'duration': 4.346}, {'end': 375.815, 'text': 'So while z sub 0 changes as you move along, c always remains constant.', 'start': 370.829, 'duration': 4.986}], 'summary': 'Julius set is deeply connected to the mandelbrot set, with c being a constant and z sub 0 changing as you move along.', 'duration': 64.31, 'max_score': 311.505, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s311505.jpg'}], 'start': 39.511, 'title': 'Visualizing complex plane and mandelbrot set mathematics', 'summary': 'Discusses visualizing the complex plane using a canvas with x and y axes, and explains the iterative process of the mandelbrot set, focusing on the criteria for determining if a point tends towards infinity or remains bounded, and its relation to the julia set.', 'chapters': [{'end': 82.919, 'start': 39.511, 'title': 'Visualizing the complex plane', 'summary': "Discusses the use of a canvas with x-axis and y-axis to visually represent the complex plane, defined by numbers written as a plus bi, with a real component 'a' and an imaginary component 'b'.", 'duration': 43.408, 'highlights': ["A complex number is written as a plus bi, where i is an imaginary number or the square root of negative 1, and all complex numbers have a real component 'a' and an imaginary component 'b'.", 'The canvas with x-axis and y-axis is used to visually represent the complex plane.']}, {'end': 255.296, 'start': 82.919, 'title': 'Understanding mandelbrot set mathematics', 'summary': 'Explains the iterative process involved in the mandelbrot set, illustrating the mathematical operations on complex numbers to determine if a point tends towards infinity or remains bounded, with a focus on the criteria a squared plus b squared greater than 16.', 'duration': 172.377, 'highlights': ['The iterative process in the Mandelbrot set involves testing the function where Zn plus 1 equals Zn squared plus the complex number C, iterating over and over again to determine the behavior of the point towards infinity or a bounded number.', 'The method of determining if a point tends towards infinity involves checking if the distance from 0, represented as a squared plus b squared, is greater than 16, typically checking if a squared plus b squared is greater than 4.']}, {'end': 390.312, 'start': 255.296, 'title': 'Mandelbrot and julia sets', 'summary': 'Discusses the mandelbrot set and its relation to the julia set, including the specific mathematical expressions and patterns, as well as the differences in their workings, and a request for a rainbow julia set to be created.', 'duration': 135.016, 'highlights': ['The chapter discusses the Mandelbrot set and its relation to the Julia set The discussion covers the relationship between the Mandelbrot set and the Julia set, highlighting their specific mathematical expressions and patterns.', "Differences in the workings of Mandelbrot and Julia sets The chapter outlines the key difference in the workings of the Julia set, where the constant 'c' remains constant while 'z sub 0' changes as you move along.", 'Request for a rainbow Julia set The speaker makes a request for a version of a rainbow Julia set to be created, expressing the preference to work with black and white.']}], 'duration': 350.801, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s39511.jpg', 'highlights': ['The iterative process in the Mandelbrot set involves testing the function where Zn plus 1 equals Zn squared plus the complex number C, iterating over and over again to determine the behavior of the point towards infinity or a bounded number.', 'The method of determining if a point tends towards infinity involves checking if the distance from 0, represented as a squared plus b squared, is greater than 16, typically checking if a squared plus b squared is greater than 4.', 'The chapter discusses the Mandelbrot set and its relation to the Julia set The discussion covers the relationship between the Mandelbrot set and the Julia set, highlighting their specific mathematical expressions and patterns.', "Differences in the workings of Mandelbrot and Julia sets The chapter outlines the key difference in the workings of the Julia set, where the constant 'c' remains constant while 'z sub 0' changes as you move along.", "A complex number is written as a plus bi, where i is an imaginary number or the square root of negative 1, and all complex numbers have a real component 'a' and an imaginary component 'b'.", 'The canvas with x-axis and y-axis is used to visually represent the complex plane.']}, {'end': 863.782, 'segs': [{'end': 465.334, 'src': 'heatmap', 'start': 433.089, 'weight': 0.838, 'content': [{'end': 435.51, 'text': 'so this would be negative .7 something.', 'start': 433.089, 'duration': 2.421}, {'end': 445.583, 'text': "so I'm going to change this to that negative .7 something and this I'm going to change to negative 0.3..", 'start': 435.51, 'duration': 10.073}, {'end': 448.185, 'text': 'So now if I run this, there we go.', 'start': 445.583, 'duration': 2.602}, {'end': 451.546, 'text': "Look, I've got the JuliaSet fractal with exactly the same code.", 'start': 448.465, 'duration': 3.081}, {'end': 453.507, 'text': "I didn't really change anything about it.", 'start': 451.566, 'duration': 1.941}, {'end': 454.568, 'text': "So that's the secret here.", 'start': 453.527, 'duration': 1.041}, {'end': 458.41, 'text': 'The JuliaSet is really just a little bit of a trick in many ways.', 'start': 454.848, 'duration': 3.562}, {'end': 460.471, 'text': 'If all you care about is the visual pattern.', 'start': 458.47, 'duration': 2.001}, {'end': 465.334, 'text': "it's just a trick to use a constant instead of the actual complex number that's associated with that pixel.", 'start': 460.471, 'duration': 4.863}], 'summary': 'Modified the code to generate juliaset fractal with minimal changes.', 'duration': 32.245, 'max_score': 433.089, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s433089.jpg'}, {'end': 506.075, 'src': 'embed', 'start': 460.471, 'weight': 2, 'content': [{'end': 465.334, 'text': "it's just a trick to use a constant instead of the actual complex number that's associated with that pixel.", 'start': 460.471, 'duration': 4.863}, {'end': 470.764, 'text': "Now, what I really should do to improve what I'm doing here is make that constant a variable.", 'start': 466.263, 'duration': 4.501}, {'end': 474.925, 'text': "So what I'm going to do is I'm going to comment that out.", 'start': 471.344, 'duration': 3.581}, {'end': 476.905, 'text': "I'm going to go backwards.", 'start': 475.905, 'duration': 1}, {'end': 485.186, 'text': "And I'm going to here inside draw at the very top, I'm going to add a CA referring to the A component of the complex constant.", 'start': 476.945, 'duration': 8.241}, {'end': 488.967, 'text': "And I'm going to make a variable called CB.", 'start': 485.867, 'duration': 3.1}, {'end': 491.788, 'text': "And I'm going to get that for CA.", 'start': 490.167, 'duration': 1.621}, {'end': 493.428, 'text': "And I'm going to make that.", 'start': 492.428, 'duration': 1}, {'end': 498.752, 'text': "for CB, that's going to be CA and that's going to be CB.", 'start': 494.89, 'duration': 3.862}, {'end': 506.075, 'text': "Then what I'm going to do is I'm going to go down here and change this to CA and CB.", 'start': 499.092, 'duration': 6.983}], 'summary': 'Improving code by replacing constant with variables ca and cb', 'duration': 45.604, 'max_score': 460.471, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s460471.jpg'}, {'end': 744.839, 'src': 'embed', 'start': 710.201, 'weight': 0, 'content': [{'end': 711.982, 'text': 'So these should be all the symmetrical ones.', 'start': 710.201, 'duration': 1.781}, {'end': 715.225, 'text': "But you can see I'm not exactly at 0.", 'start': 712.002, 'duration': 3.223}, {'end': 717.466, 'text': "But you can see if I'm at 0, I've got the symmetrical one.", 'start': 715.225, 'duration': 2.241}, {'end': 721.308, 'text': 'So you can see I can, someone can make a nice dancing gif.', 'start': 717.706, 'duration': 3.602}, {'end': 722.509, 'text': 'I should add some music here.', 'start': 721.328, 'duration': 1.181}, {'end': 723.23, 'text': "I'll do that.", 'start': 722.669, 'duration': 0.561}, {'end': 726.091, 'text': "I'm just going to do this in the middle of the video.", 'start': 724.611, 'duration': 1.48}, {'end': 728.133, 'text': "I don't care anymore.", 'start': 727.312, 'duration': 0.821}, {'end': 736.974, 'text': 'Nancy Julia set, okay.', 'start': 735.333, 'duration': 1.641}, {'end': 744.839, 'text': 'So, but what I want to show you, what I think could be interesting to try is, instead of having it be mouse interactive,', 'start': 738.275, 'duration': 6.564}], 'summary': 'Discussion about creating symmetrical visuals and adding music to a video.', 'duration': 34.638, 'max_score': 710.201, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s710201.jpg'}], 'start': 390.332, 'title': 'Fractal visualizations', 'summary': 'Explores creating juliaset fractal visualizations with constants and variables, and interactive visualizations of mandelbrot and julia sets for mouse interaction and experimentation.', 'chapters': [{'end': 559.176, 'start': 390.332, 'title': 'Juliaset fractal visualization', 'summary': 'Explores the process of creating juliaset fractal visualization by using a constant instead of the actual complex number, and later turning the constant into a variable, resulting in the visualization of various patterns and the potential for animation.', 'duration': 168.844, 'highlights': ['The process of creating JuliaSet fractal visualization by using a constant instead of the actual complex number The speaker demonstrates using a constant instead of the actual complex number in the iterative process to generate the JuliaSet fractal, resulting in the visualization of a specific pattern.', 'Turning the constant into a variable to visualize various patterns The speaker modifies the constant into a variable, which allows for the visualization of various patterns by adjusting the values of the variable components, resulting in the ability to create different visual patterns.', 'The potential for animating the visualization The speaker expresses the intention to animate the visualization, indicating the possibility of further exploration and enhancement of the visual representation of the JuliaSet fractal.']}, {'end': 863.782, 'start': 559.176, 'title': 'Interactive mandelbrot and julia sets', 'summary': 'Explores creating an interactive visualization of the mandelbrot set and associated julia sets, allowing mouse interaction to view different sets and experimenting with oscillating julia fractals.', 'duration': 304.606, 'highlights': ['The chapter explores creating an interactive visualization of the Mandelbrot set and associated Julia sets The author discusses the process of using mouse interaction to view the Julia sets associated with each point on the Mandelbrot set.', 'Experimenting with oscillating Julia fractals The author demonstrates using sine waves to automatically adjust the values in the Julia set, resulting in oscillating and breathing Julia fractals.', 'Performance comparison between pixel operations in Processing and JavaScript The author mentions the performance difference between pixel operations in Processing and JavaScript, noting that JavaScript pixel operations without WebGL are much slower.']}], 'duration': 473.45, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s390332.jpg', 'highlights': ['The chapter explores creating an interactive visualization of the Mandelbrot set and associated Julia sets', 'The process of creating JuliaSet fractal visualization by using a constant instead of the actual complex number', 'Turning the constant into a variable to visualize various patterns', 'Experimenting with oscillating Julia fractals', 'The potential for animating the visualization', 'Performance comparison between pixel operations in Processing and JavaScript']}, {'end': 1085.578, 'segs': [{'end': 1035.386, 'src': 'embed', 'start': 952.038, 'weight': 0, 'content': [{'end': 954.26, 'text': "Let's look let's look for this one 0.8.", 'start': 952.038, 'duration': 2.222}, {'end': 955.801, 'text': 'This one looks kind of nice, right?', 'start': 954.26, 'duration': 1.541}, {'end': 959.183, 'text': '0.8 point one, five, six.', 'start': 957.222, 'duration': 1.961}, {'end': 962.345, 'text': 'so zero point eight.', 'start': 959.183, 'duration': 3.162}, {'end': 963.646, 'text': 'zero point.', 'start': 962.345, 'duration': 1.301}, {'end': 967.588, 'text': 'zero point one, five, six.', 'start': 963.646, 'duration': 3.942}, {'end': 968.909, 'text': "oh, I didn't get that right.", 'start': 967.588, 'duration': 1.321}, {'end': 970.75, 'text': "something's negative, probably.", 'start': 968.909, 'duration': 1.841}, {'end': 972.611, 'text': 'oh, negative point eight.', 'start': 970.75, 'duration': 1.861}, {'end': 974.713, 'text': 'negative point eight.', 'start': 972.611, 'duration': 2.102}, {'end': 975.253, 'text': 'There we go.', 'start': 974.713, 'duration': 0.54}, {'end': 976.174, 'text': 'ooh the how lovely.', 'start': 975.253, 'duration': 0.921}, {'end': 978.13, 'text': 'So this will be my.', 'start': 977.307, 'duration': 0.823}, {'end': 983.046, 'text': 'This will be my thumbnail for this video.', 'start': 980.425, 'duration': 2.621}, {'end': 987.548, 'text': "I should do that after the video, but you're watching me make the thumbnail in the video, whatever.", 'start': 983.226, 'duration': 4.322}, {'end': 993.55, 'text': "OK And that's it, I think, for this video.", 'start': 988.948, 'duration': 4.602}, {'end': 994.23, 'text': "Oh, here's the thing.", 'start': 993.59, 'duration': 0.64}, {'end': 996.711, 'text': "One thing that I'm not doing is the zooming.", 'start': 995.11, 'duration': 1.601}, {'end': 999.371, 'text': 'So this would be an interesting exercise for you guys.', 'start': 997.071, 'duration': 2.3}, {'end': 1005.554, 'text': 'The range is defined in this particular code by these values, w and h.', 'start': 999.432, 'duration': 6.122}, {'end': 1012.358, 'text': "So for example, if I were to change this to 2, You're going to see I'm quite zoomed in on it.", 'start': 1005.554, 'duration': 6.804}, {'end': 1015.141, 'text': 'So that is also something I could use to animate.', 'start': 1012.598, 'duration': 2.543}, {'end': 1027.517, 'text': 'For example, what if I said the absolute value of sine of that angle times 5, this would sort of zoom in and out.', 'start': 1015.382, 'duration': 12.135}, {'end': 1035.386, 'text': 'So you can see here I am zooming directly into the center, which you can see kind of zooms into blackness.', 'start': 1027.557, 'duration': 7.829}], 'summary': 'Discussion about zooming and values in code for video animation.', 'duration': 83.348, 'max_score': 952.038, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s952038.jpg'}, {'end': 1085.578, 'src': 'embed', 'start': 1072.347, 'weight': 3, 'content': [{'end': 1073.989, 'text': 'So this is the full finished version.', 'start': 1072.347, 'duration': 1.642}, {'end': 1076.01, 'text': 'Thanks for watching this Julia set tutorial.', 'start': 1074.269, 'duration': 1.741}, {'end': 1077.111, 'text': 'I hope that you learned something.', 'start': 1076.23, 'duration': 0.881}, {'end': 1078.432, 'text': "I hope I didn't get too much wrong.", 'start': 1077.131, 'duration': 1.301}, {'end': 1083.496, 'text': "I usually get quite a few things wrong, but I'll hear from the internet with corrections and make them again in a future video.", 'start': 1078.452, 'duration': 5.044}, {'end': 1084.537, 'text': 'Thanks very much, everybody.', 'start': 1083.536, 'duration': 1.001}, {'end': 1085.578, 'text': 'Goodbye.', 'start': 1085.237, 'duration': 0.341}], 'summary': 'Tutorial on julia set completed. audience learns from it. presenter welcomes feedback.', 'duration': 13.231, 'max_score': 1072.347, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s1072347.jpg'}], 'start': 864.122, 'title': 'Creating rainbow julia set and julia set tutorial summary', 'summary': 'Discusses the process of creating a rainbow julia set using hsb color mode and adjusting values. it also demonstrates zooming in on julia set and the impact of changing values, with a thank you message to viewers.', 'chapters': [{'end': 951.738, 'start': 864.122, 'title': 'Creating rainbow julia set', 'summary': 'Discusses the process of creating a rainbow julia set by changing the color mode to hsb and adjusting the hue, saturation, and brightness values based on a separate variable, resulting in a visually appealing rainbow julia set.', 'duration': 87.616, 'highlights': ['The process involves changing the color mode to HSB and creating colors based on hue, saturation, and brightness.', 'The code is modified to use a separate variable for hue and to make a color hue with a saturation and brightness of 255.', 'The result is a visually appealing rainbow Julia set.']}, {'end': 1085.578, 'start': 952.038, 'title': 'Julia set tutorial summary', 'summary': 'Demonstrates the creation of a thumbnail for a video and explores the concept of zooming in on julia set, showcasing the impact of changing values and the limitations of floating point math, concluding with a thank you message to viewers.', 'duration': 133.54, 'highlights': ['The chapter demonstrates the creation of a thumbnail for a video. The speaker discusses creating a thumbnail for a video, indicating a practical demonstration of the process.', 'Exploration of zooming in on Julia Set and the impact of changing values. The speaker explores the concept of zooming in on Julia Set and demonstrates the impact of changing values, highlighting the ability to animate the zoom using mathematical functions.', 'Limitations of floating point math in the context of zooming. The speaker mentions the limitations of floating point math, indicating that as the numbers get smaller, the degree of accuracy decreases, providing insight into the computational challenges of zooming.', 'Thank you message to viewers and acknowledgment of potential errors. The speaker concludes with a thank you message to viewers, expressing a willingness to receive corrections for potential errors and a commitment to address them in future videos.']}], 'duration': 221.456, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/fAsaSkmbF5s/pics/fAsaSkmbF5s864122.jpg', 'highlights': ['The process involves changing the color mode to HSB and creating colors based on hue, saturation, and brightness.', 'Exploration of zooming in on Julia Set and the impact of changing values.', 'The code is modified to use a separate variable for hue and to make a color hue with a saturation and brightness of 255.', 'The result is a visually appealing rainbow Julia set.', 'The chapter demonstrates the creation of a thumbnail for a video.', 'The speaker explores the concept of zooming in on Julia Set and demonstrates the impact of changing values, highlighting the ability to animate the zoom using mathematical functions.', 'Limitations of floating point math in the context of zooming.', 'Thank you message to viewers and acknowledgment of potential errors.']}], 'highlights': ['The chapter focuses on converting the Mandelbrot set code to the Julia set', 'The iterative process in the Mandelbrot set involves testing the function where Zn plus 1 equals Zn squared plus the complex number C, iterating over and over again to determine the behavior of the point towards infinity or a bounded number.', 'The method of determining if a point tends towards infinity involves checking if the distance from 0, represented as a squared plus b squared, is greater than 16, typically checking if a squared plus b squared is greater than 4.', 'The chapter discusses the Mandelbrot set and its relation to the Julia set The discussion covers the relationship between the Mandelbrot set and the Julia set, highlighting their specific mathematical expressions and patterns.', "Differences in the workings of Mandelbrot and Julia sets The chapter outlines the key difference in the workings of the Julia set, where the constant 'c' remains constant while 'z sub 0' changes as you move along.", 'The chapter explores creating an interactive visualization of the Mandelbrot set and associated Julia sets', 'The process involves changing the color mode to HSB and creating colors based on hue, saturation, and brightness.', 'Exploration of zooming in on Julia Set and the impact of changing values.', 'The result is a visually appealing rainbow Julia set.']}