gitextract_t56dc836/ ├── 001_StarField/ │ ├── P5/ │ │ ├── Star.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_001_StarField/ │ │ ├── CC_001_StarField.pde │ │ └── Star.pde │ └── sketch.pdez ├── 002_MengerSponge/ │ ├── P5/ │ │ ├── box.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_002_MengerSponge/ │ │ ├── Box.pde │ │ └── CC_002_MengerSponge.pde │ └── sketch.pdez ├── 003_Snake_game/ │ ├── P5/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── snake.js │ └── Processing/ │ ├── CC_003_Snake_game/ │ │ ├── CC_003_Snake_game.pde │ │ └── Snake.pde │ └── sketch.pdez ├── 004_PurpleRain/ │ ├── P5/ │ │ ├── drop.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_004_PurpleRain/ │ │ ├── CC_004_PurpleRain.pde │ │ └── Drop.pde │ └── sketch.pdez ├── 005_Space_invaders/ │ ├── P5/ │ │ ├── drop.js │ │ ├── flower.js │ │ ├── index.html │ │ ├── ship.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_005_Space_invaders/ │ │ ├── CC_005_Space_invaders.pde │ │ ├── Drop.pde │ │ ├── Flower.pde │ │ └── Ship.pde │ └── sketch.pdez ├── 006_Mitosis/ │ ├── P5/ │ │ ├── cell.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_006_Mitosis/ │ │ ├── CC_006_Mitosis.pde │ │ └── Cell.pde │ └── sketch.pdez ├── 007_SolarSystemGenerator/ │ ├── P5/ │ │ ├── index.html │ │ ├── planet.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_007_SolarSystemGenerator/ │ │ ├── CC_007_SolarSystemGenerator.pde │ │ └── Planet.pde │ └── sketch.pdez ├── 008_SolarSystemGenerator3D/ │ ├── P5/ │ │ ├── Planet.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_008_SolarSystemGenerator3D/ │ │ ├── CC_008_SolarSystemGenerator3D.pde │ │ └── Planet.pde │ └── sketch.pdez ├── 009_SolarSystemGenerator3D_texture/ │ ├── P5/ │ │ ├── Planet.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_009_SolarSystemGenerator3D_texture/ │ │ ├── CC_009_SolarSystemGenerator3D_texture.pde │ │ └── Planet.pde │ └── sketch.pdez ├── 010_Maze_DFS/ │ ├── P5/ │ │ ├── cell.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_010_Maze_DFS/ │ │ ├── CC_010_Maze_DFS.pde │ │ └── cell.pde │ └── sketch.pdez ├── 011_PerlinNoiseTerrain/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_011_PerlinNoiseTerrain/ │ │ └── CC_011_PerlinNoiseTerrain.pde │ └── sketch.pdez ├── 012_LorenzAttractor/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_012_LorenzAttractor/ │ │ └── CC_012_LorenzAttractor.pde │ └── sketch.pdez ├── 013_ReactionDiffusion/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_013_ReactionDiffusion/ │ │ └── CC_013_ReactionDiffusion.pde │ └── sketch.pdez ├── 014_FractalTree/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_014_FractalTree/ │ │ └── CC_014_FractalTree.pde │ └── sketch.pdez ├── 015_FractalTreeArray/ │ ├── P5/ │ │ ├── branch.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_015_FractalTreeArray/ │ │ ├── Branch.pde │ │ └── CC_015_FractalTreeArray.pde │ └── sketch.pdez ├── 016_LSystem/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_016_LSystem/ │ │ └── CC_016_LSystem.pde │ └── sketch.pdez ├── 017_SpaceColonizer/ │ ├── P5/ │ │ ├── branch.js │ │ ├── index.html │ │ ├── leaf.js │ │ ├── sketch.js │ │ └── tree.js │ └── Processing/ │ ├── CC_017_SpaceColonizer/ │ │ ├── Branch.pde │ │ ├── CC_017_SpaceColonizer.pde │ │ ├── Leaf.pde │ │ └── Tree.pde │ └── sketch.pdez ├── 018_SpaceColonizer3D/ │ └── Processing/ │ ├── CC_018_SpaceColonizer3D/ │ │ ├── Branch.pde │ │ ├── CC_018_SpaceColonizer3D.pde │ │ ├── Leaf.pde │ │ └── Tree.pde │ └── sketch.pdez ├── 019_Superellipse/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_019_Superellipse/ │ │ ├── CC_019_Superellipse.pde │ │ └── Slider.pde │ └── sketch.pdez ├── 020_ClothSimulation/ │ ├── P5/ │ │ ├── index.html │ │ ├── particle.js │ │ ├── sketch.js │ │ ├── spring.js │ │ ├── style.css │ │ └── toxiclibs/ │ │ ├── toxichelper.js │ │ └── toxiclibs.js │ └── Processing/ │ ├── CC_020_Cloth2D/ │ │ ├── CC_020_Cloth2D.pde │ │ ├── Particle.pde │ │ └── Spring.pde │ ├── CC_020_Cloth3D/ │ │ └── Processing/ │ │ ├── CC_020_Cloth3D/ │ │ │ ├── CC_020_Cloth3D.pde │ │ │ ├── Particle.pde │ │ │ └── Spring.pde │ │ └── sketch.pdez │ └── sketch.pdez ├── 021_Mandelbrot/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_021_Mandelbrot/ │ │ └── CC_021_Mandelbrot.pde │ └── sketch.pdez ├── 022_JuliaSet/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_022_JuliaSet/ │ │ └── CC_022_JuliaSet.pde │ └── sketch.pdez ├── 023_SuperShape2D/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_023_SuperShape2D/ │ │ └── CC_023_SuperShape2D.pde │ └── sketch.pdez ├── 024_PerlinNoiseFlowField/ │ ├── P5/ │ │ ├── index.html │ │ ├── particle.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_024_PerlinNoiseFlowField/ │ │ ├── CC_024_PerlinNoiseFlowField.pde │ │ ├── Particle.pde │ │ └── flowfield.pde │ └── sketch.pdez ├── 025_SphereGeometry/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_025_SphereGeometry/ │ │ └── CC_025_SphereGeometry.pde │ └── sketch.pdez ├── 026_SuperShape3D/ │ └── Processing/ │ ├── CC_026_SuperShape3D/ │ │ └── CC_026_SuperShape3D.pde │ └── sketch.pdez ├── 027_FireWorks/ │ ├── P5/ │ │ ├── firework.js │ │ ├── index.html │ │ ├── particle.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_027_FireWorks_2D/ │ │ ├── CC_027_FireWorks_2D.pde │ │ ├── Particle.pde │ │ └── ParticleSystem.pde │ ├── CC_027_FireWorks_3D/ │ │ ├── CC_027_FireWorks_3D.pde │ │ ├── Particle.pde │ │ └── ParticleSystem.pde │ └── sketch.pdez ├── 028_MetaBalls/ │ ├── P5/ │ │ ├── blob.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_028_MetaBalls/ │ │ ├── Blob.pde │ │ └── CC_028_MetaBalls.pde │ └── sketch.pdez ├── 029_SmartRockets/ │ ├── P5/ │ │ ├── dna.js │ │ ├── index.html │ │ ├── population.js │ │ ├── rocket.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_029_SmartRockets/ │ │ ├── CC_029_SmartRockets.pde │ │ ├── Dna.pde │ │ ├── Population.pde │ │ └── Rocket.pde │ └── sketch.pdez ├── 030_Phyllotaxis/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_030_Phyllotaxis/ │ │ └── CC_030_Phyllotaxis.pde │ └── sketch.pdez ├── 031_FlappyBird/ │ ├── P5/ │ │ ├── bird.js │ │ ├── index.html │ │ ├── pipe.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_031_FlappyBird/ │ │ ├── Bird.pde │ │ ├── CC_031_FlappyBird.pde │ │ └── Pipe.pde │ └── sketch.pdez ├── 032.1_agar.io/ │ ├── P5/ │ │ ├── blob.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_032_agar.io/ │ │ ├── Blob.pde │ │ └── CC_032_agar.io.pde │ └── sketch.pdez ├── 032.2_agar.io_sockets/ │ └── Node/ │ ├── package.json │ ├── public/ │ │ ├── blob.js │ │ ├── index.html │ │ └── sketch.js │ └── server.js ├── 033_poisson_disc/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_033_poisson_disc/ │ │ └── CC_033_poisson_disc.pde │ └── sketch.pdez ├── 034_DLA/ │ ├── P5/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── walker.js │ └── Processing/ │ ├── CC_034_DLA/ │ │ ├── CC_034_DLA.pde │ │ └── Walker.pde │ └── sketch.pdez ├── 035.1_TSP/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_035_1_TSP/ │ │ └── CC_035_1_TSP.pde │ └── sketch.pdez ├── 035.2_LexicographicOrder/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_035_2_LexicographicOrder/ │ │ └── CC_035_2_LexicographicOrder.pde │ └── sketch.pdez ├── 035.3_TSP_Lexical/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_035_3_TSP_Lexical/ │ │ └── CC_035_3_TSP_Lexical.pde │ └── sketch.pdez ├── 035.4_TSP_GA/ │ ├── P5/ │ │ ├── ga.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_035_4_TSP_GA/ │ │ ├── CC_035_4_TSP_GA.pde │ │ └── ga.pde │ └── sketch.pdez ├── 036_Blobby/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_036_Blobby/ │ │ └── CC_036_Blobby.pde │ └── sketch.pdez ├── 037_diastic/ │ ├── P5/ │ │ ├── index.html │ │ ├── rainbow.txt │ │ └── sketch.js │ └── Processing/ │ ├── CC_037_diastic/ │ │ └── CC_037_diastic/ │ │ ├── CC_037_diastic.pde │ │ └── data/ │ │ └── rainbow.txt │ └── sketch.pdez ├── 038_word_interactor/ │ └── P5/ │ ├── index.html │ └── sketch.js ├── 039_madlibs/ │ └── P5/ │ ├── index.html │ ├── madlibs.txt │ └── sketch.js ├── 040.1_wordcounts/ │ ├── P5/ │ │ ├── index.html │ │ ├── rainbow.txt │ │ └── sketch.js │ └── Processing/ │ ├── CC_040_1_wordcounts/ │ │ ├── CC_040_1_wordcounts.pde │ │ └── data/ │ │ └── rainbow.txt │ └── sketch.pdez ├── 040.3_tf-idf/ │ └── P5/ │ ├── files/ │ │ ├── eclipse.txt │ │ ├── fish.txt │ │ ├── phadke.txt │ │ ├── rainbow.txt │ │ ├── sports.txt │ │ ├── test.txt │ │ └── tree.txt │ ├── index.html │ └── sketch.js ├── 041_ClappyBird/ │ ├── P5/ │ │ ├── bird.js │ │ ├── index.html │ │ ├── pipe.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_041_ClappyBird/ │ │ ├── Bird.pde │ │ ├── CC_041_ClappyBird.pde │ │ └── Pipe.pde │ └── sketch.pdez ├── 042.1_markov-chain/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_042_1_markov-chain/ │ │ └── CC_042_1_markov_chain/ │ │ └── CC_042_1_markov_chain.pde │ └── sketch.pdez ├── 042.2_markov-chain-names/ │ ├── P5/ │ │ ├── index.html │ │ ├── names.txt │ │ └── sketch.js │ └── Processing/ │ ├── CC_042_2_markov-chain-names/ │ │ └── CC_042_2_markov_chain_names/ │ │ ├── CC_042_2_markov_chain_names.pde │ │ └── data/ │ │ └── names.txt │ └── sketch.pdez ├── 043_ContextFreeGrammar/ │ └── P5/ │ ├── index.html │ ├── libraries/ │ │ └── tracery.js │ └── sketch.js ├── 044_afinn111SentimentAnalysis/ │ └── P5/ │ ├── AFINN-111.txt │ ├── afinn111-edited.json │ ├── convert.js │ ├── index.html │ └── sketch.js ├── 045_FirebaseSavingDrawing/ │ └── P5/ │ ├── index.html │ └── sketch.js ├── 046_Asteroids/ │ ├── P5/ │ │ ├── asteroid.js │ │ ├── index.html │ │ ├── laser.js │ │ ├── ship.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_046_Asteroids/ │ │ ├── Asteroid.pde │ │ ├── CC_046_Asteroids.pde │ │ ├── Laser.pde │ │ └── Ship.pde │ └── sketch.pdez ├── 047_PixelSorting/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_047_PixelSorting/ │ │ └── CC_047_PixelSorting.pde │ ├── CC_047_PixelSortingAnimation/ │ │ └── CC_047_PixelSortingAnimation.pde │ └── sketch.pdez ├── 048_TweetsByMonth/ │ ├── P5/ │ │ ├── flotus.json │ │ ├── index.html │ │ ├── potus.json │ │ └── sketch.js │ └── Processing/ │ ├── CC_048_TweetsByMonth/ │ │ ├── CC_048_TweetsByMonth.pde │ │ ├── flotus.json │ │ └── potus.json │ └── sketch.pdez ├── 049_ObamaMosaic/ │ └── Processing/ │ ├── CC_049_ObamaMosaic/ │ │ ├── CC_049_ObamaMosaic.pde │ │ └── data/ │ │ └── photos/ │ │ └── readme.txt │ └── sketch.pdez ├── 050.1_CirclePackingAnimated/ │ ├── P5/ │ │ ├── CC_050.1_A_CirclePackingAnimated/ │ │ │ ├── Circle.js │ │ │ ├── index.html │ │ │ └── sketch.js │ │ └── CC_050.1_B_CirclePackingAnimatedText/ │ │ ├── Circle.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_050_1_A_CirclePackingAnimated/ │ │ ├── CC_050_1_A_CirclePackingAnimated.pde │ │ └── Circle.pde │ ├── CC_050_1_B_CirclePackingAnimatedText/ │ │ ├── CC_050_1_B_CirclePackingAnimatedText.pde │ │ └── Circle.pde │ └── sketch.pdez ├── 050.2_CirclePackingImage/ │ ├── P5/ │ │ ├── Circle.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_050_2_CirclePackingImage/ │ │ ├── CC_050_2_CirclePackingImage.pde │ │ └── Circle.pde │ └── sketch.pdez ├── 051_astar/ │ ├── P5/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── spot.js │ └── Processing/ │ ├── CC_051_astar/ │ │ ├── CC_051_astar.pde │ │ └── Spot.pde │ └── sketch.pdez ├── 052_random_walk/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_052_random_walk/ │ │ └── CC_052_random_walk.pde │ └── sketch.pdez ├── 053_random_walk_levy/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_053_random_walk_levy/ │ │ └── CC_053_random_walk_levy.pde │ └── sketch.pdez ├── 054.1_StarPatterns/ │ ├── P5/ │ │ ├── edge.js │ │ ├── hankin.js │ │ ├── index.html │ │ ├── polygon.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_054_StarPatterns/ │ │ ├── CC_054_StarPatterns.pde │ │ ├── Edge.pde │ │ ├── Hankin.pde │ │ ├── Polygon.pde │ │ └── Slider.pde │ └── sketch.pdez ├── 054.2_StarPatterns/ │ └── P5/ │ ├── edge.js │ ├── hankin.js │ ├── index.html │ ├── polygon.js │ └── sketch.js ├── 055_Roses/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_055_Roses/ │ │ └── CC_055_Roses.pde │ └── sketch.pdez ├── 056_attraction_repulsion/ │ ├── P5/ │ │ ├── index.html │ │ ├── particle.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_056_attraction_repulsion/ │ │ ├── CC_056_attraction_repulsion.pde │ │ └── Particle.pde │ └── sketch.pdez ├── 057_Earthquake_Viz/ │ ├── P5/ │ │ ├── all_month.csv │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_057_Earthquake_Viz/ │ │ └── CC_057_Earthquake_Viz.pde │ └── sketch.pdez ├── 058_EarthQuakeViz3D/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_058_EarthQuakeViz3D/ │ │ └── CC_058_EarthQuakeViz3D.pde │ └── sketch.pdez ├── 059_Steering_Text_Paths/ │ └── P5/ │ ├── AvenirNextLTPro-Demi.otf │ ├── index.html │ ├── sketch.js │ └── vehicle.js ├── 060_Butterfly_Wings/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_060_Butterfly_Wings/ │ │ └── CC_060_Butterfly_Wings.pde │ └── sketch.pdez ├── 061_fractal_spirograph/ │ ├── P5/ │ │ ├── index.html │ │ ├── orbit.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_061_fractal_spirograph/ │ │ ├── CC_061_fractal_spirograph.pde │ │ └── Orbit.pde │ └── sketch.pdez ├── 062_plinko/ │ └── P5/ │ ├── boundary.js │ ├── index.html │ ├── particle.js │ ├── plinko.js │ └── sketch.js ├── 063_unikitty_flag/ │ └── Processing/ │ ├── CC_063_unikitty_flag/ │ │ ├── CC_063_unikitty_flag.pde │ │ ├── Particle.pde │ │ └── Spring.pde │ └── sketch.pdez ├── 064.1_ForwardKinematics/ │ ├── P5/ │ │ └── CC_064.1_A_ForwardKinematics/ │ │ ├── index.html │ │ ├── segment.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_064_1_A_ForwardKinematics/ │ │ ├── CC_064_1_A_ForwardKinematics.pde │ │ └── Segment.pde │ ├── CC_064_1_B_ForwardKinematics/ │ │ ├── CC_064_1_B_ForwardKinematics.pde │ │ └── Segment.pde │ └── sketch.pdez ├── 064.2_InverseKinematics/ │ ├── P5/ │ │ ├── index.html │ │ ├── segment.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_064_2_InverseKinematics/ │ │ ├── CC_064_2_InverseKinematics.pde │ │ └── Segment.pde │ └── sketch.pdez ├── 064.3_InverseKinematics_fixed/ │ ├── P5/ │ │ ├── index.html │ │ ├── robotarm.js │ │ ├── segment.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_064_3_InverseKinematics_fixed/ │ │ ├── CC_064_3_InverseKinematics_fixed.pde │ │ └── Segment.pde │ └── sketch.pdez ├── 064.4_InverseKinematics_array/ │ ├── P5/ │ │ ├── index.html │ │ ├── segment.js │ │ ├── sketch.js │ │ └── tentacle.js │ └── Processing/ │ ├── CC_064_4_InverseKinematics_array/ │ │ ├── CC_064_4_InverseKinematics_array.pde │ │ ├── Segment.pde │ │ └── Tentacle.pde │ └── sketch.pdez ├── 065.1_binary_tree/ │ ├── P5/ │ │ ├── index.html │ │ ├── node.js │ │ ├── sketch.js │ │ └── tree.js │ └── Processing/ │ ├── CC_065_1_binary_tree/ │ │ ├── CC_065_1_binary_tree.pde │ │ ├── Node.pde │ │ └── Tree.pde │ └── sketch.pdez ├── 065.2_binary_tree_viz/ │ ├── P5/ │ │ ├── index.html │ │ ├── node.js │ │ ├── sketch.js │ │ └── tree.js │ └── Processing/ │ ├── CC_065_2_binary_tree_viz/ │ │ ├── CC_065_2_binary_tree_viz.pde │ │ ├── Node.pde │ │ └── Tree.pde │ └── sketch.pdez ├── 066_timer/ │ └── P5/ │ ├── index.html │ └── sketch.js ├── 067_Pong/ │ ├── P5/ │ │ ├── index.html │ │ ├── paddle.js │ │ ├── puck.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_067_Pong/ │ │ ├── CC_067_Pong.pde │ │ ├── Paddle.pde │ │ └── Puck.pde │ └── sketch.pdez ├── 068_BFS_kevin_bacon/ │ └── P5/ │ ├── graph.js │ ├── index.html │ ├── kevinbacon.json │ ├── node.js │ └── sketch.js ├── 069_steering_evolution/ │ ├── P5/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── vehicle.js │ └── Processing/ │ ├── CC_069_steering_evolution/ │ │ ├── CC_069_steering_evolution.pde │ │ └── Vehicle.pde │ └── sketch.pdez ├── 070.1_similarity_score/ │ └── P5/ │ ├── index.html │ ├── movies.json │ └── sketch.js ├── 070.2_nearest_neighbors/ │ └── P5/ │ ├── index.html │ ├── movies.json │ └── sketch.js ├── 070.3_movie_recommender/ │ └── P5/ │ ├── index.html │ ├── movies.json │ └── sketch.js ├── 071_minesweeper/ │ ├── P5/ │ │ ├── cell.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_071_minesweeper/ │ │ ├── CC_071_minesweeper.pde │ │ └── Cell.pde │ └── sketch.pdez ├── 072_Frogger/ │ ├── P5/ │ │ ├── car.js │ │ ├── frog.js │ │ ├── index.html │ │ ├── log.js │ │ ├── rectangle.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_072_Frogger_original/ │ │ ├── CC_072_Frogger_original.pde │ │ ├── Car.pde │ │ ├── Frog.pde │ │ ├── Log.pde │ │ └── Rectangle.pde │ ├── CC_072_Frogger_refactored/ │ │ ├── CC_072_Frogger_refactored.pde │ │ ├── Frog.pde │ │ ├── Lane.pde │ │ ├── Obstacle.pde │ │ └── Rectangle.pde │ └── sketch.pdez ├── 073_Acrostic/ │ └── P5/ │ ├── index.html │ └── sketch.js ├── 074_Clock/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_074_Clock/ │ │ └── CC_074_Clock.pde │ └── sketch.pdez ├── 075_Wikipedia/ │ └── P5/ │ ├── index.html │ └── sketch.js ├── 076_10PRINT/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_076_10PRINT/ │ │ └── CC_076_10PRINT.pde │ └── sketch.pdez ├── 077_Recursion/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_077_Recursion/ │ │ └── CC_077_Recursion.pde │ └── sketch.pdez ├── 078_Simple_Particle_System/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_078_Simple_Particle_System/ │ │ ├── CC_078_Simple_Particle_System.pde │ │ └── Particle.pde │ └── sketch.pdez ├── 079_Number_Guessing_Chatbot/ │ └── P5/ │ ├── brain.rive │ ├── index.html │ └── sketch.js ├── 080_Voice_Chatbot_with_p5.Speech/ │ └── P5/ │ ├── brain.rive │ ├── index.html │ ├── libraries/ │ │ └── p5.speech.js │ └── sketch.js ├── 081.1_Circle_Morphing_Part_1/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_081_1_Circle_Morphing_Part_1/ │ │ └── CC_081_1_Circle_Morphing_Part_1.pde │ └── sketch.pdez ├── 081.2_Circle_Morphing_Part_2/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_081_2_Circle_Morphing_Part_2/ │ │ └── CC_081_2_Circle_Morphing_Part_2.pde │ └── sketch.pdez ├── 082_Image_Chrome_Extension_The_Ex-Kitten-sion/ │ └── JavaScript/ │ ├── kitten.js │ └── manifest.json ├── 083_Chrome_Extension_with_p5js_Sketch/ │ └── JavaScript/ │ ├── manifest.json │ └── sketch.js ├── 084_Word_Definition_Extension/ │ └── JavaScript/ │ ├── background.js │ ├── content.js │ ├── manifest.json │ └── sketch/ │ ├── index.html │ └── sketch.js ├── 085_The_Game_of_Life/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_085_The_Game_of_Life/ │ │ └── CC_085_The_Game_of_Life.pde │ └── sketch.pdez ├── 086_beesandbombs/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_086_beesandbombs/ │ │ └── CC_086_beesandbombs.pde │ └── sketch.pdez ├── 087_3D_Knots/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_087_3D_Knots/ │ │ └── CC_087_3D_Knots.pde │ └── sketch.pdez ├── 088_snowfall/ │ ├── P5/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── snowflake.js │ └── Processing/ │ ├── CC_088_snowfall/ │ │ ├── CC_088_snowfall.pde │ │ └── snowflake.pde │ └── sketch.pdez ├── 089_langtonsant/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_089_langtonsant/ │ │ └── CC_089_langtonsant.pde │ └── sketch.pdez ├── 090_dithering/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_090_dithering/ │ │ └── CC_090_dithering.pde │ └── sketch.pdez ├── 091_snakesladders/ │ ├── P5/ │ │ ├── index.html │ │ ├── player.js │ │ ├── sketch.js │ │ └── tile.js │ └── Processing/ │ ├── CC_091_snakesladders/ │ │ ├── CC_091_snakesladders.pde │ │ ├── Label.pde │ │ ├── Player.pde │ │ └── Tile.pde │ └── sketch.pdez ├── 092_xor/ │ ├── P5/ │ │ ├── index.html │ │ ├── libraries/ │ │ │ ├── matrix.js │ │ │ └── nn.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_092_xor/ │ │ ├── CC_092_xor.pde │ │ ├── Matrix.java │ │ ├── Neural_Network.pde │ │ └── data.pde │ └── sketch.pdez ├── 093_DoublePendulum/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_093_DoublePendulum/ │ │ └── CC_093_DoublePendulum.pde │ └── sketch.pdez ├── 094_2048/ │ ├── P5/ │ │ ├── config.js │ │ ├── game.js │ │ ├── grid.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_094_2048/ │ │ └── CC_094_2048.pde │ └── sketch.pdez ├── 095_Approximating_Pi/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_095_Approximating_Pi/ │ │ └── CC_095_Approximating_Pi.pde │ └── sketch.pdez ├── 096_Visualizing_the_Digits_of_Pi/ │ ├── P5/ │ │ ├── index.html │ │ ├── pi-1million.txt │ │ └── sketch.js │ └── Processing/ │ ├── CC_096_Visualizing_the_Digits_of_Pi/ │ │ ├── CC_096_Visualizing_the_Digits_of_Pi.pde │ │ └── pi-1million.txt │ └── sketch.pdez ├── 097.1_Book_of_Pi_Part_1/ │ └── Processing/ │ ├── CC_097_1_Book_of_Pi_Part_1/ │ │ ├── CC_097_1_Book_of_Pi_Part_1.pde │ │ ├── pi-10million.txt │ │ └── pi-1million.txt │ └── sketch.pdez ├── 097.2_Book_of_Pi_Part_2/ │ └── Processing/ │ ├── CC_097_2_Book_of_Pi_Part_2/ │ │ ├── CC_097_2_Book_of_Pi_Part_2.pde │ │ ├── pi-1000.txt │ │ ├── pi-10million.txt │ │ └── pi-1million.txt │ └── sketch.pdez ├── 098.1_QuadTree/ │ ├── P5/ │ │ ├── index.html │ │ ├── quadtree.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_098.1_QuadTree/ │ │ ├── CC_098.1_QuadTree.pde │ │ ├── Point.pde │ │ ├── Rectangle.pde │ │ └── quadtree.pde │ └── sketch.pdez ├── 098.3_QuadTree_Collisions/ │ ├── P5/ │ │ ├── index.html │ │ ├── particle.js │ │ ├── quadtree.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_098.3_QuadTree_Collisions/ │ │ ├── CC_098.3_QuadTree_Collisions.pde │ │ ├── Point.pde │ │ ├── Rectangle.pde │ │ └── quadtree.pde │ └── sketch.pdez ├── 099_ColorPredictor/ │ └── P5/ │ ├── index.html │ ├── lib/ │ │ ├── matrix.js │ │ └── nn.js │ └── sketch.js ├── 100.1_NeuroEvolution_FlappyBird/ │ ├── P5/ │ │ ├── bird.js │ │ ├── ga.js │ │ ├── index.html │ │ ├── neuralnetwork/ │ │ │ ├── matrix.js │ │ │ └── nn.js │ │ ├── pipe.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_100_1_NeuroEvolution_FlappyBird/ │ │ ├── CC_100_1_NeuroEvolution_FlappyBird.pde │ │ ├── GA.pde │ │ ├── Matrix.java │ │ ├── Neural_Network.pde │ │ ├── bird.pde │ │ └── pipe.pde │ └── sketch.pdez ├── 100.5_NeuroEvolution_FlappyBird/ │ └── P5/ │ ├── bad_bird.json │ ├── best_bird.json │ ├── bird.js │ ├── index.html │ ├── neuralnetwork/ │ │ ├── matrix.js │ │ └── nn.js │ ├── pipe.js │ └── sketch.js ├── 101_MayThe4th/ │ ├── P5/ │ │ ├── AvenirNextLTPro-Demi.otf │ │ ├── index.html │ │ ├── sketch.js │ │ └── space.txt │ └── Processing/ │ ├── CC_101_MayThe4th/ │ │ ├── CC_101_MayThe4th.pde │ │ └── data/ │ │ └── space.txt │ └── sketch.pdez ├── 102_WaterRipples/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_102_WaterRipples/ │ │ └── CC_102_WaterRipples.pde │ └── sketch.pdez ├── 103_Flames/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_103_Flames/ │ │ └── CC_103_Flames.pde │ └── sketch.pdez ├── 104_tf_linear_regression/ │ └── P5/ │ ├── index.html │ └── sketch.js ├── 105_tf_polynomial_regression/ │ └── P5/ │ ├── index.html │ └── sketch.js ├── 106_xor_tfjs/ │ └── P5/ │ ├── index.html │ └── sketch.js ├── 107_sandpiles/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_107_sandpiles/ │ │ └── CC_107_sandpiles.pde │ └── sketch.pdez ├── 108_barnsley_fern/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_108_barnsley_fern/ │ │ └── CC_108_barnsley_fern.pde │ └── sketch.pdez ├── 109_subscriber_map/ │ └── P5/ │ ├── countries.json │ ├── index.html │ ├── sketch.js │ └── subscribers_geo.csv ├── 110.1_recaman/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_110_recaman/ │ │ ├── Arc.pde │ │ └── CC_110_recaman.pde │ └── sketch.pdez ├── 110.2_recaman_music/ │ └── P5/ │ ├── index.html │ └── sketch.js ├── 111_animated_sprite/ │ ├── P5/ │ │ ├── horse/ │ │ │ └── horse.json │ │ ├── index.html │ │ ├── sketch.js │ │ └── sprite.js │ └── Processing/ │ ├── CC_111_animated_sprite/ │ │ ├── CC_111_animated_sprite.pde │ │ ├── horse/ │ │ │ └── horse.json │ │ └── sprite.pde │ └── sketch.pdez ├── 112_3D_Rendering/ │ ├── P5/ │ │ ├── index.html │ │ ├── matrix.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_112_3D_Rendering/ │ │ ├── CC_112_3D_Rendering.pde │ │ └── matrix.pde │ └── sketch.pdez ├── 113_Hypercube/ │ ├── P5/ │ │ ├── P4Vector.js │ │ ├── index.html │ │ ├── matrix.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_113_Hypercube/ │ │ ├── CC_113_Hypercube.pde │ │ ├── P4Vector.pde │ │ └── matrix.pde │ └── sketch.pdez ├── 114_BubbleSortViz/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_114_BubbleSortViz/ │ │ └── CC_114_BubbleSortViz.pde │ └── sketch.pdez ├── 115_Snake_Game_Redux/ │ ├── P5/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── snake.js │ └── Processing/ │ ├── Snake_Game_Redux/ │ │ ├── Snake_Game_Redux.pde │ │ └── snake.pde │ └── sketch.pdez ├── 116_Lissajous/ │ ├── P5/ │ │ ├── curve.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_116_Lissajous/ │ │ ├── CC_116_Lissajous.pde │ │ └── Curve.pde │ └── sketch.pdez ├── 117_SevenSegmentDisplay/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_117_SevenSegmentDisplay/ │ │ └── CC_117_SevenSegmentDisplay.pde │ └── sketch.pdez ├── 118_Mastodon_TreeBot/ │ └── Node/ │ ├── .env-sample │ ├── .gitignore │ ├── bot.js │ ├── package.json │ └── treegen/ │ └── treegen.pde ├── 119_Binary_to_Decimal_Conversion/ │ ├── P5/ │ │ ├── bit.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_119_Binary_to_Decimal_Conversion/ │ │ ├── CC_119_Binary_to_Decimal_Conversion.pde │ │ └── bit.pde │ └── sketch.pdez ├── 120_Bit_Shifting/ │ ├── P5/ │ │ ├── bit.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_120_Bit_Shifting/ │ │ ├── Button.pde │ │ ├── CC_120_Bit_Shifting.pde │ │ ├── Label.pde │ │ └── bit.pde │ └── sketch.pdez ├── 121_Logo_1/ │ ├── P5/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── turtle.js │ └── Processing/ │ ├── CC_121_Logo_1/ │ │ ├── CC_121_Logo_1.pde │ │ ├── Turtle.pde │ │ └── code.txt │ └── sketch.pdez ├── 121_Logo_2/ │ ├── P5/ │ │ ├── command.js │ │ ├── index.html │ │ ├── parser.js │ │ ├── sketch.js │ │ └── turtle.js │ └── Processing/ │ ├── CC_121_Logo_2/ │ │ ├── CC_121_Logo_2.pde │ │ ├── Command.pde │ │ ├── Parser.pde │ │ ├── Turtle.pde │ │ └── code.txt │ └── sketch.pdez ├── 122_QuickDraw_1/ │ └── Node/ │ ├── package.json │ ├── public/ │ │ ├── index.html │ │ └── sketch.js │ └── server.js ├── 122_QuickDraw_2/ │ └── P5/ │ ├── index.html │ └── sketch.js ├── 123_ChaosGame_1/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_123_ChaosGame_1/ │ │ └── CC_123_ChaosGame_1.pde │ └── sketch.pdez ├── 123_ChaosGame_2/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_123_ChaosGame_2/ │ │ └── CC_123_ChaosGame_2.pde │ └── sketch.pdez ├── 124_Flocking_Boids/ │ ├── P5/ │ │ ├── boid.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC124_Flocking_Boids/ │ │ ├── CC124_Flocking_Boids.pde │ │ └── boid.pde │ └── sketch.pdez ├── 125_Fourier_Series/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_125_Fourier_Series/ │ │ └── CC_125_Fourier_Series.pde │ └── sketch.pdez ├── 126_Toothpicks/ │ ├── P5/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── toothpick.js │ └── Processing/ │ ├── sketch.pdez │ └── toothpicks/ │ ├── Toothpick.pde │ └── toothpicks.pde ├── 127_Snowflake_Brownian/ │ ├── P5/ │ │ ├── index.html │ │ ├── particle.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_127_Snowflake_Brownian/ │ │ ├── CC_127_Snowflake_Brownian.pde │ │ └── Particle.pde │ └── sketch.pdez ├── 128_SketchRNN_Snowflakes/ │ └── P5/ │ ├── index.html │ └── sketch.js ├── 129_Koch_Snowflake/ │ ├── P5/ │ │ ├── index.html │ │ ├── segment.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_129_Koch_Snowflake/ │ │ ├── CC_129_Koch_Snowflake.pde │ │ └── Segment.pde │ └── sketch.pdez ├── 130_Fourier_Transform_1/ │ ├── P5/ │ │ ├── codingtrain.js │ │ ├── fourier.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_130_Fourier_Transform/ │ │ ├── CC_130_Fourier_Transform.pde │ │ ├── DFT.pde │ │ ├── train.json │ │ └── wave.pde │ └── sketch.pdez ├── 130_Fourier_Transform_2/ │ └── P5/ │ ├── fourier.js │ ├── index.html │ └── sketch.js ├── 130_Fourier_Transform_3/ │ ├── P5/ │ │ ├── codingtrain.js │ │ ├── fourier.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_130_Fourier_Transform/ │ │ ├── CC_130_Fourier_Transform.pde │ │ ├── Complex_Number.pde │ │ └── DFT.pde │ └── sketch.pdez ├── 131_BouncingDVDLogo/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_131_BouncingDVDLogo/ │ │ └── CC_131_BouncingDVDLogo.pde │ └── sketch.pdez ├── 132_FluidSimulation/ │ ├── P5/ │ │ ├── fluid.js │ │ ├── fluid_utils.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_132_FluidSimulation/ │ │ ├── CC_132_FluidSimulation.pde │ │ ├── Fluid.pde │ │ └── MoreFluid.pde │ └── sketch.pdez ├── 133_Times_Tables_Cardioid/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_133_TimesTablesCardioid/ │ │ └── CC_133_TimesTablesCardioid.pde │ └── sketch.pdez ├── 134_Heart_Curve_1/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_134_Heart_Curve_1/ │ │ └── CC_134_Heart_Curve_1.pde │ └── sketch.pdez ├── 134_Heart_Curve_2/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_134_Heart_Curve_2/ │ │ └── CC_134_Heart_Curve_2.pde │ └── sketch.pdez ├── 135_GIF_Loop/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_135_GIF_Loop/ │ │ └── CC_135_GIF_Loop.pde │ └── sketch.pdez ├── 136_Polar_Noise_Loop_1/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_136_Polar_Noise_Loop_1/ │ │ └── CC_136_Polar_Noise_Loop_1.pde │ └── sketch.pdez ├── 136_Polar_Noise_Loop_2/ │ ├── P5/ │ │ ├── index.html │ │ ├── noiseLoop.js │ │ ├── particle.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_136_Polar_Noise_Loop_2/ │ │ ├── CC_136_Polar_Noise_Loop_2.pde │ │ ├── NoiseLoop.pde │ │ └── Particle.pde │ └── sketch.pdez ├── 137_4D_Noise_Loop/ │ ├── P5/ │ │ ├── OpenSimplexNoise.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_137_4D_Noise_Loop/ │ │ ├── CC_137_4D_Noise_Loop.pde │ │ └── OpenSimplexNoise.java │ └── sketch.pdez ├── 138_Angry_Birds/ │ └── P5/ │ ├── bird.js │ ├── box.js │ ├── ground.js │ ├── index.html │ ├── sketch.js │ └── slingshot.js ├── 139_Pi_Collisions/ │ └── P5/ │ ├── block.js │ ├── index.html │ └── sketch.js ├── 140_Pi_Leibniz/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_140_Pi_Leibniz/ │ │ └── CC_140_Pi_Leibniz.pde │ └── sketch.pdez ├── 141_Mandelbrot_Pi/ │ └── Processing/ │ ├── CC_141_Mandelbrot_Pi/ │ │ └── CC_141_Mandelbrot_Pi.pde │ └── sketch.pdez ├── 142_Rubiks_Cube_1/ │ ├── P5/ │ │ ├── Cubie.js │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_142_Rubiks_Cube_1/ │ │ ├── CC_142_Rubiks_Cube_1.pde │ │ └── Cubie.pde │ └── sketch.pdez ├── 142_Rubiks_Cube_2/ │ └── Processing/ │ ├── CC_142_Rubiks_Cube_2/ │ │ ├── CC_142_Rubiks_Cube_2.pde │ │ ├── Cubie.pde │ │ ├── Face.pde │ │ └── controls.pde │ └── sketch.pdez ├── 142_Rubiks_Cube_3/ │ └── Processing/ │ ├── CC_142_Rubiks_Cube_3/ │ │ ├── CC_142_Rubiks_Cube_3.pde │ │ ├── Cubie.pde │ │ ├── Face.pde │ │ ├── Move.pde │ │ ├── controls.pde │ │ └── turns.pde │ └── sketch.pdez ├── 143_QuickSort/ │ └── P5/ │ ├── index.html │ └── sketch.js ├── 144_Black_Hole_Newtonian/ │ ├── P5/ │ │ ├── blackhole.js │ │ ├── index.html │ │ ├── photon.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_114_Black_Hole_Newtonian/ │ │ ├── CC_114_Black_Hole_Newtonian.pde │ │ ├── blackhole.pde │ │ └── photon.pde │ └── sketch.pdez ├── 145_Ray_Casting/ │ ├── P5/ │ │ ├── boundary.js │ │ ├── index.html │ │ ├── particle.js │ │ ├── ray.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_145_Ray_Casting/ │ │ ├── CC_145_Ray_Casting.pde │ │ ├── boundary.pde │ │ ├── particle.pde │ │ └── ray.pde │ └── sketch.pdez ├── 146_Rendering_Ray_Casting/ │ ├── P5/ │ │ ├── boundary.js │ │ ├── index.html │ │ ├── particle.js │ │ ├── ray.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_146_Rendering_Ray_Casting/ │ │ ├── Boundary.pde │ │ ├── CC_146_Rendering_Ray_Casting.pde │ │ ├── Particle.pde │ │ └── Ray.pde │ └── sketch.pdez ├── 147_Chrome_Dinosaur_Game/ │ ├── P5/ │ │ ├── index.html │ │ ├── sketch.js │ │ ├── train.js │ │ └── unicorn.js │ └── Processing/ │ ├── CC_147_Chrome_Dinosaur_Game/ │ │ ├── CC_147_Chrome_Dinosaur_Game.pde │ │ ├── train.pde │ │ └── unicorn.pde │ └── sketch.pdez ├── 148_Gift_Wrapping/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_148_Gift_Wrapping/ │ │ ├── CC_148_Gift_Wrapping.pde │ │ └── sorting.pde │ └── sketch.pdez ├── 149_Tic_Tac_Toe/ │ ├── P5/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── style.css │ └── Processing/ │ ├── CC_149_Tic_Tac_Toe/ │ │ └── CC_149_Tic_Tac_Toe.pde │ └── sketch.pdez ├── 150_Ai_Rainbows_Runway/ │ └── P5/ │ ├── index.html │ ├── sketch.js │ └── style.css ├── 151_Ukulele_Tuner/ │ └── P5/ │ ├── index.html │ ├── sketch.js │ └── style.css ├── 152_RDP_Algorithm/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_152_RDP/ │ │ └── CC_152_RDP.pde │ └── sketch.pdez ├── 153_Interactive_SketchRRN/ │ └── P5/ │ ├── index.html │ ├── rdp.js │ └── sketch.js ├── 154_Tic_Tac_Toe_Minimax/ │ ├── P5/ │ │ ├── index.html │ │ ├── minimax.js │ │ └── sketch.js │ └── Processing/ │ ├── CC_154_Tic_Tac_Toe_Minimax/ │ │ ├── CC_154_Tic_Tac_Toe_Minimax.pde │ │ └── Minimax.pde │ └── sketch.pdez ├── 155_Kaleidoscope_Snowflake/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ └── Processing/ │ ├── CC_155_Kaleidoscope_Snowflake/ │ │ └── CC_155_Kaleidoscope_Snowflake.pde │ └── sketch.pdez ├── 156_Pi_Digits/ │ ├── Node/ │ │ ├── index.js │ │ ├── package.json │ │ ├── pi-million.txt │ │ └── public/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── style.css │ └── P5/ │ ├── index.html │ ├── pi-million.txt │ ├── sketch.js │ └── style.css ├── 157_Zoom_Annotations/ │ ├── 1-basic/ │ │ ├── index.html │ │ └── sketch.js │ └── 2-final/ │ ├── index.html │ └── sketch.js ├── 158_Shape_Classifier/ │ ├── dataset/ │ │ └── generate_dataset_shape_classifier/ │ │ └── generate_dataset_shape_classifier.pde │ ├── dataset-p5/ │ │ ├── index.html │ │ └── sketch.js │ ├── mouse/ │ │ ├── index.html │ │ ├── model/ │ │ │ ├── model.json │ │ │ └── model_meta.json │ │ └── sketch.js │ ├── training/ │ │ ├── index.html │ │ ├── model/ │ │ │ ├── model.json │ │ │ └── model_meta.json │ │ └── sketch.js │ └── webcam/ │ ├── index.html │ ├── model/ │ │ ├── model.json │ │ └── model_meta.json │ └── sketch.js ├── 159_simple_pendulum_simulation/ │ ├── P5/ │ │ ├── index.html │ │ └── sketch.js │ ├── Processing/ │ │ ├── cc_159_simple_pendulum_simulation/ │ │ │ └── cc_159_simple_pendulum_simulation.pde │ │ └── sketch.pdez │ ├── array-of-pendulums/ │ │ ├── index.html │ │ ├── pendulum.js │ │ ├── sketch.js │ │ └── style.css │ └── pendulum-oop/ │ ├── index.html │ ├── pendulum.js │ ├── sketch.js │ └── style.css ├── 160_spring_forces/ │ ├── simple-spring/ │ │ ├── index.html │ │ └── sketch.js │ ├── simple-spring-port/ │ │ └── cc160_simple_spring_port/ │ │ └── cc160_simple_spring_port.pde │ ├── soft-spring/ │ │ ├── index.html │ │ ├── particle.js │ │ ├── sketch.js │ │ └── spring.js │ ├── soft-spring-port/ │ │ └── cc160_soft_spring_port/ │ │ ├── Particle.pde │ │ ├── Spring.pde │ │ └── cc160_soft_spring_port.pde │ ├── spring-oop/ │ │ ├── index.html │ │ ├── particle.js │ │ ├── sketch.js │ │ └── spring.js │ ├── spring-oop-port/ │ │ └── cc160_spring_oop_port/ │ │ ├── Particle.pde │ │ ├── Spring.pde │ │ └── cc160_spring_oop_port.pde │ ├── spring-vector/ │ │ ├── index.html │ │ └── sketch.js │ └── spring-vector-port/ │ └── cc160_spring_vector_port/ │ └── cc160_spring_vector_port.pde ├── 161_pi_from_random/ │ ├── from-pi/ │ │ ├── index.html │ │ ├── pi1000000.txt │ │ └── sketch.js │ └── from-random/ │ ├── index.html │ ├── milliondigits.txt │ └── sketch.js ├── 162_self_avoiding_walk/ │ ├── 3d/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── spot.js │ ├── alpha-random-walk/ │ │ ├── index.html │ │ └── sketch.js │ ├── backtracking/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── spot.js │ ├── basic/ │ │ ├── index.html │ │ └── sketch.js │ ├── bezier/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── spot.js │ └── recursion/ │ ├── index.html │ └── sketch.js ├── 163_Bezier/ │ ├── basic-bezier/ │ │ ├── index.html │ │ └── sketch.js │ ├── bezier-editor/ │ │ ├── index.html │ │ └── sketch.js │ ├── bezier-formula/ │ │ ├── index.html │ │ ├── particle.js │ │ └── sketch.js │ ├── bezier-vertex/ │ │ ├── index.html │ │ └── sketch.js │ ├── cardioid-bezier/ │ │ ├── index.html │ │ └── sketch.js │ ├── cubic/ │ │ ├── index.html │ │ ├── particle.js │ │ └── sketch.js │ └── quadratic/ │ ├── index.html │ └── sketch.js ├── 164_Slitscan/ │ └── Processing/ │ ├── CC_164_Time_Slitscan/ │ │ └── CC_164_Time_Slitscan.pde │ ├── CC_164_Time_Slitscan_Horizontal/ │ │ └── CC_164_Time_Slitscan_Horizontal.pde │ ├── CC_164_Time_Slitscan_Radial/ │ │ └── CC_164_Time_Slitscan_Radial.pde │ ├── Continuous_Slitscan/ │ │ └── Continuous_Slitscan.pde │ ├── Image_Slices/ │ │ └── Image_Slices.pde │ ├── Image_Slices_Wave/ │ │ └── Image_Slices_Wave.pde │ ├── Radial_Slitscan/ │ │ └── Radial_Slitscan.pde │ ├── Time_Grid/ │ │ └── Time_Grid.pde │ └── sketch.pdez ├── 165_Slide_Puzzle/ │ ├── slide-puzzle-canvas/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── tile.js │ ├── slide-puzzle-image/ │ │ ├── index.html │ │ ├── sketch.js │ │ └── tile.js │ └── slide-puzzle-video/ │ ├── index.html │ ├── sketch.js │ └── tile.js ├── 166_Ascii_Image/ │ ├── ascii-image-canvas/ │ │ ├── index.html │ │ ├── p5.js │ │ ├── sketch.js │ │ └── style.css │ ├── ascii-image-dom/ │ │ ├── index.html │ │ ├── p5.js │ │ ├── sketch.js │ │ └── style.css │ ├── ascii-text/ │ │ ├── gloria.txt │ │ ├── index.html │ │ ├── p5.js │ │ ├── sketch.js │ │ └── style.css │ ├── ascii-video/ │ │ ├── index.html │ │ ├── p5.js │ │ ├── sketch.js │ │ └── style.css │ └── ascii-weather-api/ │ ├── gloria.txt │ ├── index.html │ ├── p5.js │ ├── sketch.js │ └── style.css ├── 167_Prime_Spiral/ │ ├── P5/ │ │ ├── number-spiral/ │ │ │ ├── index.html │ │ │ └── sketch.js │ │ ├── prime-random/ │ │ │ ├── index.html │ │ │ └── sketch.js │ │ ├── prime-spiral/ │ │ │ ├── index.html │ │ │ └── sketch.js │ │ ├── shapes-color/ │ │ │ ├── index.html │ │ │ └── sketch.js │ │ └── spiral-3d/ │ │ ├── index.html │ │ └── sketch.js │ ├── Processing/ │ │ ├── number_spiral/ │ │ │ └── number_spiral.pde │ │ ├── prime_random/ │ │ │ ├── Spiral.pde │ │ │ └── prime_random.pde │ │ ├── prime_spiral/ │ │ │ └── prime_spiral.pde │ │ ├── shapes_color/ │ │ │ └── shapes_color.pde │ │ ├── sketch.pdez │ │ └── spiral_3d/ │ │ ├── Spot.pde │ │ └── spiral_3d.pde │ └── README.md ├── 168_Mandelbulb/ │ └── Processing/ │ ├── MandelBulb_Cloud/ │ │ ├── MandelBulb_Cloud.pde │ │ └── mandelbulb.txt │ ├── MandelBulb_Color/ │ │ ├── MandelBulb_Color.pde │ │ └── mandelbulb.txt │ ├── MandelBulb_Shape/ │ │ ├── MandelBulb_Shape.pde │ │ └── mandelbulb.txt │ ├── RayMarching_SDF/ │ │ └── RayMarching_SDF.pde │ ├── Voxels/ │ │ └── Voxels.pde │ └── sketch.pdez ├── 169_Pi_Day/ │ ├── Processing/ │ │ ├── Pie.pde │ │ ├── Pie_in_the_Sky.pde │ │ ├── Plate.pde │ │ └── one-million.txt │ └── p5/ │ ├── index.html │ ├── one-million.txt │ ├── pie.js │ ├── plate.js │ └── sketch.js ├── LICENSE ├── README.md └── zip_to_pdez.sh