{"id":1904,"date":"2021-11-03T12:27:34","date_gmt":"2021-11-03T16:27:34","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/?p=1904"},"modified":"2021-11-03T12:29:16","modified_gmt":"2021-11-03T16:29:16","slug":"grape-tiling-pattern-midsemester","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/grape\/11\/03\/grape-tiling-pattern-midsemester\/","title":{"rendered":"grape &#8211; Tiling Pattern \/ MidSemester"},"content":{"rendered":"<p>I was half complete with the tiling pattern project when it was due (hence the combined title) so I figured I&#8217;d finish it for the MidSemester review.<\/p>\n<p>I first created a 16&#215;16 tile generator so I could draw my name (I made 15 tiles, 3 for each letter). Here are some examples:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1905\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/20940.png\" alt=\"\" width=\"16\" height=\"16\" \/><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1906\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/71562.png\" alt=\"\" width=\"16\" height=\"16\" \/><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1907\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/32247.png\" alt=\"\" width=\"16\" height=\"16\" \/><\/p>\n<p>I then modified a wave function collapse implementation (after reading up about WFC&#8217;s and how they work) mentioned in <a href=\"https:\/\/discourse.processing.org\/t\/wave-collapse-function-algorithm-in-processing\/12983\/11\">this Processing thread<\/a> which is based off of <a href=\"https:\/\/github.com\/mxgmn\/WaveFunctionCollapse\">mxgmn&#8217;s original implementation<\/a> to generate tilings of each of the letter tiles I produced as a sort of signature.\u00a0 And then I converted it to svg using marching squares.<\/p>\n<p>Here&#8217;s one<\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/915.svg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1910\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/915.svg\" alt=\"\" width=\"1440\" height=\"1500\" \/><\/a>I sort of like how it&#8217;s almost a gradient and depending on the type of font the wave function collapse algorithm generates tilings with varying amount of order\/disorder.<\/p>\n<p>I also presented a single tiling with used a brush pen, a willow stick, and a fine pen (just to play with the different textures.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-large wp-image-1911\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/IMG_ACDA21249467-1-589x1024.jpeg\" alt=\"\" width=\"589\" height=\"1024\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/IMG_ACDA21249467-1-589x1024.jpeg 589w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/IMG_ACDA21249467-1-276x480.jpeg 276w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/IMG_ACDA21249467-1-768x1335.jpeg 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/IMG_ACDA21249467-1-884x1536.jpeg 884w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/IMG_ACDA21249467-1.jpeg 1125w\" sizes=\"(max-width: 589px) 85vw, 589px\" \/><\/p>\n<p>I was also interested in exploring different ways of manipulating these tiles. Here are two experiments I did:<\/p>\n<p>In one I wanted to do almost a &#8220;where&#8217;s waldo&#8221; with WFC, so I created a 16&#215;16 waldo tile in my tile maker in processing and then generating multiple tilings.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1912\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/w1.png\" alt=\"\" width=\"660\" height=\"300\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/w1.png 660w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/w1-640x291.png 640w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/p>\n<p>I sort of want to make this my wallpaper.<\/p>\n<p>Anyways, I ended up not plotting it because I ran out of time. I also think this would look better at a larger scale, so think of this as a little swatch test.<\/p>\n<p>Another thing I wanted to do was see if the original letter appeared in any of the produced tilings. But I also didn&#8217;t want to hand annotate\/circle any letters I found, just because I thought that would be boring\/time consuming imo.<\/p>\n<p>So instead I found another time consuming way to identify letters, trying to implement OCR(Optical Character Recognition)!<\/p>\n<p>I implemented it in python and it generated the following results.<\/p>\n<p>Some examples:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-large wp-image-1915\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/S33o-1024x512.png\" alt=\"\" width=\"840\" height=\"420\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/S33o-1024x512.png 1024w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/S33o-640x320.png 640w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/S33o-768x384.png 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/S33o-1200x600.png 1200w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/S33o.png 1440w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-large wp-image-1917\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/r32o-1024x512.png\" alt=\"\" width=\"840\" height=\"420\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/r32o-1024x512.png 1024w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/r32o-640x320.png 640w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/r32o-768x384.png 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/r32o-1200x600.png 1200w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/r32o.png 1440w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<p>I think it was sort of interesting to uncover what the computer reads as &#8220;text&#8221;, but I ultimately didn&#8217;t plot any of them bc I didn&#8217;t think showing that part of the tile as a different color really added much + I didn&#8217;t have a lot of time.<\/p>\n<p>Something interesting to note though&#8230;while generating these WFC patterns using the tiles I created, the letter R had the most contradictions I&#8217;ve ever seen. It was almost infuriating trying to get a single tiling to finish, because there was (like ~85% of the time) always a contradiction. I&#8217;m not too sure why exactly, maybe the diagonal bit of a &#8220;R&#8221; is prone to contradiction? But I also personally find the R&#8217;s the be the most visually appealing.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-large wp-image-1920\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/R3-1024x512.png\" alt=\"\" width=\"840\" height=\"420\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/R3-1024x512.png 1024w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/R3-640x320.png 640w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/R3-768x384.png 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/R3-1200x600.png 1200w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/11\/R3.png 1440w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<p>It looks itchy.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was half complete with the tiling pattern project when it was due (hence the combined title) so I figured I&#8217;d finish it for the MidSemester review. I first created a 16&#215;16 tile generator so I could draw my name (I made 15 tiles, 3 for each letter). Here are some examples: I then modified &hellip; <a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/grape\/11\/03\/grape-tiling-pattern-midsemester\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;grape &#8211; Tiling Pattern \/ MidSemester&#8221;<\/span><\/a><\/p>\n","protected":false},"author":17,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[14,18],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/posts\/1904"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/comments?post=1904"}],"version-history":[{"count":4,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/posts\/1904\/revisions"}],"predecessor-version":[{"id":1925,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/posts\/1904\/revisions\/1925"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/media?parent=1904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/categories?post=1904"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/tags?post=1904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}