



Stage 1 – Rise and Shine
Part 1 – Use Image Data to Adjust the Color of Surface Panels
I defined the parametric arc curve on the base plane and created sliders to flex its radius as well as starting and ending angles to define the angle domain. The parametric arc curve was extruded in the z direction at the specified wall height (flexible slider). U and V inputs were set up to create a grid of nearly square panels. The Lunchbox panel Quad node was used to divide the surface into rectangular panels. U and V inputs were calculated based on the arc curve’s length and wall height such that the varied wall dimensions would update the number of panels (but retained the desirable nearly square shape). To avoid zero panels, a maximum node is provided for taking the maximum between 1 and the rounded floored calculations. A Pacman image file was read in and the image data was sampled to apply corresponding color values to the adaptive panel walls (with one-to-one mapping). Each panel’s XYZ center point is taken and mapped to the UV values on the surface. The UV points are deconstructed, an expression of 1-x is applied, and point construction allows rotation of the image by 90 degrees. The image is then sampled at the specified UV points and each sample point’s color is mapped onto the respective panel. Input streams grafted for the pairing inputs 1 by 1. The resulting model geometry is shown in figure 1. This file is saved as “4units_Stephanie Chang_Module4_Stage1_Part1.”
Part 2 – Use Image Data to Adjust the Height of Surface Panels
A straight line is drawn on World XY and this is set into the initial curve node in the grasshopper file (this is saved in the rhino 3D file as well as selected as internalized data). Sliders are created to flex the wall’s length, height, number of waves, and amplitude. A scale factor is computed as the ratio of the target to wall length to the current wall base curve length and this is applied to the drawn wall base curve. Sample points are created along the selected line. Then the sine function is applied to transform the straight line into a wavy curve on the base plane. The sampled points are decomposed to construct new points and generate the serpentine wavy curve which is then extruded in Z direction to the flexed height. The wall surface is panelized to divide the surface into rectangular panels. A grid of rectangular panels (approximately 4’’ tall and 8’’ wide) is created by setting the U and V inputs based on the base curve’s length and wall’s height. Maximum nodes are used to ensure that the calculated U and V values are greater than or equal to 1. As the wall dimensions vary, the number of bricks is updated accordingly but retain their desired approximate dimension. A rectangular image file (Pacman ghosts) is read in and the image data is sampled to calculate the height values which determine the wall’s brick thickness (one-to-one mapping from image data to wall panels). Similar to part 1, XYZ center point of each panel is mapped to UV values on the surfaces. The list of color values is mapped to determine each adaptive panel’s height and the brightness values from the sample image are remapped into a height range interval spanning from 4’’ to 36’’. The sliders for the inputs are flexed to evaluate how the length, height, and waviness of the wall impact the rendered model geometry. The centroid of the area node is fed into the surface closest point node and the uv point is fed into the evaluate surface node; wall panel thickness heights are extruded accordingly per corresponding amplitude from the base surface. The resulting model geometry is shown in figure 2. Note that there are 2 files (grasshopper file and rhino 3D file) associated with stage 1 part 2, both named as the following: “4units_Stephanie Chang_Module4_Stage1_Part2.”
Creative bonus:
- Three panel node options are available for the division of surface panels (Quads, TriB, Squads)
Stage 2 – Gonna Need Shades
A building form is created with panelized wall surfaces. Parameters of the wall panels are adjusted based on the evaluation of the orientation of the wall panels relative to the sun position. To represent the lower level’s footprint, a resizable rectangle is created on the base plane and centered at the origin (sliders are created to flex building length and building depth of the lower level as well as the height of the lower level walls). The four segments from the rectangle are exploded and used to set the surface extruded to the flexed height of the lower level walls. The lower level’s rectangle is offset to define the upper level’s footprint. Sliders are created to determine height of the upper level walls as well as the offset distance of the upper to lower level in which positive distance indicates extension of the upper level walls outside the lower level walls and negative distance indicates the upper level walls being inset from the lower level walls. The exploded curves are once again extruded to the specified height of the upper level rectangle. Lunchbox panel quad node is used to divide the wall surfaces into rectangular panels. U and V inputs are set to create the tall rectangular panels with the panelized wall surface being 1 panel tall. The number of panels in the horizontal direction for the wall segment is calculated by dividing the wall segment’s length by the desired panel width which can be flexed with a slider. The number of whole panels is rounded at the ceiling and compared against a value of 1 with a maximum node to ensure that there is at least one whole panel. Flattened lists are used to enable the independent evaluation of each panel. Then shading elements are created at each wall panel location allowing for rotated shade panels to be used. The sun position is manually defined. A sphere is used to visually depict the sun position, and the sun path is defined as an arc. A slider is created to flex or simulate the sun’s movement throughout the day. The directness of the wall surface panels to the sun is then evaluated. Panel surface is reparameterized from 0 to 1 and line creation is conducted along the normal at each of the center points. The point of the selected sun position is computed and a vector to the sun position is returned and fed into the calculation of the dot product of the normal vectors from the panel surfaces and the sun position vector. As visual feedback, colors of the surface panel elements reflect the directness values indicative of the panel position relative to the sun (low to high values of the sun directness are remapped to the targeted domain of color values). Shading elements are created at each wall panel location. The panel geometry is adjusted (rotated up to 90 degrees defined by the angle domain) to reflect the panel’s directness to the sun. Figure 3 shows the model geometry with the wall panels responding to the sun position at two different simulated times of the day. This file is saved as “4units_Stephanie Chang_Module4_Stage2.”
Creative bonus:
- There is a creative bonus file saved as “4units_Stephanie Chang_Module4_Stage2_creative_bonus” with the following additional features:
- Three-level footprint model geometry (lower, middle, upper levels) with corresponding panel definition for each wall segment
- Rotating shading elements and panel color for all three levels are determined based on sun directness for each surface panel
- See figure 4 for snapshots of the three-level model geometry with the sun at varied simulated locations
Stage 3 Shield Your Eyes
A model of a tall polygonal tower form is formed by creating three resizable polygons that share the same center point and number of polygon sides, each specifying the footprint of a specific level of the tower (base, top, mid-levels). Sliders are used to flex the tower’s radius for each of the three levels. Mid-level and top-level polygons are positioned in the specified z height through translation (move node). The three polygons are lofted to form the tower’s exterior wall surface. This is done through using an entwine node that takes the exploded segments from top, middle, and low level footprints, flips the matrix, and feeds this as the input curve list for the loft node. The wall surfaces are panelized by using the Lunchbox panel quad node for division of the wall surfaces into rectangular panels. U and V inputs are specified for the creation of rectangular panels that are approximately 8’ tall. Outputs from panel nodes are flattened. The sun position is manually set (similar to setup as described in Stage 2) with a slider that can be flexed to simulate movement of the sun position’s during time of day. The directness of the wall surface panels to the sun is then evaluated in which 0 and 1 corresponding to least and most direct orientation respectively. The panel geometry is adjusted as a function of the panel’s directness to the sun; furthermore, panels with resizable openings are defined at each wall panel location and respond to the corresponding directness of the panel to the sun. The results are merged and previewed to view the impact of the flexed sliders on the model geometry as shown in figure 5. This file is saved as “4units_Stephanie Chang_Module4_Stage3.”
Creative bonus:
- Three panel node options are available for the division of surface panels (Quads, TriB, Squads)