{"id":771,"date":"2021-09-15T03:03:18","date_gmt":"2021-09-15T07:03:18","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/?page_id=771"},"modified":"2021-09-15T20:48:43","modified_gmt":"2021-09-16T00:48:43","slug":"09-15-hatch","status":"publish","type":"page","link":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/daily-notes\/09-15-hatch\/","title":{"rendered":"09-15 Hatch"},"content":{"rendered":"<h3>Agenda<\/h3>\n<ul>\n<li><em>Class visitor announcement:<\/em> <a href=\"http:\/\/iskraovelitchkova.com\/\">Iskra Velitchkova<\/a> on 9\/27; <a href=\"http:\/\/eyesofpanda.com\/main\/\">Licia He<\/a> on 9\/29.<\/li>\n<li>1:30-2:00pm: Plot your line exercises G &amp; H; magnet-pin them to the whiteboards.<\/li>\n<li>2:00-2:30pm: Visit from Lenore Edman, creator of the AxiDraw<\/li>\n<li>2:30-3:00pm: Discussion of exercises on the whiteboards + projection<\/li>\n<li>3:00-3:15pm: <em>Break<\/em><\/li>\n<li>3:15-3:30pm: Hatching exercise<\/li>\n<li>3:30-3:45pm: Hatching and dithering algorithms, discussion.<\/li>\n<li>3:45-4:30pm: Work session.<\/li>\n<\/ul>\n<hr \/>\n<h3>Hatching<\/h3>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/06f4661e79701df6456cc708b7adb5b7.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-large wp-image-834\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/06f4661e79701df6456cc708b7adb5b7-1024x723.jpg\" alt=\"\" width=\"840\" height=\"593\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/06f4661e79701df6456cc708b7adb5b7-1024x723.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/06f4661e79701df6456cc708b7adb5b7-640x452.jpg 640w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/06f4661e79701df6456cc708b7adb5b7-768x542.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/06f4661e79701df6456cc708b7adb5b7.jpg 1200w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/95657887-16-seamless-pattern-of-ink-hand-drawn-linear-hatching-and-crosshatching-textures-vector-illustration.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"size-large wp-image-835\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/95657887-16-seamless-pattern-of-ink-hand-drawn-linear-hatching-and-crosshatching-textures-vector-illustration-1024x1024.jpg\" alt=\"\" width=\"840\" height=\"840\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/95657887-16-seamless-pattern-of-ink-hand-drawn-linear-hatching-and-crosshatching-textures-vector-illustration-1024x1024.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/95657887-16-seamless-pattern-of-ink-hand-drawn-linear-hatching-and-crosshatching-textures-vector-illustration-480x480.jpg 480w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/95657887-16-seamless-pattern-of-ink-hand-drawn-linear-hatching-and-crosshatching-textures-vector-illustration-150x150.jpg 150w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/95657887-16-seamless-pattern-of-ink-hand-drawn-linear-hatching-and-crosshatching-textures-vector-illustration-768x769.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/95657887-16-seamless-pattern-of-ink-hand-drawn-linear-hatching-and-crosshatching-textures-vector-illustration-1200x1201.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/95657887-16-seamless-pattern-of-ink-hand-drawn-linear-hatching-and-crosshatching-textures-vector-illustration.jpg 1299w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/138506586-sketch-hatching-patterns-abstract-hand-drawn-vector-backgrounds-linear-pencil-sketch-and-doodle-patt.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"size-large wp-image-836\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/138506586-sketch-hatching-patterns-abstract-hand-drawn-vector-backgrounds-linear-pencil-sketch-and-doodle-patt-1024x682.jpg\" alt=\"\" width=\"840\" height=\"559\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/138506586-sketch-hatching-patterns-abstract-hand-drawn-vector-backgrounds-linear-pencil-sketch-and-doodle-patt-1024x682.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/138506586-sketch-hatching-patterns-abstract-hand-drawn-vector-backgrounds-linear-pencil-sketch-and-doodle-patt-640x426.jpg 640w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/138506586-sketch-hatching-patterns-abstract-hand-drawn-vector-backgrounds-linear-pencil-sketch-and-doodle-patt-768x512.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/138506586-sketch-hatching-patterns-abstract-hand-drawn-vector-backgrounds-linear-pencil-sketch-and-doodle-patt-1200x799.jpg 1200w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/138506586-sketch-hatching-patterns-abstract-hand-drawn-vector-backgrounds-linear-pencil-sketch-and-doodle-patt.jpg 1300w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-838\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/9a227bec3431561bf29b9e8faece10af.jpg\" alt=\"\" width=\"787\" height=\"980\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/9a227bec3431561bf29b9e8faece10af.jpg 787w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/9a227bec3431561bf29b9e8faece10af-385x480.jpg 385w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/9a227bec3431561bf29b9e8faece10af-768x956.jpg 768w\" sizes=\"(max-width: 787px) 85vw, 787px\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-large wp-image-839\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/0265cac441631d8c7533a848aa10eca4-1024x513.jpg\" alt=\"\" width=\"840\" height=\"421\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/0265cac441631d8c7533a848aa10eca4-1024x513.jpg 1024w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/0265cac441631d8c7533a848aa10eca4-640x321.jpg 640w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/0265cac441631d8c7533a848aa10eca4-768x385.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/0265cac441631d8c7533a848aa10eca4.jpg 1126w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/0cca386a0e760eb3d9bcb135e5a23fb8.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-844\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/0cca386a0e760eb3d9bcb135e5a23fb8.jpg\" alt=\"\" width=\"600\" height=\"693\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/0cca386a0e760eb3d9bcb135e5a23fb8.jpg 600w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/0cca386a0e760eb3d9bcb135e5a23fb8-416x480.jpg 416w\" sizes=\"(max-width: 600px) 85vw, 600px\" \/><\/a><\/p>\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Revisiting the very foggy morning by the river. Blue gel pen on heavy paper. Big mood. <a href=\"https:\/\/twitter.com\/hashtag\/plottertwitter?src=hash&amp;ref_src=twsrc%5Etfw\">#plottertwitter<\/a> <a href=\"https:\/\/t.co\/JXorJEmIG9\">pic.twitter.com\/JXorJEmIG9<\/a><\/p>\n<p>&mdash; art for sale (@PhotoPuck) <a href=\"https:\/\/twitter.com\/PhotoPuck\/status\/1316353886391881728?ref_src=twsrc%5Etfw\">October 14, 2020<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">new portrait algorith <a href=\"https:\/\/twitter.com\/hashtag\/plottertwitter?src=hash&amp;ref_src=twsrc%5Etfw\">#plottertwitter<\/a> <a href=\"https:\/\/t.co\/Y8SyKYk91p\">pic.twitter.com\/Y8SyKYk91p<\/a><\/p>\n<p>&mdash; Algorigraph (@algorigraph) <a href=\"https:\/\/twitter.com\/algorigraph\/status\/1317430866776391683?ref_src=twsrc%5Etfw\">October 17, 2020<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>&nbsp;<\/p>\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Using pencils in the <a href=\"https:\/\/twitter.com\/EMSL?ref_src=twsrc%5Etfw\">@EMSL<\/a> AxiDraw to draw this young bluebird. <a href=\"https:\/\/twitter.com\/hashtag\/plottertwitter?src=hash&amp;ref_src=twsrc%5Etfw\">#plottertwitter<\/a> <a href=\"https:\/\/t.co\/wUcwhHUsd4\">pic.twitter.com\/wUcwhHUsd4<\/a><\/p>\n<p>&mdash; Michael Fogleman (@FogleBird) <a href=\"https:\/\/twitter.com\/FogleBird\/status\/1266107807335682052?ref_src=twsrc%5Etfw\">May 28, 2020<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>Possibilities for dwell-time hatching:<\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Screen-Shot-2021-09-15-at-10.18.34-AM.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-841\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Screen-Shot-2021-09-15-at-10.18.34-AM.png\" alt=\"\" width=\"434\" height=\"416\" \/><\/a><\/p>\n<hr \/>\n<h3>Dithering<\/h3>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Dither\">Dithering<\/a> is the problem of rendering a continuous-tone (or high bit-depth) raster image with fewer bits.<\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/ditheringmontage.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-774\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/ditheringmontage.png\" alt=\"\" width=\"641\" height=\"317\" \/><\/a><\/p>\n<p>Some easy ones are: <em>Threshold; Random; Bayer<\/em>. (How do they work?)<\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/dithering.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-796\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/dithering.png\" alt=\"\" width=\"980\" height=\"750\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/dithering.png 980w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/dithering-627x480.png 627w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/dithering-768x588.png 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<p><em><a href=\"https:\/\/en.wikipedia.org\/wiki\/Floyd%E2%80%93Steinberg_dithering\">Floyd-Steinberg<\/a><\/em> is the most common dithering method. it works by using <em>error diffusion<\/em>, meaning it propagates (adds) the residual quantization error of a given pixel onto its neighboring pixels, to be dealt with later.<\/p>\n<pre>for each y from top to bottom do\r\n    for each x from left to right do\r\n        oldpixel := pixels[x][y]\r\n        newpixel := find_closest_palette_color(oldpixel)\r\n        pixels[x][y] := newpixel\r\n        quant_error := oldpixel - newpixel\r\n        pixels[x + 1][y    ] := pixels[x + 1][y    ] + quant_error \u00d7 7\/16\r\n        pixels[x - 1][y + 1] := pixels[x - 1][y + 1] + quant_error \u00d7 3\/16\r\n        pixels[x    ][y + 1] := pixels[x    ][y + 1] + quant_error \u00d7 5\/16\r\n        pixels[x + 1][y + 1] := pixels[x + 1][y + 1] + quant_error \u00d7 1\/16\r\n<\/pre>\n<p><strong>Dithering resources<\/strong><\/p>\n<p>If you enjoy this topic, here are two fantastic articles with lots of code for dithering:<\/p>\n<ul>\n<li><a href=\"https:\/\/tannerhelland.com\/2012\/12\/28\/dithering-eleven-algorithms-source-code.html\">Code examples for 11 dithering methods<\/a><\/li>\n<li><a href=\"https:\/\/bisqwit.iki.fi\/story\/howto\/dither\/jy\/\">More code examples<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Agenda Class visitor announcement: Iskra Velitchkova on 9\/27; Licia He on 9\/29. 1:30-2:00pm: Plot your line exercises G &amp; H; magnet-pin them to the whiteboards. 2:00-2:30pm: Visit from Lenore Edman, creator of the AxiDraw 2:30-3:00pm: Discussion of exercises on the whiteboards + projection 3:00-3:15pm: Break 3:15-3:30pm: Hatching exercise 3:30-3:45pm: Hatching and dithering algorithms, discussion. 3:45-4:30pm: &hellip; <a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/daily-notes\/09-15-hatch\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;09-15 Hatch&#8221;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":17,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/pages\/771"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/comments?post=771"}],"version-history":[{"count":14,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/pages\/771\/revisions"}],"predecessor-version":[{"id":974,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/pages\/771\/revisions\/974"}],"up":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/pages\/17"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/media?parent=771"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}