MENU

Fun & Interesting

Coding Challenge 181: Weighted Voronoi Stippling

The Coding Train 188,239 1 year ago
Video Not Working? Fix It Now

Stippling is an artistic technique that uses numerous dots to craft an image. In this coding challenge I attempt to implement a weighted Voronoi stippling algorithm with p5.js along with the Delaunay triangulation package from d3.js. Code: https://thecodingtrain.com/challenges/181-image-stippling ? Watch this video ad-free on Nebula https://nebula.tv/videos/codingtrain-coding-challenge-181-weighted-voronoi-stippling p5.js Web Editor Sketches: ?️ Weighted Voronoi Stippling: https://editor.p5js.org/codingtrain/sketches/Z_YV25_4G ?️ Circumcircle: https://editor.p5js.org/codingtrain/sketches/eJnSI84Tw ?️ Delaunay Triangulation: https://editor.p5js.org/codingtrain/sketches/fuQz_-FnA ?️ Voronoi Diagram: https://editor.p5js.org/codingtrain/sketches/GpeT1W8X1 ?️ Voronoi Phyllotaxis: https://editor.p5js.org/codingtrain/sketches/ydiZeUK8R ?️ Voronoi Diagram colored by area: https://editor.p5js.org/codingtrain/sketches/opmU_UQqg ?️ Lloyd's relaxation: https://editor.p5js.org/codingtrain/sketches/04sgsAcNu ?️ Weighted Stippling - Size and Color: https://editor.p5js.org/codingtrain/sketches/_HTZUBPld ?️ Weighted Stippling - Abstract Pattern: https://editor.p5js.org/codingtrain/sketches/9ntWWLXqA ?️ Weighted Stippling - Video: https://editor.p5js.org/codingtrain/sketches/7TKSgi16z ? Previous: https://youtu.be/L4u7Zy_b868?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH ? All: https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH References: ? d3-delaunay: https://d3js.org/d3-delaunay ? Weighted Voronoi Stippling: https://www.cs.ubc.ca/labs/imager/tr/2002/secord2002b/secord.2002b.pdf ? Sweep Line Algorithm: https://en.wikipedia.org/wiki/Sweep_line_algorithm ? Lloyd's algorithm: https://en.wikipedia.org/wiki/Lloyd%27s_algorithm ? Polygons and meshes by Paul Bourke: https://paulbourke.net/geometry/polygonmesh/ ? Pablo Jurado Ruiz: https://www.instagram.com/pablojuradoruiz/ ? Stippling: https://en.wikipedia.org/wiki/Stippling ? Voronoi Diagram: https://en.wikipedia.org/wiki/Voronoi_diagram ? Delaunay Triangulation: https://en.wikipedia.org/wiki/Delaunay_triangulation ? Mike Bostock's Voronoi Stippling: https://observablehq.com/@mbostock/voronoi-stippling Videos: ? Pixel Array: https://youtu.be/nMUMZ5YRxHI Related Coding Challenges: ? C4 Worley Noise: https://youtu.be/4066MndcyCk ? 33 Poisson-disc Sampling: https://youtu.be/flQgnCUxHlw Timestamps: 0:00 Hello! 0:37 What is a Delaunay triangulation? 2:31 d3-delaunay package 2:49 Coding the delaunay triangulation. 6:38 What is a Voronoi diagram? 9:17 voronoi function on the delaunay object 10:25 Things you could try with the Voronoi diagram 10:56 Lloyd's "relaxation" algorithm 12:07 Calculate the average of a polygon's vertices 15:30 Calculate the area of a polygon 16:45 Calculate the proper centroid of a polygon 18:47 What is stippling? 19:45 Draw dots based on brightness value of pixel 21:50 Calculate a weighted centroid 24:51 Using delaunay.find() 27:52 Ideas for you to try! 28:47 Goodbye! Editing by Mathieu Blanchette Animations by Jason Heglund Music from Epidemic Sound ? Website: https://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://thecodingtrain.com/discord ? 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 #delaunaytriangulation #imagestippling #voronoi #sweepalgorithm #lloydsalgorithm #p5js #javascript

Comment