Friday, May 2, 2008

FINAL SLIDES


















This is more current work. Some revisions and some new Rhino scripts...
I originally created my Rhino script in order to make extrusions of line work. The height of the extrusions is based on the layer on which the object is drawn. I initially used the script to create a couple of site models and some simple parts for a mill. I then moved on to using the script as a mapping tool. Extruding objects on an angle makes the line work appear as mesh. The further the extrusion the more dense the mesh. Basing the extrusion distances on data yields a new sort of way to visualize information. Because the mesh relies on density and transparency it is possible to easily overlay several layers of information.
-----------------------------------------------------------------------------------------------------------------------
SEE SCRIPT BELOW...
-----------------------------------------------------------------------------------------------------------------------
Option Explicit
'Script written by
'Script copyrighted by
'Script version Friday, March 14, 2008 12:43:00 PM

Call Main()
Sub Main()

'DECLARE VALUES

Dim arr1Start, arr1End

Dim objects

Dim strPath

Dim obj

Dim blnCap

Dim str1Layer
Dim str2Layer
Dim str3Layer
Dim str4Layer
Dim str5Layer
Dim str6Layer
Dim str7Layer

str1layer="01"'RELATE VALUE TO LAYER NUMBER
str2Layer="02"'RELATE VALUE TO LAYER NUMBER
str3Layer="03"'RELATE VALUE TO LAYER NUMBER
str4Layer="04"'RELATE VALUE TO LAYER NUMBER
str5Layer="05"'RELATE VALUE TO LAYER NUMBER
str6Layer="06"'RELATE VALUE TO LAYER NUMBER
str7Layer="07"'RELATE VALUE TO LAYER NUMBER

'BEGIN OPERATIONS


arr1Start=array(0,0,0)'CREATE AN ARRAY FROM THESE POINTS
arr1End=array(6,0,6)'TO THESE POINTS


objects=Rhino.ObjectsByLayer (str1Layer)'USING OBJECTS ON LAYER 2


For Each Obj In objects


strPath=Rhino.AddLine (arr1Start, arr1End)'TRACE ALL OBJECTS
Call Rhino.ExtrudeCurve (obj, strPath)'EXTRUDE EACH OBJECT TO ARRAY POINTS




Next


arr1Start=array(0,0,0)'CREATE AN ARRAY FROM THESE POINTS
arr1End=array(12,0,12)'TO THESE POINTS

objects=Rhino.ObjectsByLayer (str2Layer)'USING OBJECTS ON LAYER 2

For Each Obj In objects

strPath=Rhino.AddLine (arr1Start, arr1End)'TRACE ALL OBJECTS
Call Rhino.ExtrudeCurve (obj, strPath)'EXTRUDE EACH OBJECT TO NEW ARRAY POINTS



'THE ABOVE PROCESS CAN BE REPEATED AS MANY TIME AS
'THERE ARE DECLARED LAYER VALUES...




Next

Rhino.Command "_Cap"

'CAP ALL EXTRUSIONS




End Sub





Friday, March 7, 2008

ASSIGNMENT 3A


WAVES MAP SOUND...
I AM MAKING A PDF SERIES OF SITE SPECIFIC SOUND
MAPS...ALSO MAPPING EVENTS, SUBWAY APPROACH, RAIN...




//import krister.ess

