title
Coding Challenge #96: Visualizing the Digits of Pi

description
In celebration of Pi Day, Let's attempt to β€œvisualize” the first one million digits of Pi. Code: https://thecodingtrain.com/challenges/96-visualizing-digits-of-pi πŸ•ΉοΈ p5.js Web Editor Sketch: https://editor.p5js.org/codingtrain/sketches/FBIJy_-2Y πŸŽ₯ Previous video: https://youtu.be/5cNnf_7e92Q?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH πŸŽ₯ All videos: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH References: πŸ“° Washington Post Article: https://www.washingtonpost.com/news/wonk/wp/2015/03/14/10-stunning-images-show-the-beauty-hidden-in-pi/?utm_term=.e232a2caa3ed 🎨 Pi Artwork: http://mkweb.bcgsc.ca/pi/art/ πŸ₯§ 1 Billion Digits of Pi: https://stuff.mit.edu/afs/sipb/contrib/pi/ πŸ₯Ÿ Million Pi Digits: http://www.piday.org/million/ πŸ–‹οΈ Pi Day Code: https://github.com/CodingTrain/PiDay Videos: πŸ“” Polar to Cartesian: https://youtu.be//more/archive/nature-of-code/3-Oscillation/3.2-Trigonometry-and-Polar-Coordinates πŸ“½οΈ Pi is Beautiful: https://youtu.be/NPoj8lk9Fo4 βš™οΈ Learning Processing: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZYJC7L-r6rX6utt6wwJCyi πŸŽ₯ Livestream Archive: https://www.youtube.com/watch?v=BOk4Dl-gw14 Related Coding Challenges: πŸš‚ #140 Leibniz Formula for Pi: https://youtu.be/uH4trBNn540 πŸš‚ #156 Peeking Inside Pi: https://youtu.be/MEdpRYyjz_0 πŸš‚ #161 Estimating Ο€ from Random Numbers with Euclid's Algorithm: https://youtu.be/EvS_a921dBo πŸš‚ #169 Pi in the Sky Game: https://youtu.be/_H9JIwWP7HQ Timestamps: 0:00 Introduction 1:05 Let's get started! Loading the digits of Pi 3:01 Converting the string to an array of integers 4:59 Visualizing based on frequency of a digit 8:07 Putting them in path of a circle 9:26 Visualizing based on the next digits 12:23 Debugging 13:18 The point of this video 13:40 Make your version, and share with us! 14:11 Some randomness 15:08 You, the viewer of this video! 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 #piday #pivisualization #pi #java #processing

