{"id":395,"date":"2021-09-08T01:28:16","date_gmt":"2021-09-08T05:28:16","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/?p=395"},"modified":"2021-09-08T01:28:21","modified_gmt":"2021-09-08T05:28:21","slug":"lsh-molnarrecode","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/lsh\/09\/08\/lsh-molnarrecode\/","title":{"rendered":"lsh-MolnarRecode"},"content":{"rendered":"<p>1. Some of the lines are orthogonal to each other.<br \/>\n2. Some of the lines make a triangle filling half of the cell.<br \/>\n3. Some lines seem to be darker than the others.<br \/>\n4. Some of the patterns seem to have the same &#8220;scale&#8221; but less distance between lines.<br \/>\n5. There seems to be multiple scales of grids interacting.<br \/>\n6. Some cells overlap creating a cross hatch.<br \/>\n7. Some angles made a &#8220;wide&#8221; diamond, while others make a &#8220;tall&#8221; diamond.<br \/>\n8. Several of the interactions near the center almost form a curve.<br \/>\n9. The largest shape seems to be &#8220;16&#8221; small blocks (4 big blocks) in the top left corner.<br \/>\n10. It &#8220;feels&#8221; like there is more void than line.<\/p>\n<p><a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/untitled.svg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/untitled.svg\" alt=\"\" width=\"640\" height=\"480\" class=\"alignnone size-medium wp-image-396\" \/><\/a><br \/>\n<img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Screen-Shot-2021-09-08-at-1.22.02-AM-493x480.png\" alt=\"\" width=\"493\" height=\"480\" class=\"alignnone size-medium wp-image-398\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Screen-Shot-2021-09-08-at-1.22.02-AM-493x480.png 493w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Screen-Shot-2021-09-08-at-1.22.02-AM-1024x998.png 1024w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Screen-Shot-2021-09-08-at-1.22.02-AM-768x748.png 768w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Screen-Shot-2021-09-08-at-1.22.02-AM-1536x1497.png 1536w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Screen-Shot-2021-09-08-at-1.22.02-AM-1200x1169.png 1200w, https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-content\/uploads\/2021\/09\/Screen-Shot-2021-09-08-at-1.22.02-AM.png 1638w\" sizes=\"(max-width: 493px) 85vw, 493px\" \/><\/p>\n<p>I think I spent too much time working at a small scale in this work. In the end I don&#8217;t feel like I captured the general feel because I focused on little segments. I also spent a lot of time fighting with texturesjs, which was probably time I should have spent in a tool with which I was more familiar. Overall this drawing feels too heavy and I don&#8217;t think I captured the angles or interactions all that well.<\/p>\n<pre>\r\nconst width = 761;\r\nconst height = width;\r\n\r\nfunction generateRandomNumbers({ num_squares, N }) {\r\n  const m = new Map();\r\n  const out = [];\r\n  while (out.length  d[0]))\r\n  .range([0, width]);\r\nconst sy = d3\r\n  .scaleBand()\r\n  .domain(idx.map((d) =&gt; d[1]))\r\n  .range([height, 0]);\r\n\r\nconst t1 = textures.lines().size(5).strokeWidth(1).orientation(\"2\/8\");\r\nconst t2 = textures.lines().size(5).strokeWidth(1).orientation(\"6\/8\");\r\nconst t3 = textures.lines().size(25).strokeWidth(1).orientation(\"7\/8\");\r\nconst t4 = textures.lines().size(25).strokeWidth(1).orientation(\"1\/8\");\r\nconst t5 = textures.lines().size(50).strokeWidth(1).orientation(\"5\/8\");\r\nconst t6 = textures.lines().size(50).strokeWidth(1).orientation(\"3\/8\");\r\n\r\n\r\nfunction generate() {\r\n  const svg = d3.create(\"svg\").attr(\"width\", width).attr(\"height\", height);\r\n  [t1, t2, t3, t4, t5, t6].forEach((t) =&gt; svg.call(t));\r\n\r\n  svg.select(`pattern#${t4.id()}`).attr(\"patternTransform\", \"translate(3)\");\r\n\r\n  svg\r\n    .selectAll(\".rect38\")\r\n    .data(generateRandomNumbers({ num_squares, N: 500 }))\r\n    .join(\"rect\")\r\n    .attr(\"fill\", t1.url())\r\n    .attr(\"x\", ([x, _]) =&gt; sx(x))\r\n    .attr(\"y\", ([_, y]) =&gt; sy(y))\r\n    .attr(\"width\", sx.bandwidth())\r\n    .attr(\"height\", sy.bandwidth());\r\n\r\n  svg\r\n    .selectAll(\".rect78\")\r\n    .data(generateRandomNumbers({ num_squares, N: 500 }))\r\n    .join(\"rect\")\r\n    .attr(\"fill\", t2.url())\r\n    .attr(\"x\", ([x, _]) =&gt; sx(x))\r\n    .attr(\"y\", ([_, y]) =&gt; sy(y))\r\n    .attr(\"width\", sx.bandwidth())\r\n    .attr(\"height\", sy.bandwidth());\r\n\r\n  svg\r\n    .selectAll(\".rect2x\")\r\n    .data(generateRandomNumbers({ num_squares, N: 300 }))\r\n    .join(\"rect\")\r\n    .attr(\"fill\", t3.url())\r\n    .attr(\"x\", ([x, _]) =&gt; sx(x))\r\n    .attr(\"y\", ([_, y]) =&gt; sy(y))\r\n    .attr(\"width\", sx.bandwidth())\r\n    .attr(\"height\", sy.bandwidth());\r\n\r\n  svg\r\n    .selectAll(\".rect22x\")\r\n    .data(generateRandomNumbers({ num_squares, N: 300 }))\r\n    .join(\"rect\")\r\n    .attr(\"fill\", t4.url())\r\n    .attr(\"x\", ([x, _]) =&gt; sx(x))\r\n    .attr(\"y\", ([_, y]) =&gt; sy(y))\r\n    .attr(\"width\", sx.bandwidth())\r\n    .attr(\"height\", sy.bandwidth());\r\n\r\n  svg\r\n    .selectAll(\".rect4x\")\r\n    .data(generateRandomNumbers({ num_squares, N: 300 }))\r\n    .join(\"rect\")\r\n    .attr(\"fill\", t5.url())\r\n    .attr(\"x\", ([x, _]) =&gt; sx(x) * 2)\r\n    .attr(\"y\", ([_, y]) =&gt; sy(y) * 2)\r\n    .attr(\"width\", sx.bandwidth())\r\n    .attr(\"height\", sy.bandwidth());\r\n\r\n  svg\r\n    .selectAll(\".rect4x2\")\r\n    .data(generateRandomNumbers({ num_squares, N: 300 }))\r\n    .join(\"rect\")\r\n    .attr(\"fill\", t6.url())\r\n    .attr(\"x\", ([x, _]) =&gt; sx(x) * 2)\r\n    .attr(\"y\", ([_, y]) =&gt; sy(y) * 2)\r\n    .attr(\"width\", sx.bandwidth())\r\n    .attr(\"height\", sy.bandwidth());\r\n\r\n  return svg.node();\r\n}\r\n\r\ngenerate();\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1. Some of the lines are orthogonal to each other. 2. Some of the lines make a triangle filling half of the cell. 3. Some lines seem to be darker than the others. 4. Some of the patterns seem to have the same &#8220;scale&#8221; but less distance between lines. 5. There seems to be multiple &hellip; <a href=\"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/lsh\/09\/08\/lsh-molnarrecode\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;lsh-MolnarRecode&#8221;<\/span><\/a><\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[5,1],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/posts\/395"}],"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\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/comments?post=395"}],"version-history":[{"count":3,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/posts\/395\/revisions"}],"predecessor-version":[{"id":401,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/posts\/395\/revisions\/401"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/media?parent=395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/categories?post=395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-428\/f2021\/wp-json\/wp\/v2\/tags?post=395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}