Archive for the ‘Generative Components Knowledge Drop’ Tag

Sprawl Ecology 11/14/08



the final Cluster Script

The burl script is finally done.

you can now use it on any point array.

create a new “control” point. and when it is brought into proximity with the point array it begins to reorder and disorder the points.

changing the integer which defines the control points color decides which [architectural] programmatic parameters affect the disorder.

color = 1 rearranges the points, creating an interior space and depth of disorder for Residential Spaces

color =2 does this for gallery spaces

color = 3 does this for theater spaces.

Picture 8.jpg

5 Sentences


Los Angeles is a sprawl-city consisting of pockets or knots of differentiation located within the homogenous. LAX is not sprawl, but rather a regularized, constant, undifferentiated homogenous node within the homogenous network of air travel.

The project seeks to map the macroscopic sprawl-structure of LA onto LAX, creating a sprawl-ecology in the homogenous dead zone of LAX.

It does so through layering of deformations:

1. injecting a viral deformation into the cartesian structural grid of the parking structure, creating a gradient of intensification through the space.

2. injecting a programatic attractor into the LAX ecology, a theatrical space, knotting the flow of circulation through the airport and drawing travelers into the project.

3. Space is no longer envisioned as neutral or homogenous, but rather reacts to changing occupancy by distortions in the architectural surfaces, creating distinct spatial conditions.

high low points

Here’s a script for finding the first and last point of an array, and then placing two points offset from them to allow you to locate a range or a box or anything outside of that point array. Note the first four “ints” are the offset amounts. If you want to use the exact points of the array set them all to zero. To use the script go to new feature “point from function”, and paste this into the function. In the object field type {“Name of Coordinate System”, “Nameof your PointArray Here”}

should work.

function (CoordinateSystem cs, Point [][] pntArray)



int xOffset = 15;

int yOffset = 15;

int zMinOffset = 1;

int zMaxOffset = 40;

int i = pntArray.Count;

int k = pntArray.DeepestRank();

Point pntLast;

pntLast = new Point(this);



int j = pntArray[i].Count;

Point pnt1;

Point pnt2;

pnt1 = new Point(pntLast);

pnt1.ByCartesianCoordinates(cs, xOffset, yOffset, zMinOffset, pntArray[i][j] );

pnt2 = new Point(pntLast);

pnt2.ByCartesianCoordinates(cs, (-1*xOffset), (-1*yOffset), zMaxOffset, pntArray[0][0] );




Point pnt1;

Point pnt2;

pnt1 = new Point(pntLast);

pnt1.ByCartesianCoordinates(cs, xOffset, yOffset, zMinOffset , pntArray[i] );

pnt2 = new Point(pntLast);

pnt2.ByCartesianCoordinates(cs, (-1*xOffset), (-1*yOffset),zMaxOffset, pntArray[0] );




easy law curves

here’s an easy way to set up a law curve. just download ezLawCurve.txt , open it up in notepad, or textedit, or word, then copy it all and paste it into the end of your transaction file and there you go: lawcurve.

The thing to do once you have it is to tap into the “lawCurve100.DependentVariable” as a parameter which can produce more fluid or “organic” densities of: points along lines, lines along surfaces etc etc. start by placing a point along a bspline using the “distance along curve” feature. Then use the lawCurve.DependentVariable. THEN play around with the law curve itself and see what happens…