import krister.Ess.*;
int bufferSize;int steps;float limitDiff;int numAverages=10;int colorX=0;float myDamp=.1f;float maxLimit,minLimit;
FFT myFFT;AudioInput myInput;
void setup () { size(530,100);
// start up Ess Ess.start(this);
// set up our AudioInput bufferSize=512; myInput=new AudioInput(bufferSize);
// set up our FFT myFFT=new FFT(bufferSize*2); myFFT.equalizer(true);
// set up our FFT normalization/dampening minLimit=.005; maxLimit=.05; myFFT.limits(minLimit,maxLimit); myFFT.damp(myDamp); myFFT.averages(numAverages);
// get the number of bins per average steps=bufferSize/numAverages;
// get the distance of travel between minimum and maximum limits limitDiff=maxLimit-minLimit;
frameRate(60);
myInput.start();}
void draw() { //background(188); //fill(255,0,0); // rect(0,0,530,221); fill(123,234,255,10); rect(-20,-20,600,221); strokeWeight(1); //stroke(0);
// draw the waveform
//stroke(255,100); int interp=(int)max(0,(((millis()-myInput.bufferStartTime)/(float)myInput.duration)*myInput.size));
for (int i=0;i if (i+interp+1 line(10+i,left,11+i,right); }
}
public void audioInputData(AudioInput theInput) { myFFT.getSpectrum(myInput);}



ASSIGNMENT 3







TRYING TO WORK WITH SOUND AND STRUCTURE...
POOR PHOTOGRAPHS WILL BE REPLACED...





import krister.Ess.*;
boolean switchIncrease=true;int lineX=0;int lineY=0;int bufferSize;int steps;float limitDiff;int numAverages=32;int colorX=0;float myDamp=.1f;float maxLimit,minLimit;
FFT myFFT;AudioInput myInput;
void setup () { size(700,400);
// start up Ess Ess.start(this);
// set up our AudioInput bufferSize=512; myInput=new AudioInput(bufferSize);
// set up our FFT myFFT=new FFT(bufferSize*2); myFFT.equalizer(true);
// set up our FFT normalization/dampening minLimit=.005; maxLimit=.05; myFFT.limits(minLimit,maxLimit); myFFT.damp(myDamp); myFFT.averages(numAverages);
// get the number of bins per average steps=bufferSize/numAverages;
// get the distance of travel between minimum and maximum limits limitDiff=maxLimit-minLimit;
frameRate(60); for(int i=0; i300){ switchIncrease=false; } if(lineX<0){ switchincrease="true;" interp="(int)max(0,(((millis()-myInput.bufferStartTime)/(float)myInput.duration)*myInput.size));" i="0;i

Monday, February 4, 2008






















WIERD GEOMETRIES
int lineX=0;int lineY=0;int lineYn=300;int lineXn=300;int colorX=0;boolean switchIncrease=true;boolean verticalIncrease=true;

void setup() {
size(300,300);}
void draw() { strokeWeight(2); //background(150); fill(lineX+25, lineX/2, 100, 5); rect(0,0,width,height); line(lineX,0,mouseX,mouseY); line(0, lineY, mouseX, mouseY); line(300, lineYn, mouseX, mouseY); line(lineXn, 300, mouseX, mouseY);
if (mousePressed == true){
if (switchIncrease==true){ lineX++; } if (switchIncrease==false){ lineX--; } if (verticalIncrease==true) { lineY++; } if (verticalIncrease==false) { lineY--; } if (verticalIncrease==true) { lineYn--; } if (verticalIncrease==false) { lineYn++; } if (switchIncrease==true) { lineXn--; } if (switchIncrease==false) { lineXn++; }
}
if(lineX>300){ switchIncrease=false; } if(lineX<0){ switchincrease="true;">300) { verticalIncrease=false; } if(lineY<0) { verticalIncrease=true; } }


ASSIGNMENT II

HAVING TROUBLE LOADING ASSIGNMENT 2...

Friday, January 25, 2008

PROCESSING ASSIGNMENT 1


This image was created using Processing Beta 1.0
________________________________________________________________________
//size(screen.width, screen.height);background(50, 150, 200);size(500,500);stroke(255, 255, 255); //color RGB + opacity

strokeWeight(2);line(300, 0, 300, 500);stroke (0,0,0);strokeWeight(5);line (310, 0 , 310, 500);stroke(20, 50, 200);fill(250, 250, 0);rect(0,0, 200, 400);stroke(0,0,0,255);line(60, 0,60, 500);strokeWeight(3);fill(100, 250, 0);stroke(20, 50, 200);rect(100,200, 300, 230);
strokeWeight(1);stroke(0,0,0);fill(255,255,255, 120);
ellipse(300,100, 300, 150);
strokeWeight(2);stroke(0,0,0);fill(255,255,255, 150);
ellipse(400,200, 200, 150);
strokeWeight(3);stroke(0,0,0);fill(255,255,255, 200);
ellipse(300,400, 150, 150);strokeWeight(1);
strokeWeight(2);fill(255,255,255, 100);arc(100, 200, 200, 200, 1, PI/2);
strokeWeight(3);fill(255,255,255, 100);arc(110, 200, 700 ,500, 1, PI/2);
strokeWeight(5);fill(255,255,255, 100);arc(120, 200, 1000 ,600, 1, PI/2);
___________________________________________________________________________





Thursday, January 24, 2008

Below you will find a link to our syllabus. This will give some idea of the type of projects we will be working on.

http://groups.google.com/group/pratt-parametric/web/syllabus

more soon.