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

}

1 comment:

Anonymous said...

Hello!
You may probably be very interested to know how one can manage to receive high yields on investments.
There is no need to invest much at first.
You may commense earning with a sum that usually is spent
on daily food, that's 20-100 dollars.
I have been participating in one company's work for several years,
and I'm ready to share my secrets at my blog.

Please visit my pages and send me private message to get the info.

P.S. I earn 1000-2000 per daily now.

http://theinvestblog.com [url=http://theinvestblog.com]Online Investment Blog[/url]