Modeling Overview
By using adaptive surface panels, I created one surface that reads an image from a file and projects the image onto the surface panels and another surface that adapts the panel colors, frame width, and frame height depending on the distance from the panels to the sun. I chose this image because I wanted to do something colorful:
Part 1: 2 and 3 Unit Check Points
By using the structure that was created in Module 3, I first projected an image onto the surface panels. Here is the overview of the entire script used to create Part 1:
Step 1: Apply Adaptive Panels to the Surface from Module 3
I used the same shelter from the last module which included 3 parabolas that can be manipulated to create a curved concert stadium cover:
I subdivided the surface into a UV grid and provided sliders to easily manipulate the number of panels. I chose to keep the adaptive rib components though it was not a specification of the assignment for Part 1 and 2:
I then divided my points into quads to place the panels. I used the Rect Seamless Panel-4 pt adaptive component:
Step 2: Map the Colors from an Image File to the Adaptive Panels
I chose the rainbow image file and used the Read Image File node to sample color values from the image. I added a Boolean value where the user is able to easily transpose the pixels of the image file that are projected into the panels. Inputting 0 results in to effect while inputting 1 creates a transposed image:
Picture of the image projected into the panels:
Step 3: Provide the Ability to Mirror or Flip the Image as Desired
I then also added Boolean logic to allow the user to flip or mirror the image as desired. The image can be flipped vertically, horizontally, or both ways (mirror). This allows whoever is using the design to easily change the way the image shows up on the panels. Entering 0 gives no effect, 1 gives the, 2 results in the horizontal flip effect, and 3 gives the mirror effect:
Step 4 – Adjust the Thicknesses of the Adaptive Panels to Create an Embossed or Debossed Effect
By using the color brightness of each panel, I created an embossed and debossed effect for the panels. I created a base height for the panels that can be easily changed and an amplification factor that also has a number slider:
Step 5 – Add Logic to Enable Your Users to Quickly Choose Between an Embossed or Debossed Effect
Similar to the mirroring effect above, the embossing and debossing effects work in a similar way in that 0, 1, or 2 are inputted to create the desired effect. 0 is no effect, 1 is embossed, and 2 is debossed. I also used the Flip function to make sure that the effects were working as desired:
Picture of Embossed Effect:
Picture of Debossed Effect:
Part 2: 4 Unit Check Points
The second part of the assignment asked to make panels adapt to sun exposure. For this part of the assignment, I used Panel custom nodes provided as a part of the module to calculate the vectors of the distance to the sun.
Step 6 - Create a Duplicate of Your Dynamo Graph
I used the same surface as in Module 3 and Module 4 part 1:
Step 7 – Evaluate the Directness of the Surface Panels to the Sun
I first panelized the surface into U and V values that can be easily changed using the number slider. I used the Panels.BySurface_U_V custom node to create the surface of panelized items. I then calculated the distance to direct sun by using the Panels.ComputeSunDirectness custom node. For this part of the assignment I used the adaptive panel Rect_Panel with Resizable Opening: Glazing.
Step 8 – Provide Visual Feedback using Color to Indicate the Directness of the Sun
I then made the panels change color depending on sun exposure by using the sun directness list. I added number sliders to that the color of the panels can be easily changed. For now, I used red as the indicator of being more directly facing the sun and blue as the indicator of being less directly facing the sun for each panel:
Step 9 – Adjust the Surface Panel Geometry based on Directness of the Sun
The adaptive panel Rect_Panel with Resizable Opening: Glazing has three dimensions that can be changed: the frame width, the frame height, and the thickness of the panel. Using the directness to the sun, I adapted the panel height, width, and thickness as well. If the panel has more sun exposure, then it will have a smaller panel width and height to limit the amount of sunlight shining though and making the stage warm. However, if the panel has more sun exposure, then it will have a greater thickness that would absorb some of the sunlight into the material. The panel height and width use the same magnitude of 0.1 but the thickness uses a magnitude of 1 so that there is a variable difference between panels with more or less sun exposure according to the sun directness calculation:
Screenshot of the color and geometry effects on the panel based on sun directness: