Saturday, April 19, 2014

grossju - Final Project

Smart Tower


This project takes inspiration from the framework form, smart powercopies, and knowledge patterns projects.  This smart tower can be thought of as an apartment tower populated with one and two bedroom apartments.  As the building swells and changes shape, its "apartments" swell, shrink, and change shape too.  When an apartment becomes too small to be occupiable, it disappears.  Small, one-bedroom apartments are denoted with a green color, while larger, two-bedroom apartments are denoted with an orange color.


All geometry is driven with a single rotation parameter that spins a wheel.  As the wheel spins, four reference dimensions are drawn like spokes of a wheel that are attached to a point that is slightly off-center.  When these reference dimensions drive geometry, they provide a swelling and shrinking effect.  In the animation above, each reference dimension is dedicated to a specific circle's radius.  The plan on the left can be thought of as a plan of a floor of the tower.


The swell/shrink effect also happens in the elevation of the tower.  Each reference dimension is used in each floor plan, but is assigned to a different circle.  On the ground floor, a reference dimension is assigned the the southern circle.  On the second floor, that same reference dimension is assigned to the western circle.  The clockwise pattern occurs all the way up the tower.


The overall height of the tower is continually changing.  Floor-to-floor heights are inconsistent and are also elements associated to the reference dimensions of the spinning spokes.  The height of the ground floor is the length of spoke 1, the height of the second floor is the length of spoke 2, and so forth...

In order to create apartment "blocks," the circles and curves in the floor plans needed to be broken up in a logical manner.  Points reside where curves intersect, but some of the arcs needed to be divided into three segments to create additional points.


A frame of polylines was then constructed from the new 2D floor plans.


The frame was then populated with "smart apartments" which track their own volume and decide their visibility and color against user-generated threshold volume parameters.


