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