{ "title": "Koch Fractal Snowflake", "description": "Snowflake Challenge #3! In this video, I draw the Koch Fractal Curve in Processing (Java).", "videoNumber": "129", "videoId": "X8bXDKqMsXE", "date": "2018-12-30", "languages": ["Processing"], "topics": ["Koch snowflake", "fractal"], "canContribute": true, "relatedChallenges": [ "2-menger-sponge", "14-fractal-trees-recursive", "21-mandelbrot-set-with-p5js", "123-chaos-game", "126-toothpicks", "174-graphics-applesoft-basic" ], "timestamps": [ { "time": "0:00", "title": "Introducing today's topic" }, { "time": "0:36", "title": "Koch curve algorithm" }, { "time": "2:20", "title": "Create a Segment class" }, { "time": "4:40", "title": "Add an array list of segments" }, { "time": "5:10", "title": "Draw the segments" }, { "time": "8:24", "title": "Divide segment by 3" }, { "time": "10:16", "title": "Rotate to get the \"hat\"" }, { "time": "12:50", "title": "Write a function to add the children to the segments" }, { "time": "14:18", "title": "Use mousePressed() to get a new generation of segments" }, { "time": "16:00", "title": "Why is the Koch curve called the \"Monster Curve\"?" }, { "time": "19:11", "title": "Add a triangle" }, { "time": "20:59", "title": "Conclusion and creative possibilities" }, { "time": "21:47", "title": "Bonus addendum: use height of equilateral triangle to find 3rd point" } ], "codeExamples": [ { "title": "Koch Snowflake", "description": "This sketch visalizes the Koch snowflake.", "urls": { "p5": "https://editor.p5js.org/codingtrain/sketches/SJHcVCAgN", "processing": "https://github.com/CodingTrain/Coding-Challenges/tree/main/129_Koch_Snowflake/Processing" } } ], "groupLinks": [ { "title": "References", "links": [ { "icon": "💰", "title": "Support the Processing Foundation", "url": "https://processingfoundation.org/donate", "description": "Support the Processing Foundation." }, { "icon": "🗄", "title": "Koch Snowflake", "url": "https://en.wikipedia.org/wiki/Koch_snowflake", "description": "Discussion of Koch snowflake." } ] }, { "title": "Videos", "links": [ { "icon": "🎥", "title": "Vectors", "url": "/tracks/the-nature-of-code-2/noc/1-vectors/1-what-is-a-vector", "description": "What is a vector? How do they work in p5.js?" }, { "icon": "🔴", "title": "Coding Train Live Holiday Telethon 2018", "url": "https://youtu.be/WACLmPBxMaw?t=11469s", "description": "In this fundraiser, I sing holiday songs and do three snowflake coding challenges." } ] } ], "credits": [ { "title": "Editing", "name": "Mathieu Blanchette" }, { "title": "Animations", "name": "Jason Heglund" } ] }