Showing posts with label Greg Lynn. Show all posts
Showing posts with label Greg Lynn. Show all posts

Sunday, October 19, 2008

recycled toy furniture video

This is the video from the recycled toy furniture project that I worked on this past summer at Greg Lynn's office. The project was exhibited at the Venice Biennale and won the Golden Lion award for best installation.
While the actual toys used in this project were not recycled, the idea is for them to be in the future. At the office we have digitized versions of several different plastic toys, which can allow us to custom make any piece of furniture from our library of toys. Since each toy is individually cut via robotic arm, the complexity of the overall composition is almost irrelevant. As an idea I think this is quite provocative and forward thinking, but it is still in the early stages of implementation.


Greg Lynn Form

Tuesday, May 27, 2008

Hernesaari Urban Plan: Tower core and surface articulation

As a programmatic strategy, we have been working towards creating a "vertical urbanism" within the towers. This idea obviously ties back to several previous posts about the vertical urbanism of Tokyo, yet in this situation we are dealing with a new development in a significantly lower density urban milieu. However, Helsinki already has an interesting mixed use typology already in place, which we are closely trying to follow. There are many vertical and underground shopping centers which are very different from developments you would see in the US. There are also several successful instances of restuarants and bars being located on the top of residential and office towers, which is an example of time based use as a device to increase the vibrancy of singular buildings. This was a large part of the thesis for my Little Tokyo project from last Winter Quarter.

In the programming of the towers, we have developed ratios of residential, office, entertainment, retail, essential commericial and hotel which are applied to each tower individually based on contextual information, parking, transportation infrastructure, views and proximety to boat berths. For example, the two largest towers are located at the entrance to the development, with the best access to public transportation (tram and bus) as well as close proximety to the bridge connecting Hernesaari with the new development being planned for the peninsula directly West. These towers at 20 stories also have the best views of the city, ocean and marina, as well as being a logical transition between the city of Helsinki proper and the new cruise ship terminal on our site. Because of these factors we have given the towers a ratio of 40% high end residential, 30% office, and 30% recreational shopping.



For the articulation of these program mixtures, we've scripted a process which offsets the tower surface to create an inner skin. This offset distance varies depending on the program mixture. The residential spaces receive a low offset, so that they sit very close to the outer surface, while entertainment and commercial spaces get offset farther inwards, creating a situation where the public programs sit within the poche space of the wall section. As a happy, but unintended side effect of the script, this also tends to create "bleb" spaces... to borrow a term from Greg Lynn. These blebs topologically follow the surface direction and curvature, but also as applied ornament.





The script is posted below:

/* --------------------------------------------------------------------------------------------------------------------------------------------------------------------------

OFFSET POLYGONAL SURFACE BASED ON PROXIMITY TO LOCATORS

begin by manually locating locators in space to define offset amount. polygons will offset linearly from locator through distance
defined by variable "offsetDist". first select object for offset prior to running the script. can use a maximum of 3 locators.

script written by Joshua Howell
UCLA Spring 2008, Kivi Sotamaa studio

Status: 05-25-2008: working!


*/

$cvCount = polyEvaluate -v;


$list = `ls-sl`; //define variables
$object = $list[0]; //define object for offset

int $offsetDist = 3;
rename "object";
xform -cp;


vector $ptLocatorA = `pointPosition -w ("locator1")`;
vector $ptLocatorB = `pointPosition -w ("locator2")`;
vector $ptLocatorC = `pointPosition -w ("locator3")`;

for ($i = 0; $i<= $cvCount; $i++) { vector $ptObject = `pointPosition -w ("object" + ".vtx[" + $i + "]")`; float $aa = (($ptLocatorA.x) - ($ptObject.x)); float $ba = (($ptLocatorA.y) - ($ptObject.y)); float $ca = (($ptLocatorA.z) - ($ptObject.z)); float $ab = (($ptLocatorB.x) - ($ptObject.x)); float $bb = (($ptLocatorB.y) - ($ptObject.y)); float $cb = (($ptLocatorB.z) - ($ptObject.z)); float $ac = (($ptLocatorC.x) - ($ptObject.x)); float $bc = (($ptLocatorC.y) - ($ptObject.y)); float $cc = (($ptLocatorC.z) - ($ptObject.z)); float $da = sqrt(((($aa*$aa) + ($ba*$ba) + ($ca*$ca)))); float $db = sqrt(((($ab*$ab) + ($bb*$bb) + ($cb*$cb)))); float $dc = sqrt(((($ac*$ac) + ($bc*$bc) + ($cc*$cc)))); select ("object" + ".vtx[" + $i + "]"); if (($da<$db) && ($da<$dc) && (($offsetDist-$da)>0))

moveVertexAlongDirection -n (-($offsetDist-$da));

else

if (($db<$da) && ($db<$dc) && (($offsetDist-$db)>0))

moveVertexAlongDirection -n (-($offsetDist-$db));

else

if (($dc<$db) && ($dc<$da) && (($offsetDist-$dc)>0))

moveVertexAlongDirection -n (-($offsetDist-$dc));

else
moveVertexAlongDirection -n (-0.5); //move faces too far away from locators 1/2 meter in from outer surface

}