detail
{'title': 'Coding Challenge #96: Visualizing the Digits of Pi', 'heatmap': [{'end': 915.828, 'start': 897.506, 'weight': 1}], 'summary': 'A coding challenge explores visualizing pi digits using files containing 1 million, 10 million, and 1 billion digits, inspired by artists martin krzyzewinski and christian iles vasil, with references to a washington post article and a numberphile video. it demonstrates loading pi digits into an array for processing and visualizing a million digits using graphical representation and frequency analysis, while also discussing connecting digits in artwork through a circular pattern in processing, promoting creative exploration.', 'chapters': [{'end': 62.5, 'segs': [{'end': 62.5, 'src': 'embed', 'start': 1.029, 'weight': 0, 'content': [{'end': 3.55, 'text': 'Hello, and happy Pi Day part 2.', 'start': 1.029, 'duration': 2.521}, {'end': 4.87, 'text': "I'm going to do another coding challenge.", 'start': 3.55, 'duration': 1.32}, {'end': 8.731, 'text': 'And this coding challenge will be about visualizing the digits of pi.', 'start': 5.11, 'duration': 3.621}, {'end': 13.233, 'text': "So I'm going to use a file that I've prepared of 1 million digits of pi.", 'start': 8.751, 'duration': 4.482}, {'end': 19.894, 'text': "I also will include links in this video's description to a file with 10 million digits and a file, I think, that has a billion digits.", 'start': 13.593, 'duration': 6.301}, {'end': 23.815, 'text': "I can't remember which one I found, but various people have posted files with a lot more digits than I'm going to use.", 'start': 19.934, 'duration': 3.881}, {'end': 29.719, 'text': "So you might be interested in trying it out with even more digits, because, boy, let's just make as many digits as we can.", 'start': 24.076, 'duration': 5.643}, {'end': 32.922, 'text': 'Now, this is inspired by two artists.', 'start': 29.759, 'duration': 3.163}, {'end': 41.85, 'text': "I'm sure I'm going to pronounce apologies for mispronouncing the names, but Martin Krzyzewinski and Christian Vasil,", 'start': 34.283, 'duration': 7.567}, {'end': 50.537, 'text': 'who have made Christian Iles Vasil, who have made a whole lot of beautiful images visualizing the digits of pi.', 'start': 41.85, 'duration': 8.687}, {'end': 54.53, 'text': 'So I encourage you to check out this Washington Post article.', 'start': 50.557, 'duration': 3.973}, {'end': 55.19, 'text': "I'll link to that.", 'start': 54.63, 'duration': 0.56}, {'end': 60.738, 'text': "There's also a wonderful Numberphile video called The Beauty of Pi, or something like that that I will link to.", 'start': 55.391, 'duration': 5.347}, {'end': 62.5, 'text': 'that goes through some of their visualizations.', 'start': 60.738, 'duration': 1.762}], 'summary': 'Coding challenge to visualize digits of pi using 1 million digits file, inspired by artists martin krzyzewinski and christian vasil.', 'duration': 61.471, 'max_score': 1.029, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc1029.jpg'}], 'start': 1.029, 'title': 'Visualizing pi digits', 'summary': 'Explores a coding challenge to visualize pi digits using files containing 1 million, 10 million, and 1 billion digits. it is inspired by artists martin krzyzewinski and christian iles vasil, with references to a washington post article and a numberphile video.', 'chapters': [{'end': 62.5, 'start': 1.029, 'title': 'Visualizing pi digits', 'summary': 'Delves into a coding challenge for visualizing the digits of pi using a file containing 1 million digits, with mentions of files containing 10 million and 1 billion digits, inspired by artists martin krzyzewinski and christian iles vasil, and references to related washington post article and numberphile video.', 'duration': 61.471, 'highlights': ['The challenge involves visualizing the digits of pi using a file containing 1 million digits, with additional links provided for files containing 10 million and 1 billion digits.', 'The coding challenge is inspired by artists Martin Krzyzewinski and Christian Iles Vasil, who have created visually appealing images based on the digits of pi.', 'Reference is made to a Washington Post article and a Numberphile video showcasing visualizations of pi digits.']}], 'duration': 61.471, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc1029.jpg', 'highlights': ['The coding challenge involves visualizing the digits of pi using a file containing 1 billion digits.', 'Artists Martin Krzyzewinski and Christian Iles Vasil inspired the coding challenge.', 'Reference to a Washington Post article and a Numberphile video showcasing pi digit visualizations.']}, {'end': 549.877, 'segs': [{'end': 104.831, 'src': 'embed', 'start': 62.62, 'weight': 3, 'content': [{'end': 64.162, 'text': "I'm going to try to do something really simple.", 'start': 62.62, 'duration': 1.542}, {'end': 68.266, 'text': "So let's get started by loading those digits.", 'start': 65.083, 'duration': 3.183}, {'end': 75.112, 'text': 'So first what I want is I actually want to have a string, because I want to take all the digits of pi and put them in a string.', 'start': 68.506, 'duration': 6.606}, {'end': 78.035, 'text': "Although ultimately, maybe I'll break that into an array of integers.", 'start': 75.192, 'duration': 2.843}, {'end': 79.656, 'text': "But that's how they're going to come in.", 'start': 78.435, 'duration': 1.221}, {'end': 80.937, 'text': "They're coming in from a text file.", 'start': 79.676, 'duration': 1.261}, {'end': 83.72, 'text': "So I'm going to call it pi, just pi lowercase.", 'start': 81.218, 'duration': 2.502}, {'end': 87.884, 'text': "I don't want to say pi uppercase, because that's a built-in constant in processing.", 'start': 84.14, 'duration': 3.744}, {'end': 91.605, 'text': "Let's just arbitrarily have a window that's 400 by 400.", 'start': 88.484, 'duration': 3.121}, {'end': 95.187, 'text': "Then I'm going to say pi equals load strings.", 'start': 91.605, 'duration': 3.582}, {'end': 97.968, 'text': "So load strings is a function that's part of processing.", 'start': 95.547, 'duration': 2.421}, {'end': 102.27, 'text': 'This is processing, by the way, a Java-based programming environment.', 'start': 97.988, 'duration': 4.282}, {'end': 104.831, 'text': 'What it actually does is it loads.', 'start': 102.37, 'duration': 2.461}], 'summary': 'Loading digits of pi into a string using processing, a java-based programming environment.', 'duration': 42.211, 'max_score': 62.62, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc62620.jpg'}, {'end': 157.111, 'src': 'embed', 'start': 128.537, 'weight': 4, 'content': [{'end': 133.919, 'text': "The reason why this doesn't match is the processing load strings function takes in your data into an array.", 'start': 128.537, 'duration': 5.382}, {'end': 137.941, 'text': 'And this is actually often quite useful, especially if you have data in multiple lines,', 'start': 133.939, 'duration': 4.002}, {'end': 140.863, 'text': 'because it takes every line from the text file and breaks it into an array.', 'start': 137.941, 'duration': 2.922}, {'end': 142.744, 'text': 'But this text file just has one line.', 'start': 140.883, 'duration': 1.861}, {'end': 147.966, 'text': 'So I can actually just take, zero, just the first element of that array.', 'start': 143.284, 'duration': 4.682}, {'end': 152.829, 'text': "And I'm going to say print line pi just to see if this appears in the console.", 'start': 148.246, 'duration': 4.583}, {'end': 157.111, 'text': "Oh boy, I'm going to freak it out because there should be a million digits there.", 'start': 153.089, 'duration': 4.022}], 'summary': 'The processing load strings function takes data into an array, breaking lines from the text file, and printing the first element.', 'duration': 28.574, 'max_score': 128.537, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc128537.jpg'}, {'end': 213.945, 'src': 'embed', 'start': 174.359, 'weight': 0, 'content': [{'end': 175.52, 'text': "So I'm going to say dot length.", 'start': 174.359, 'duration': 1.161}, {'end': 176.421, 'text': 'And there we go.', 'start': 175.981, 'duration': 0.44}, {'end': 177.963, 'text': "I've got 1 million digits of pi.", 'start': 176.521, 'duration': 1.442}, {'end': 180.206, 'text': "We're cooking here.", 'start': 178.424, 'duration': 1.782}, {'end': 180.927, 'text': "Now we're cooking.", 'start': 180.266, 'duration': 0.661}, {'end': 183.25, 'text': "OK, so let's actually break that into an array.", 'start': 181.428, 'duration': 1.822}, {'end': 190.17, 'text': 'So let me make an array called digits, which has one million spots in it.', 'start': 184.386, 'duration': 5.784}, {'end': 200.598, 'text': "And I wonder if actually actually I don't need to initialize it, because I think I can say string.", 'start': 191.231, 'duration': 9.367}, {'end': 213.945, 'text': "I'll call it s digits equals pi dot split And if I give it no, if I say split with no delimiter, so this is like splitting the string,", 'start': 200.598, 'duration': 13.347}], 'summary': 'Transcript includes coding to obtain 1 million digits of pi.', 'duration': 39.586, 'max_score': 174.359, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc174359.jpg'}, {'end': 319.42, 'src': 'embed', 'start': 292.192, 'weight': 1, 'content': [{'end': 295.875, 'text': "I think what I'm going to try to do is visualize the frequency of the digits.", 'start': 292.192, 'duration': 3.683}, {'end': 298.157, 'text': "So let's just actually make a simple line.", 'start': 296.115, 'duration': 2.042}, {'end': 302.4, 'text': "Let's say there are 10 digits.", 'start': 299.418, 'duration': 2.982}, {'end': 304.782, 'text': "So I'm going to go i equals 0.", 'start': 302.901, 'duration': 1.881}, {'end': 307.985, 'text': "So I'm going to make an array called counts.", 'start': 304.782, 'duration': 3.203}, {'end': 319.42, 'text': "and it has 10 spots in it, okay? And then I'm going to also have an integer which is like current digit, which will equal zero.", 'start': 311.158, 'duration': 8.262}], 'summary': 'Visualize digit frequency with 10 counts in an array.', 'duration': 27.228, 'max_score': 292.192, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc292192.jpg'}, {'end': 521.753, 'src': 'embed', 'start': 488.764, 'weight': 2, 'content': [{'end': 498.488, 'text': "So I'm going to say angle equals map i, which goes from 0 to counts.length to between 0 and 2 pi.", 'start': 488.764, 'duration': 9.724}, {'end': 500.349, 'text': 'Pi is appearing now.', 'start': 499.128, 'duration': 1.221}, {'end': 503.05, 'text': 'I want to get an angle all the way around a circle.', 'start': 500.529, 'duration': 2.521}, {'end': 508.443, 'text': 'and then I want my x to be some radius.', 'start': 504.52, 'duration': 3.923}, {'end': 516.669, 'text': "so let's say 200 in this case 200 times cosine of that angle.", 'start': 508.443, 'duration': 8.226}, {'end': 521.753, 'text': 'and this is me converting from polar coordinates, an angle and a radius to Cartesian coordinates.', 'start': 516.669, 'duration': 5.084}], 'summary': 'Converting polar coordinates to cartesian coordinates using angle and radius.', 'duration': 32.989, 'max_score': 488.764, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc488764.jpg'}], 'start': 62.62, 'title': 'Loading and visualizing pi digits', 'summary': 'Demonstrates loading pi digits into an array for further processing and visualizing a million digits using graphical representation and frequency analysis.', 'chapters': [{'end': 147.966, 'start': 62.62, 'title': 'Loading digits of pi into an array', 'summary': 'Demonstrates how to load the digits of pi from a text file into a string array using the processing environment, aiming to break it into an array of integers for further processing, with a window size of 400 by 400.', 'duration': 85.346, 'highlights': ['The processing load strings function is used to load the digits of pi from a text file into an array, aiming to break it into an array of integers. The load strings function in processing is utilized to load the digits of pi from a text file into an array, with the intention of potentially converting them into an array of integers for further manipulation.', 'An error occurs due to a type mismatch when attempting to load the data into an array using the processing load strings function. A type mismatch error is encountered when attempting to load the pi data into an array using the load strings function in processing, as it expects a different data format than what is provided.', 'The window size for the processing environment is set to 400 by 400. A window of 400 by 400 is arbitrarily set for the processing environment, providing a visual context for the subsequent operations on the loaded pi data.']}, {'end': 549.877, 'start': 148.246, 'title': 'Visualizing million digits of pi', 'summary': 'Discusses the process of obtaining and visualizing a million digits of pi, including splitting the string, converting to an array, and visualizing the frequency of the digits using circles in a graphical representation.', 'duration': 401.631, 'highlights': ["Obtaining a million digits of pi and converting it into an array The speaker discusses obtaining a million digits of pi, splitting the string to create an array with a million strings, and the use of the 'split' function to achieve this.", 'Visualizing the frequency of the digits using circles in a graphical representation The speaker visualizes the frequency of the digits by using circles, increasing their size based on the count of each digit, and discusses the distribution of the digits in the graphical representation.', 'Discussing the use of polar coordinates to position the circles around a circle The speaker explains the use of polar coordinates to position the circles around a circle, including the mapping of the angle from 0 to 2 pi and the conversion to Cartesian coordinates.']}], 'duration': 487.257, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc62620.jpg', 'highlights': ["Obtaining a million digits of pi and converting it into an array The speaker discusses obtaining a million digits of pi, splitting the string to create an array with a million strings, and the use of the 'split' function to achieve this.", 'Visualizing the frequency of the digits using circles in a graphical representation The speaker visualizes the frequency of the digits by using circles, increasing their size based on the count of each digit, and discusses the distribution of the digits in the graphical representation.', 'Discussing the use of polar coordinates to position the circles around a circle The speaker explains the use of polar coordinates to position the circles around a circle, including the mapping of the angle from 0 to 2 pi and the conversion to Cartesian coordinates.', 'The processing load strings function is used to load the digits of pi from a text file into an array, aiming to break it into an array of integers. The load strings function in processing is utilized to load the digits of pi from a text file into an array, with the intention of potentially converting them into an array of integers for further manipulation.', 'An error occurs due to a type mismatch when attempting to load the data into an array using the processing load strings function. A type mismatch error is encountered when attempting to load the pi data into an array using the load strings function in processing, as it expects a different data format than what is provided.', 'The window size for the processing environment is set to 400 by 400. A window of 400 by 400 is arbitrarily set for the processing environment, providing a visual context for the subsequent operations on the loaded pi data.']}, {'end': 951.228, 'segs': [{'end': 600.974, 'src': 'embed', 'start': 549.917, 'weight': 3, 'content': [{'end': 556.681, 'text': 'This is digit zero, one, two, three, four, five, six, seven, eight.', 'start': 549.917, 'duration': 6.764}, {'end': 561.923, 'text': 'So I have normalized them in the path of zero.', 'start': 556.901, 'duration': 5.022}, {'end': 564.084, 'text': "So I don't know if this size is really that interesting.", 'start': 561.943, 'duration': 2.141}, {'end': 565.025, 'text': 'One of the.', 'start': 564.604, 'duration': 0.421}, {'end': 569.31, 'text': 'One of these artworks, if I scroll down here,', 'start': 567.009, 'duration': 2.301}, {'end': 574.611, 'text': "actually what it does and it does it in a more sophisticated way is it's connecting digits to the next digit.", 'start': 569.31, 'duration': 5.301}, {'end': 576.912, 'text': 'That would be super interesting to try.', 'start': 575.052, 'duration': 1.86}, {'end': 577.953, 'text': "Let's try that.", 'start': 577.032, 'duration': 0.921}, {'end': 585.415, 'text': "So I actually need to look at the next digit in this case, right? So I don't need to worry about this counts stuff.", 'start': 578.973, 'duration': 6.442}, {'end': 590.076, 'text': "I actually don't even need to worry about this loop thing.", 'start': 587.696, 'duration': 2.38}, {'end': 590.817, 'text': 'OK, hold on.', 'start': 590.156, 'duration': 0.661}, {'end': 591.577, 'text': "Let's figure this out.", 'start': 590.877, 'duration': 0.7}, {'end': 598.973, 'text': "Let's, so let me save this, I'm going to save this as pi day three, because I'm going to rip this apart now for a second.", 'start': 593.291, 'duration': 5.682}, {'end': 600.974, 'text': 'So let me take this out.', 'start': 599.434, 'duration': 1.54}], 'summary': 'Artwork connects digits in a sophisticated way, aiming for super interesting results.', 'duration': 51.057, 'max_score': 549.917, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc549917.jpg'}, {'end': 674.017, 'src': 'embed', 'start': 639.739, 'weight': 1, 'content': [{'end': 641.659, 'text': 'I could pre-compute all these locations.', 'start': 639.739, 'duration': 1.92}, {'end': 645.081, 'text': 'Angle two is next digit.', 'start': 642.56, 'duration': 2.521}, {'end': 650.567, 'text': 'So now I just need to do that polar to Cartesian transformation thing again.', 'start': 646.385, 'duration': 4.182}, {'end': 660.171, 'text': "I'm going to say 200 times cosine of angle one, y one equals 200 times sine of angle one.", 'start': 650.647, 'duration': 9.524}, {'end': 664.953, 'text': "I'll do the same thing for x two and y two.", 'start': 661.091, 'duration': 3.862}, {'end': 669.075, 'text': 'Sine of angle two, cosine of angle two.', 'start': 667.114, 'duration': 1.961}, {'end': 674.017, 'text': 'and now, what if I draw a line from x, one, x two to y, one, y two?', 'start': 669.075, 'duration': 4.942}], 'summary': 'The speaker discusses pre-computing locations and performing polar to cartesian transformations, giving an example of 200 times cosine and sine of angle one.', 'duration': 34.278, 'max_score': 639.739, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc639739.jpg'}, {'end': 836.716, 'src': 'embed', 'start': 793.09, 'weight': 0, 'content': [{'end': 795.891, 'text': "So I haven't really made anything so beautiful.", 'start': 793.09, 'duration': 2.801}, {'end': 798.192, 'text': "That wasn't the point of me making this video.", 'start': 796.171, 'duration': 2.021}, {'end': 803.894, 'text': 'The point of me making this video was to show you how to load all the digits of pi,', 'start': 798.492, 'duration': 5.402}, {'end': 807.735, 'text': 'how to iterate over them and how to start thinking about drawing based on them.', 'start': 803.894, 'duration': 3.841}, {'end': 817.158, 'text': 'And if you look through and read this Washington Post article or think creatively on your own, I am sure you will come up with your own pi drawing.', 'start': 808.055, 'duration': 9.103}, {'end': 823.864, 'text': 'So please share PyTrain.', 'start': 818.058, 'duration': 5.806}, {'end': 824.704, 'text': "I don't know.", 'start': 823.884, 'duration': 0.82}, {'end': 826.786, 'text': 'Hashtag PyTrain on Twitter.', 'start': 825.125, 'duration': 1.661}, {'end': 835.635, 'text': "Go to thecodingtrain.com and submit your, there'll be information there at the page for this coding challenge of how to submit your version of it.", 'start': 827.827, 'duration': 7.808}, {'end': 836.716, 'text': 'Share it with me on Twitter.', 'start': 835.895, 'duration': 0.821}], 'summary': 'Show how to load and iterate over pi digits for drawing, encourage creativity and sharing on twitter.', 'duration': 43.626, 'max_score': 793.09, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc793090.jpg'}, {'end': 923.612, 'src': 'heatmap', 'start': 897.506, 'weight': 1, 'content': [{'end': 901.852, 'text': "And now we can see, I don't know whether I've made anything better necessarily.", 'start': 897.506, 'duration': 4.346}, {'end': 908.205, 'text': 'But you can see this is a variation on this theme.', 'start': 906.004, 'duration': 2.201}, {'end': 914.328, 'text': 'So you, the viewer of this video, are a more creative, visually talented person than I am.', 'start': 908.245, 'duration': 6.083}, {'end': 915.828, 'text': 'That I am sure of.', 'start': 914.768, 'duration': 1.06}, {'end': 917.629, 'text': "So I don't want to go too far with this.", 'start': 916.168, 'duration': 1.461}, {'end': 918.69, 'text': "I'm not adding any color.", 'start': 917.709, 'duration': 0.981}, {'end': 920.31, 'text': "I'm not being thoughtful about those positions.", 'start': 918.71, 'duration': 1.6}, {'end': 922.271, 'text': 'The circular idea is just one idea.', 'start': 920.61, 'duration': 1.661}, {'end': 923.612, 'text': 'A grid is another idea.', 'start': 922.291, 'duration': 1.321}], 'summary': "The video presents a variation on a theme, with the speaker acknowledging the viewer's creativity and visual talent.", 'duration': 26.106, 'max_score': 897.506, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc897506.jpg'}], 'start': 549.917, 'title': 'Visualizing digits in artwork', 'summary': 'Discusses connecting digits in artwork using the map function to pre-compute locations and visualizing the digits of pi through a circular pattern in processing, promoting creative exploration with the iterative process.', 'chapters': [{'end': 674.017, 'start': 549.917, 'title': 'Connecting digits in artwork', 'summary': 'Discusses the process of connecting digits in artwork, proposing to look at each digit and the next digit, and using the map function to pre-compute all the locations, aiming to draw a line from x1, x2 to y1, y2.', 'duration': 124.1, 'highlights': ['The process involves connecting digits to the next digit, using the map function to pre-compute all the locations, and drawing a line from x1, x2 to y1, y2.', 'The speaker normalizes the digits in the path of zero and explores the potential interest in one of the artworks.', "The speaker plans to save the current work as 'pi day three' and modify the code to focus on connecting digits in a more sophisticated way.", 'The speaker discusses the specific steps involved in the process, such as assigning values to angles and performing polar to Cartesian transformation.']}, {'end': 951.228, 'start': 675.458, 'title': 'Drawing digits of pi in processing', 'summary': 'Demonstrates how to visualize the digits of pi by drawing a circular pattern using processing, emphasizing the iterative process and encouraging creative exploration with the digits of pi.', 'duration': 275.77, 'highlights': ['The chapter demonstrates how to visualize the digits of pi by drawing a circular pattern using Processing. The tutorial involves creating a circular pattern to visualize the digits of pi using Processing, showcasing the iterative process.', 'Emphasizes the iterative process and encourages creative exploration with the digits of pi. The demonstration encourages creative exploration and iterative thinking when visualizing the digits of pi, fostering a mindset of experimentation and creativity.', 'Encourages viewers to share their own pi visualizations on social media using the hashtag #PyTrain. The audience is prompted to share their pi visualizations on social media using the hashtag #PyTrain, fostering community engagement and sharing of creative interpretations.']}], 'duration': 401.311, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/WEd_UIKG-uc/pics/WEd_UIKG-uc549917.jpg', 'highlights': ['The chapter demonstrates how to visualize the digits of pi by drawing a circular pattern using Processing. The tutorial involves creating a circular pattern to visualize the digits of pi using Processing, showcasing the iterative process.', 'The process involves connecting digits to the next digit, using the map function to pre-compute all the locations, and drawing a line from x1, x2 to y1, y2.', 'The speaker discusses the specific steps involved in the process, such as assigning values to angles and performing polar to Cartesian transformation.', 'The speaker normalizes the digits in the path of zero and explores the potential interest in one of the artworks.', "The speaker plans to save the current work as 'pi day three' and modify the code to focus on connecting digits in a more sophisticated way.", 'Emphasizes the iterative process and encourages creative exploration with the digits of pi. The demonstration encourages creative exploration and iterative thinking when visualizing the digits of pi, fostering a mindset of experimentation and creativity.', 'Encourages viewers to share their own pi visualizations on social media using the hashtag #PyTrain. The audience is prompted to share their pi visualizations on social media using the hashtag #PyTrain, fostering community engagement and sharing of creative interpretations.']}], 'highlights': ['The coding challenge involves visualizing the digits of pi using a file containing 1 billion digits.', 'Artists Martin Krzyzewinski and Christian Iles Vasil inspired the coding challenge.', 'Reference to a Washington Post article and a Numberphile video showcasing pi digit visualizations.', 'Obtaining a million digits of pi and converting it into an array.', 'Visualizing the frequency of the digits using circles in a graphical representation.', 'Discussing the use of polar coordinates to position the circles around a circle.', 'The processing load strings function is used to load the digits of pi from a text file into an array.', 'An error occurs due to a type mismatch when attempting to load the data into an array using the processing load strings function.', 'The window size for the processing environment is set to 400 by 400.', 'The chapter demonstrates how to visualize the digits of pi by drawing a circular pattern using Processing.', 'The process involves connecting digits to the next digit, using the map function to pre-compute all the locations, and drawing a line from x1, x2 to y1, y2.', 'The speaker discusses the specific steps involved in the process, such as assigning values to angles and performing polar to Cartesian transformation.', 'The speaker normalizes the digits in the path of zero and explores the potential interest in one of the artworks.', "The speaker plans to save the current work as 'pi day three' and modify the code to focus on connecting digits in a more sophisticated way.", 'Emphasizes the iterative process and encourages creative exploration with the digits of pi.', 'Encourages viewers to share their own pi visualizations on social media using the hashtag #PyTrain.']}