{"id":14713,"date":"2024-11-12T23:32:59","date_gmt":"2024-11-13T06:32:59","guid":{"rendered":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/?p=14713"},"modified":"2024-11-14T02:51:33","modified_gmt":"2024-11-14T09:51:33","slug":"large-assignment-5","status":"publish","type":"post","link":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/2024\/11\/12\/large-assignment-5\/","title":{"rendered":"Large Assignment 5"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Part 1: 2D Tiles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A. Escher-esque tile<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the Escher-esque tile, I first drew out some curves I liked for the lattice in Rhino. I settled on a shape mimicking a cat&#8217;s head where the top\/bottom curve represented the ears and the left\/right curve was the nose. Then, I used the tiling code we went over in class to generate the tiling. The main challenges I ran into were making sure the curves didn&#8217;t overlap so that the tile could close properly and also making sure the lattice-to-tile translation was happening correctly. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the first challenge, I had to fiddle with the curves quite a bit, and the end result did not end up looking like what I expected. Additionally, I used the Point block in Grasshopper to trace the original curves I made in Rhino and stream the list of points using a Panel and text file (this was a hack <a href=\"https:\/\/discourse.mcneel.com\/t\/extracting-points-and-using-them-in-grasshopper\/105893\/5\" data-type=\"link\" data-id=\"https:\/\/discourse.mcneel.com\/t\/extracting-points-and-using-them-in-grasshopper\/105893\/5\">I found online<\/a>). I then reinput those points into an InterpCurve in the Grasshopper code to get the tile below. For the second challenge, the top and right curves were just being initialized with the wrong indexes, so it was a straightforward fix once I realized what the issue was.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"376\" height=\"324\" data-id=\"15360\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-73.png\" alt=\"\" class=\"wp-image-15360\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-73.png 376w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-73-300x259.png 300w\" sizes=\"auto, (max-width: 376px) 100vw, 376px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"468\" height=\"449\" data-id=\"15366\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-234711.png\" alt=\"\" class=\"wp-image-15366\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-234711.png 468w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-234711-300x288.png 300w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-234711-380x365.png 380w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"511\" height=\"380\" data-id=\"15365\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-234734.png\" alt=\"\" class=\"wp-image-15365\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-234734.png 511w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-234734-300x223.png 300w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-234734-380x283.png 380w\" sizes=\"auto, (max-width: 511px) 100vw, 511px\" \/><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">B. Triangular Tile<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I decided to create a triangular tile for the second set. I generated a simple isosceles triangle in Grasshopper. For the geometry, I first duplicated and rotated the triangle 180 degrees using the origin as the center of rotation. Then, I modified the original code for the tiling, and I realized that I needed to add a second set of triangles that weren&#8217;t rotated for each iteration of the lattice. This filled in the rest of the tiling. I also had to adjust the amount that each triangle was moved within the lattice loop so that the tiles lined up correctly.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"807\" height=\"367\" data-id=\"15238\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-155833.png\" alt=\"\" class=\"wp-image-15238\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-155833.png 807w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-155833-300x136.png 300w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-155833-768x349.png 768w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-155833-575x261.png 575w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-155833-380x173.png 380w\" sizes=\"auto, (max-width: 807px) 100vw, 807px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"875\" height=\"420\" data-id=\"15236\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-155810.png\" alt=\"\" class=\"wp-image-15236\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-155810.png 875w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-155810-300x144.png 300w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-155810-768x369.png 768w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-155810-575x276.png 575w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/Screenshot-2024-11-13-155810-380x182.png 380w\" sizes=\"auto, (max-width: 875px) 100vw, 875px\" \/><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Part B: 3D Tiles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I searched online for some inspiration and came across the Moroccan scale tiling shown below. My first attempt was to draw out the arcs in Rhino and modify the triangle code from the previous section to utilize the curves instead of the straight lines. This was easy enough, but I struggled more with the scaling aspect. I ultimately decided to remove the scaling factors to make the program simpler. However, this meant that I had to tinker manually with the offset values in the lattice (similar to the triangle tiling). The extrusion worked after that.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"864\" height=\"1024\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-78-864x1024.png\" alt=\"\" class=\"wp-image-15374\" style=\"width:303px;height:auto\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-78-864x1024.png 864w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-78-253x300.png 253w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-78-768x910.png 768w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-78-920x1090.png 920w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-78-575x681.png 575w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-78-380x450.png 380w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-78.png 1140w\" sizes=\"auto, (max-width: 864px) 100vw, 864px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"491\" height=\"209\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-31.png\" alt=\"\" class=\"wp-image-14757\" style=\"width:563px;height:auto\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-31.png 491w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-31-300x128.png 300w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-31-380x162.png 380w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">My next task was to come up with an interesting 3D aspect to the tiles. I worked in Rhino on the base curves I had generated. I duplicated and rotated the curve by 45 degrees upward, and I was interested in having a more gradual curve from the long edge of the curve to the point at the top. I used a sphere and BooleanDifference to carve out that curve. Then, I also wanted to add details like in the image above. This ended up being a much more intensive process than I expected due to the nonplanar surface I had created with the sphere. I drew out the shape I wanted with InterpCurve and then rotated and projected it onto the surface. I tried several different methods of extruding the round surface I wanted from this curve (I was envisioning a bean-like shape), and only after many attempts was I able to successfully print the curve. The final solution required projecting another line to split the original curve, creating another curve above the surface, and then lofting the two halves together. I unfortunately printed my forms before realizing I was meant to code it in Grasshopper instead of Rhino, but they turned out quite nice.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-id=\"15396\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4742-768x1024.jpg\" alt=\"\" class=\"wp-image-15396\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4742-768x1024.jpg 768w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4742-225x300.jpg 225w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4742-1152x1536.jpg 1152w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4742-scaled.jpg 1920w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-id=\"15397\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4745-768x1024.jpg\" alt=\"\" class=\"wp-image-15397\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4745-768x1024.jpg 768w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4745-225x300.jpg 225w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4745-1152x1536.jpg 1152w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4745-scaled.jpg 1920w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" data-id=\"15398\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4746-768x1024.jpg\" alt=\"\" class=\"wp-image-15398\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4746-768x1024.jpg 768w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4746-225x300.jpg 225w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4746-1152x1536.jpg 1152w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/IMG_4746-scaled.jpg 1920w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">After printing, I also realized that the dimensions I used for the tiles only allowed for tiling configurations where each tile was in the same orientation (unlike the photo above). With more time, I hope I could make tiles that could be turned into even more tiling options.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Part C: Surface Morph<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I primarily relied on the code that was provided in the slides for the surface morph. I first tried to use the lattice instead of lines, but the bounding box was much bigger than the actual object when it was fit on the Escher-like curves. With the bounding box error, the morph was of course incorrect. This was solved by creating lines using the vectors of the original Python code.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"508\" height=\"444\" data-id=\"15393\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-81.png\" alt=\"\" class=\"wp-image-15393\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-81.png 508w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-81-300x262.png 300w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-81-380x332.png 380w\" sizes=\"auto, (max-width: 508px) 100vw, 508px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"359\" height=\"432\" data-id=\"15394\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-82.png\" alt=\"\" class=\"wp-image-15394\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-82.png 359w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-82-249x300.png 249w\" sizes=\"auto, (max-width: 359px) 100vw, 359px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"377\" height=\"442\" data-id=\"15395\" src=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-83.png\" alt=\"\" class=\"wp-image-15395\" srcset=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-83.png 377w, https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/image-83-256x300.png 256w\" sizes=\"auto, (max-width: 377px) 100vw, 377px\" \/><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Code<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Grasshopper<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-dfbea0c1-7a80-499e-8b90-55d1a5d466aa\" href=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/SachiBarnabyTiling.gh\">SachiBarnabyTiling<\/a><a href=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/SachiBarnabyTiling.gh\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-dfbea0c1-7a80-499e-8b90-55d1a5d466aa\">Download<\/a><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Rhino (for 3D form)<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-969ddfb3-cb23-4e47-9738-94c46b4ccc03\" href=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/SachiBarnabyTiling.3dm\">SachiBarnabyTiling<\/a><a href=\"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-content\/uploads\/2024\/11\/SachiBarnabyTiling.3dm\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-969ddfb3-cb23-4e47-9738-94c46b4ccc03\">Download<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Part 1: 2D Tiles A. Escher-esque tile For the Escher-esque tile, I first drew out some curves I liked for the lattice in Rhino. I settled on a shape mimicking a cat&#8217;s head where the top\/bottom curve represented the ears and the left\/right curve was the nose. Then, I used the tiling code we went over in class to generate [&hellip;]<\/p>\n","protected":false},"author":43,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61],"tags":[],"class_list":["post-14713","post","type-post","status-publish","format-standard","hentry","category-tiling24"],"_links":{"self":[{"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/posts\/14713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/users\/43"}],"replies":[{"embeddable":true,"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/comments?post=14713"}],"version-history":[{"count":6,"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/posts\/14713\/revisions"}],"predecessor-version":[{"id":15401,"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/posts\/14713\/revisions\/15401"}],"wp:attachment":[{"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/media?parent=14713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/categories?post=14713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/handandmachine.org\/classes\/computational_fabrication\/wp-json\/wp\/v2\/tags?post=14713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}