Each powercopy contains a "reference" multi-sections solid and a "viewable" multi-sections solid.  The reference multi-sections solid stays hidden and is not affected by any scripts or parameters.  Instead, it serves as a constant and dependable supplier of data that informs the activity and color of the viewable multi-sections solid.  This avoids any sort of feeback loop issues that one might run into if they are trying to pull volume information from an object that is simultaneously being activated and deactivated (you can't get the volume of an object that is deactivated).

user parameters

The script for the powercopy is written so that if the volume of the reference multi-sections solid is less than both the "activity threshold" parameter and the "color threshold" parameter, the viewable multi-sections solid is turned off.  The apartment block is too small to be occupiable, so why even see it?

If the volume of the reference multi-sections solid is between the volume of the activity threshold parameter and the volume of the color threshold parameter, the viewable multi-sections solid is turned on and becomes a green color.  This means that the apartment block is large enough to be occupiable, but theoretically only large enough to be a one-bedroom apartment.

Lastly, if the volume of the reference multi-sections solid is greater than both the activity threshold parameter and the color threshold parameter, the viewable multi-sections solid is turned on and becomes an orange color.  The apartment block is large enough to be occupiable and be a two-bedroom apartment.

scripted rules

Sunday, April 6, 2014

grossju - Project 010

Knowledge Patterns: Part 2


Fill Surfaces


"Knowledge Patters: Part 2," expands upon the last post on knowledge patterns.  The UDF curve contours created in the previous post are used in this project as a framework to house the population of surfaces.  The first surface type to be populated with subsurfaces is the fill surface.



I wanted to create a something more than a static 2D panel for the subsurfaces, so I've created a panel with an extruded box.  Each of the side faces of the extruded box is inset 1/4" of the distance across the entire face that the box sits on.


The box is extruded along the original surface's normal.  The distance by which the box is extruded is 1/4 of the diagonal distance across the original surface.




Parameters were tested by changing the number of UDF contour lines from 5 to 20 and by changing the number of panels per row from 5 to 20.


I modified the provided script to alter the color range of the panels.  I tried to match the colors the faces nested on top of a surface to that surface's color, but couldn't quite figure out the necessary syntax.



Closed Multi-Section Surfaces





Open Multi-Section Surfaces

The original set of UDF curves I created for the last post were problematic for hosting a series of panels.  Since the UDF curves intersected the multi-section surface diagonally, some curves go all the way across the surface, some only go a part of the way, and some stop and start again.  I simplified the original UDF curves by drawing them horizontally and focusing them at the middle of the multi-section surface.

original UDF curves

error message at the attempt of populating the UDF curves with panels

new simplified set of UDF curves



Sunday, March 30, 2014

grossju - Project 009

Knowledge Patterns


Fill Surfaces


A fairly straightforward fill surface was the first object to be contoured with UDF's.  The fill surface above receives 5 to 25 UDF contours.

various positions and projections of contour lines on the fill surface


Closed Multi-Section Surfaces


The closed multi-section surface above receives 5 and 25 contours.  For a closed multi-section surface.  The previous method of projecting a line doesn't work.  Instead, I created a series of parallel planes that intersect the surface, creating a closed line at the intersection of the two.

The multi-section surface was formed with a series of 3 splines.


UDF's are composed of a point at a certain position on a vertical line, a plane positioned at the point that is normal to the vertical line, and a line formed by the intersection of the multi-section surface and the plane.



Open Multi-Section Surfaces


The open multi-section surface above receives between 5 and 25 contours.  The same method of using planes to form intersection lines was used here, but in this example, none of the sketch planes are parellel to the intersecting planes.  This means that not every intersection line stretches all the way across the surface.  As you can see in the image above, some intersection lines stretch across the entire surface while some only stretch across a corner.

Two sketches were drawn and then combined to form a spine for the sketch planes.


Three planes were positioned normal to the spine.


Sketches for sections of the surface were then drawn on the planes.


A multi-section surface was created with the three sketches.


A straight line was drawn from one extreme of the surface to the other.  I intentionally drew it off axis to the z-axis.


UDF's are composed of a point at a certain position on a this line, a plane positioned at the point that is normal to the line, and a line formed by the intersection of the multi-section surface and the plane.



Saturday, March 22, 2014

Grossju - Project 008 Reading Response

This week's readings discussed the algorithm's relationship to the human and the computer.  The formation of the algorithm, as defined by the reading, is not dependent on the computer, nor is it completely known by the human.  Instead, it works as a language between the human and the computer.

The readings provided a number of reasons why architects have been slow  to adopt true algorithmic design for their work.  One of the discussions I found most interesting with regard to this was that architects see fixed relationships between numbers and concepts as "too deterministic."  The practice has always been reliant upon variation and options, and designers feel that they lose that when algorithms are implemented.  Engineers are perhaps after the opposite, seeking solutions in "rationalistic determinism."  To me, the readings seem to imply that this isn't necessarily the only outcome of algorithmic design.  Properly written and structured, the algorithm can provide some of the non-deterministic flexibility that architects need.

Another interesting discussion was that of combination of humanistic theories with computation.  The author claims that by maintaining the same design theories we have used since the 60's, we will never take full advantage of what the computer has to offer.  Concepts such as numerical processing can hardly be justified when the goal of design is to cater to the human.  My initial thoughts on this subject are "Why even bother," but I'm not actually convinced the author is advocating for design that is completely exclusive of the human.  I think he is trying to say that by insisting that all design is justified before it is fully explored, we will never give ourselves the freedom to try everything computation has to offer.  If we instead give something like numerical processing a shot, we might find that it has unforeseen cultural potential.

Grossju - Project008

Smart Powercopies


For the smart powercopies project, I created a revolve shape that populates a rough spherical shape.


The revolve shapes are created with a revolving spline and an axis line.  The second point is situated away from the original point with a parameter controlling its x, y, and z offset.  All three variables are given a random value between -3 and 3.


The third point involved in the revolve defines the arc of the spline.  Its x position is 1/8 of the value that sets the x position of the second point.  Its y position is 1/8 of the value that sets the y position of the second point.  Lastly, its z position is the same value that sets the z position of the second point.




The revolve is powercopied and situated onto each point of the framework.


Random values between -3 and 3 were then assigned to each x, y, and z parameter for each powercopy.  This meant that each powercopied revolve shape would have its own size and its own direction.


The area of the surface of each revolve shape was then tracked by an area parameter within the powercopy.  A rule was written so that the color of any surface with an area value greater than an area parameter called "threshold area" would be changed from red to yellow.


Sunday, March 16, 2014

Grossju - Project 007


For project 007, I created a collection of developable surfaces that are unrolled onto an adjacent flat plane.  As the 3D structure is modified, the nested, flat surfaces are updated simultaneously.




The structure is formed by stacked circular sketches with 8 intersecting spokes.  The offset distance between each layer can be modified with a distance parameter.  Changing this parameter changes the entire aggregation and every associated surface.




The extrusion distance of each component is driven by the angle created by the original face and and a flat XY plane.




The angle is fed through a series of unit conversion parameters to achieve an appropriate unit of distance.


Parameters 

Unit Conversion Equation


Each edge of the resultant face is then inset by 2ft.  Multi-section surfaces are then created between the original three edges and the new extruded and inset edges.  The three multi-section surfaces are joined into a single surface and then unrolled.