{"id":352,"date":"2011-11-30T21:34:20","date_gmt":"2011-12-01T05:34:20","guid":{"rendered":"http:\/\/new.joyofprocessing.com\/blog\/?p=352"},"modified":"2015-11-04T13:08:16","modified_gmt":"2015-11-04T21:08:16","slug":"stipple-cam","status":"publish","type":"post","link":"https:\/\/joyofprocessing.com\/blog\/2011\/11\/stipple-cam\/","title":{"rendered":"Stipple Cam"},"content":{"rendered":"<p>I&#8217;ve been playing with stipple rendering, borrowing some ideas from <a href=\"http:\/\/mrl.nyu.edu\/~ajsecord\/stipples.html\">Adrian Secord<\/a>.  Here&#8217;s a still photo I processed with the technique, which resembles stipple portraiture.<\/p>\n<p>\n<img decoding=\"async\" src=\"\/img\/jbum_stipple.png\" \/><\/p>\n<p>\nI noticed, when reading Adrian&#8217;s <a href=\"http:\/\/mrl.nyu.edu\/~ajsecord\/npar2002\/npar2002_ajsecord_preprint.pdf\">very cool paper<\/a>, that the Centroidal Voronoi diagrams he describes produce essentially the same pattern as the <a href=\"http:\/\/openprocessing.org\/visuals\/?visualID=1256\">repulsion field algorithm<\/a> I created a few years ago for my Coverpop website.  While the patterns are essentially identical (producing a kind of blue noise), my algorithm is more efficient since it doesn&#8217;t need to do k-means clustering on every pixel.  <\/p>\n<p>\nMy algorithm is a bit more like the avoidance part of <a href=\"http:\/\/www.red3d.com\/cwr\/boids\/\">Craig Reynold&#8217;s flocking algorithm<\/a> &#8212; it just operates on the centroids, which repel each other.  I thought it might be suitable for using with a live webcam feed.  <\/p>\n<p>\nThis is my first test with a webcam.  The video is running at a faster frame rate than I&#8217;m actually able to achieve on my laptop, but I think I should be able to crank it up a bit with some work.<\/p>\n<p>\n<iframe loading=\"lazy\" width=\"500\" height=\"375\" src=\"http:\/\/www.youtube.com\/embed\/4ODg6WuBK20\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>\nHere&#8217;s a second test, this time using bigger pixels, and scissors.<\/p>\n<p>\n<iframe loading=\"lazy\" width=\"500\" height=\"375\" src=\"http:\/\/www.youtube.com\/embed\/e5Eg9ppF8qE\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>\n<a href=\"\/stipple_cam.zip\">Download the sketch (video version)<\/a><br \/>\n<a href=\"\/image_stipple.zip\">Download the sketch (still image version)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been playing with stipple rendering, borrowing some ideas from Adrian Secord. Here&#8217;s a still photo I processed with the technique, which resembles stipple portraiture. I noticed, when reading Adrian&#8217;s very cool paper, that the Centroidal Voronoi diagrams he describes produce essentially the same pattern as the repulsion field algorithm I created a few years [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[21,28,27,29],"class_list":["post-352","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-advanced","tag-cam","tag-stipple","tag-voronoi"],"_links":{"self":[{"href":"https:\/\/joyofprocessing.com\/blog\/wp-json\/wp\/v2\/posts\/352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/joyofprocessing.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/joyofprocessing.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/joyofprocessing.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/joyofprocessing.com\/blog\/wp-json\/wp\/v2\/comments?post=352"}],"version-history":[{"count":9,"href":"https:\/\/joyofprocessing.com\/blog\/wp-json\/wp\/v2\/posts\/352\/revisions"}],"predecessor-version":[{"id":533,"href":"https:\/\/joyofprocessing.com\/blog\/wp-json\/wp\/v2\/posts\/352\/revisions\/533"}],"wp:attachment":[{"href":"https:\/\/joyofprocessing.com\/blog\/wp-json\/wp\/v2\/media?parent=352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/joyofprocessing.com\/blog\/wp-json\/wp\/v2\/categories?post=352"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/joyofprocessing.com\/blog\/wp-json\/wp\/v2\/tags?post=352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}