{"id":1184,"date":"2021-09-29T13:15:00","date_gmt":"2021-09-29T17:15:00","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/?page_id=1184"},"modified":"2021-10-03T20:39:34","modified_gmt":"2021-10-04T00:39:34","slug":"6-pattern","status":"publish","type":"page","link":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/offerings\/6-pattern\/","title":{"rendered":"#6: Pattern"},"content":{"rendered":"<p><em>Responses to this prompt will be discussed in class on Wednesday, October 6. This set of prompts has two parts:<\/em><\/p>\n<ol>\n<li>Readings on Pattern<\/li>\n<li>A Tiling Pattern Composition<\/li>\n<\/ol>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/17-symmetries.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1323\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/17-symmetries.png\" alt=\"\" width=\"2792\" height=\"1486\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/17-symmetries.png 2792w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/17-symmetries-640x341.png 640w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/17-symmetries-1024x545.png 1024w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/17-symmetries-768x409.png 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/17-symmetries-1536x818.png 1536w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/17-symmetries-2048x1090.png 2048w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/17-symmetries-1200x639.png 1200w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<p><em>As a reminder, here are the <a href=\"https:\/\/blog.artlandia.com\/the-simplest-diagram-of-the-17-symmetry-types-ever\/\">17 types of 2D crystallographic<\/a> (wallpaper) symmetries. There are no others!<\/em><\/p>\n<hr \/>\n<h2>1.\u00a0 Readings on Pattern<\/h2>\n<p>Please read the following two book excerpts:<\/p>\n<ul>\n<li>Excerpt (Chapter 30, p. 64-81) from <em><strong>10 PRINT<\/strong>, <\/em>by Nick Montfort et al.<em> <a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/10_print_excerpt_moln.pdf\">[<strong>6MB PDF<\/strong>]<\/a><\/em><\/li>\n<li>Excerpt (Chapter 1, p. 17-37) from <em><strong>Graphic Games<\/strong>, <\/em>by Victor Baumgartner, paying special attention to &#8220;Game C&#8221; <em><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/graphic_games_ch1.pdf\">[<strong>22MB PDF<\/strong>]<\/a><\/em><\/li>\n<\/ul>\n<p>In a blog post, <strong>write<\/strong> a very brief response to something that you found interesting or helpful. <strong>Title<\/strong> your blog post,<em> Nickname-PatternReading<\/em>, and <strong>Categorize<\/strong> your post, <em>06-PatternReading<\/em>.<\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/form_code.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1331\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/form_code.jpg\" alt=\"\" width=\"2014\" height=\"2516\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/form_code.jpg 2014w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/form_code-384x480.jpg 384w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/form_code-820x1024.jpg 820w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/form_code-768x959.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/form_code-1230x1536.jpg 1230w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/form_code-1639x2048.jpg 1639w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/form_code-1200x1499.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\/Persian_No_4_1_master.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1328\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Persian_No_4_1_master.jpg\" alt=\"\" width=\"1500\" height=\"2234\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Persian_No_4_1_master.jpg 1500w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Persian_No_4_1_master-322x480.jpg 322w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Persian_No_4_1_master-688x1024.jpg 688w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Persian_No_4_1_master-768x1144.jpg 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Persian_No_4_1_master-1031x1536.jpg 1031w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Persian_No_4_1_master-1375x2048.jpg 1375w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Persian_No_4_1_master-1200x1787.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\/10\/197923scr_38f8fd078cd0405.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-1351\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/10\/197923scr_38f8fd078cd0405.jpg\" alt=\"\" width=\"840\" height=\"1089\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/10\/197923scr_38f8fd078cd0405.jpg 656w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/10\/197923scr_38f8fd078cd0405-370x480.jpg 370w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<h3><strong>Optional Inspirational Browsing: <\/strong><\/h3>\n<ul>\n<li>Check out <a href=\"https:\/\/archive.org\/details\/grammarornament00Jone\"><em>The Grammar of Ornament<\/em><\/a> (1856) by Owen Jones, one of the most gorgeous books ever published.<\/li>\n<li>Check out the fantastic <a href=\"https:\/\/www.historicnewengland.org\/explore\/collections-access\/wallpaper\/\"><em>Historic New England Wallpaper Archive<\/em><\/a>, which has more than 6000 high-resolution scans of antique wallpapers.<\/li>\n<li>Check out the <a href=\"https:\/\/cmu.primo.exlibrisgroup.com\/discovery\/fulldisplay?docid=alma991019809995604436&amp;context=L&amp;vid=01CMU_INST:01CMU&amp;lang=en&amp;search_scope=PITTSBURGH&amp;adaptor=Local%20Search%20Engine&amp;tab=CMU&amp;query=any,contains,%20Experimental%20Pattern%20Sourcebook&amp;mode=Basic\"><em>Experimental Pattern Sourcebook : 300 Inspired Designs from Around the World<\/em><\/a> , by Jackie Herald, available online in CMU&#8217;s library.<\/li>\n<li>Browse the amazing <em>Tilings and Patterns<\/em> book by Gr\u00fcnbaum and Shephard. You can find a <a href=\"https:\/\/archive.org\/details\/isbn_0716711931\">PDF copy online here<\/a>, and there are two copies in the STUDIO (which don&#8217;t leave the room, please). This book includes many inspirational illustrations, such as these:<\/li>\n<\/ul>\n<div id='gallery-1' class='gallery galleryid-1184 gallery-columns-3 gallery-size-thumbnail'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon landscape'>\n\t\t\t\t<a href='https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/offerings\/6-pattern\/grunbaum_tilings_img20210930_11270433\/'><img width=\"150\" height=\"150\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/grunbaum_tilings_img20210930_11270433-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon portrait'>\n\t\t\t\t<a href='https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/offerings\/6-pattern\/grunbaum_tilings_img20210930_11170764\/'><img width=\"150\" height=\"150\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/grunbaum_tilings_img20210930_11170764-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon portrait'>\n\t\t\t\t<a href='https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/offerings\/6-pattern\/grunbaum_tilings_img20210930_11320513\/'><img width=\"150\" height=\"150\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/grunbaum_tilings_img20210930_11320513-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon portrait'>\n\t\t\t\t<a href='https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/offerings\/6-pattern\/grunbaum_tilings_img20210930_11200028\/'><img width=\"150\" height=\"150\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/grunbaum_tilings_img20210930_11200028-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon portrait'>\n\t\t\t\t<a href='https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/offerings\/6-pattern\/grunbaum_tilings_img20210930_11252632\/'><img width=\"150\" height=\"150\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/grunbaum_tilings_img20210930_11252632-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon portrait'>\n\t\t\t\t<a href='https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/offerings\/6-pattern\/grunbaum_tilings_img20210930_11181509\/'><img width=\"150\" height=\"150\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/grunbaum_tilings_img20210930_11181509-150x150.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n\n<hr \/>\n<h2>2. A Tiling Pattern Composition (Plotted)<\/h2>\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Plotting out some multi-scale truchet patterns in the studio tonight. I&#39;m kinda digging it more with lines missing \u2014 what do you think <a href=\"https:\/\/twitter.com\/hashtag\/plottertwitter?src=hash&amp;ref_src=twsrc%5Etfw\">#plottertwitter<\/a> ? <a href=\"https:\/\/t.co\/30BAxZcSlh\">pic.twitter.com\/30BAxZcSlh<\/a><\/p>\n<p>&mdash; Madeline Gannon (@madelinegannon) <a href=\"https:\/\/twitter.com\/madelinegannon\/status\/1387613278088712194?ref_src=twsrc%5Etfw\">April 29, 2021<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p><em>The purpose of this prompt is to strengthen your skills in generative form-making with modular design elements.<\/em><\/p>\n<blockquote><p>Making procedural patterns is a mental exercise in finding minimal reusable elements. This practice is old; we as a species have been using grids and patterns to decorate textiles, floors and borders of objects for a long time: from meander patterns in ancient Greece, to Chinese lattice design, the pleasure of repetition and variation catches our imagination. Take some time to look at decorative patterns and see how artists and designers have a long history of navigating the fine edge between the predictability of order and the surprise of variation and chaos. From Arabic geometrical patterns, to gorgeous African fabric designs, there is an entire universe of patterns to learn from.<\/p><\/blockquote>\n<p>\u2014 From the <em><a href=\"https:\/\/thebookofshaders.com\/09\/\">Book of Shaders<\/a><\/em> by Patricio Gonzalez-Vivo.<\/p>\n<p><strong>Prompt:<\/strong> Develop a computationally-generated, machine-plotted artwork using tiling patterns\u2014in which larger-scale structures appear to emerge from the arrangement of modular elements.<\/p>\n<p>To <strong>create<\/strong> your project:<\/p>\n<ul>\n<li><strong>Browse<\/strong> some of the examples from <a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/daily-notes\/09-29-truchet\/\">last Wednesday&#8217;s lecture<\/a>. Consider the use of randomness. Consider algorithms like Truchet tiles, Wang tiles, <a href=\"https:\/\/github.com\/LingDong-\/ndwfc\">Wave Function Collapse<\/a>, etc. Some helpful tutorial videos can be found below. I have also provided some simple JS template code for generating Wang tiles.<\/li>\n<li><strong>Sketch<\/strong> some ideas in your sketchbook. You are strongly encouraged to use more than one color in your design.<\/li>\n<li><strong>Write code<\/strong> to generate pattern compositions. <strong>Export<\/strong> SVG files for plotting.<\/li>\n<li><strong>Plot<\/strong> your artwork. <em>Please do not use standard printer paper.<\/em><\/li>\n<\/ul>\n<p>To <strong>document<\/strong> your project:<\/p>\n<ul>\n<li><strong>Create<\/strong> a blog post on this website. <strong>Title<\/strong> your blog post, <em>Nickname-TilingPattern<\/em>, and <strong>Categorize<\/strong> your blog post, <em>06-TilingPattern<\/em>.<\/li>\n<li><strong>Embed<\/strong> some photographs of your sketches.<\/li>\n<li><strong>Embed<\/strong> a good-quality photograph of your plotted composition. Consider having a second photograph showing a close detail.<\/li>\n<li><strong>Write<\/strong> a paragraph (of about 100-150 words) describing the logic of your pattern, your sources of inspiration, your process, and an evaluation of your results. Be sure to acknowledge any code libraries that you used.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" title=\"Coding Challenge #76: 10PRINT in p5.js\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/bEyTZ5ZZxZs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p><iframe loading=\"lazy\" title=\"Shader Coding: Truchet Tiling Explained!\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/2R7h76GoIJM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/geometricpatters.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1308\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/geometricpatters.png\" alt=\"\" width=\"1442\" height=\"1101\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/geometricpatters.png 1442w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/geometricpatters-629x480.png 629w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/geometricpatters-1024x782.png 1024w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/geometricpatters-768x586.png 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/geometricpatters-1200x916.png 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\/10\/wang-tiles.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1362\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/10\/wang-tiles.gif\" alt=\"\" width=\"600\" height=\"600\" \/><\/a><\/p>\n<pre>\r\n\/\/ Wang tiles in p5.js\r\nvar tiles;\r\nvar tileW, tileH;\r\nvar tileCols = 12;\r\nvar tileRows = 12;\r\n\r\nfunction setup() {\r\n  createCanvas(600, 600);\r\n  tileW = width \/ tileCols;\r\n  tileH = height \/ tileRows;\r\n  tiles = create2DArray(tileRows, tileCols);\r\n  arrangeWithConstraints();\r\n}\r\n\r\nfunction mousePressed() {\r\n  arrangeWithConstraints();\r\n}\r\n\r\nfunction arrangeWithConstraints() {\r\n  for (var row = 0; row < tileRows; row++) {\r\n    for (var col = 0; col < tileCols; col++) {\r\n      var tileThis = 0;\r\n\r\n      if (row == 0 &#038;&#038; col == 0) {\r\n        \/\/ The top-left tile is totally random.\r\n        tileThis = floor(random(16));\r\n      } else {\r\n        if (row > 0) {\r\n          var tileAbov = tiles[row - 1][col];\r\n          if ((tileAbov & 4) > 0) {\r\n            \/\/ If the tile above us points downwards,\r\n            \/\/ Draw upwards to connect with it.\r\n            tileThis += 1;\r\n          }\r\n        } else {\r\n          \/\/ For the first row,\r\n          \/\/ Draw upwards with some probability\r\n          if (random(1.0) < 0.333) {\r\n            tileThis += 1;\r\n          }\r\n        }\r\n\r\n        if (col > 0) {\r\n          var tileLeft = tiles[row][col - 1];\r\n          if ((tileLeft & 2) > 0) {\r\n            \/\/ If the tile to the left points to its right,\r\n            \/\/ Draw leftwards to connect with it.\r\n            tileThis += 8;\r\n          }\r\n        } else {\r\n          \/\/ For the first column,\r\n          \/\/ Draw leftwards with some probability\r\n          if (random(1.0) < 0.333) {\r\n            tileThis += 8;\r\n          }\r\n        }\r\n\r\n        if (random(1.0) < 0.6) {\r\n          \/\/ Draw downwards with some probability.\r\n          tileThis += 4;\r\n        }\r\n        if (random(1.0) < 0.2) {\r\n          \/\/ Draw rightwards with some probability.\r\n          tileThis += 2;\r\n        }\r\n      }\r\n      tiles[row][col] = tileThis;\r\n    }\r\n  }\r\n}\r\n\r\nfunction arrangeWithNoConstraints() {\r\n  \/\/ A purely random arrangement with no constraints.\r\n  for (var row = 0; row < tileRows; row++) {\r\n    for (var col = 0; col < tileCols; col++) {\r\n      var random4BitInt = floor(random(16));\r\n      tiles[row][col] = random4BitInt;\r\n    }\r\n  }\r\n}\r\n\r\nfunction draw() {\r\n  background(230);\r\n  for (var row = 0; row < tileRows; row++) {\r\n    for (var col = 0; col < tileCols; col++) {\r\n      var tileId = tiles[row][col];\r\n      var x = col * tileW;\r\n      var y = row * tileH;\r\n      push();\r\n      translate(x, y);\r\n      rect(0, 0, tileW, tileH);\r\n      drawTile(tileId);\r\n      pop();\r\n    }\r\n  }\r\n}\r\n\r\nfunction drawTile(id) {\r\n  var R = 20;\r\n  fill(0);\r\n  noStroke();\r\n  push();\r\n  translate(tileW \/ 2, tileH \/ 2);\r\n  ellipse(0, 0, R, R);\r\n\r\n  if ((id &#038; 1) > 0) {\r\n    \/\/ draw upwards\r\n    rect(-R \/ 2, 0, R, -tileH \/ 2);\r\n  }\r\n  if ((id & 2) > 0) {\r\n    \/\/ draw rightwards\r\n    rect(0, -R \/ 2, tileW \/ 2, R);\r\n  }\r\n  if ((id & 4) > 0) {\r\n    \/\/ draw downwards\r\n    rect(-R \/ 2, 0, R, tileH \/ 2);\r\n  }\r\n  if ((id & 8) > 0) {\r\n    \/\/ draw leftwards\r\n    rect(0, -R \/ 2, -tileW \/ 2, R);\r\n  }\r\n  fill(255);\r\n  textAlign(CENTER, CENTER);\r\n  text(id, 0, 0);\r\n  pop();\r\n}\r\n\r\nfunction create2DArray(nrows, ncols) {\r\n  var arr = new Array(nrows);\r\n  for (var r = 0; r < nrows; r++) {\r\n    arr[r] = new Array(ncols);\r\n  }\r\n  return arr;\r\n}\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Responses to this prompt will be discussed in class on Wednesday, October 6. This set of prompts has two parts: Readings on Pattern A Tiling Pattern Composition As a reminder, here are the 17 types of 2D crystallographic (wallpaper) symmetries. There are no others! 1.\u00a0 Readings on Pattern Please read the following two book excerpts: &hellip; <a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/offerings\/6-pattern\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;#6: Pattern&#8221;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":19,"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\/1184"}],"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=1184"}],"version-history":[{"count":27,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/pages\/1184\/revisions"}],"predecessor-version":[{"id":1363,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/pages\/1184\/revisions\/1363"}],"up":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/pages\/19"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/media?parent=1184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}