SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
1 rules and numbers define the world around us both natural and manmade 2 design systems based on rules and experiment with the outcome  rather than design a static single solution.  3  populate these systems with data from various sources a  user needs | parametric office | small scale b  site and environmental criteria | parasitic office addition | medium scale c  randomly selected variables | algorithmic high-rises | large scale
rethinking the office cubical parametrically defined modules the project was conceptualized as an exploration of the capabilities of catia as not only a design development tool but as a methodology of design.  the goal was to create a single robust model with a high level of flexibility built into it.  the delivery strategy would be to build interactive website where an office manager could input relationship data which would relate to the level of interaction each member of a team would need within a work setting.  these relationships would then be translated into simple angular and length values which would drive the geometry of the requested workstation module.  using one model and a design table (an excel spreadsheet containing sets of values which parametrically update instances of the model) the objective was to allow for wide variety of configurations for each set of these relationships.  the lighting system for the office would embody a parametric relationship to the configuration of the workstations thus creating a visual register at the ceiling plane of the working relationships of the office.  by combining multiple team workstations with differing relationships into an interlocking system, a language would begin to emerge describing the office environment.
definition what should be parametric?
sketches set out initial geometries for the components
relationships geometric dimensions can be driven in relation to other pieces
similarities the lights were built with similar characteristics to the tables
tables modifying table values rebuilds a new model
families built from the same logical framework
ceiling plane interlocking lighting modules reflects team relationships below
 
 
computer housing   support arm work surface central support light leg work surface variable partition power / internet light bottom view top view
parasitic building algorithmic architecture the purpose of the algorithmic architecture course was to develop algorithms and computational methods that would encapsulate the processes that lead to the generation of meaningful architectural form. for this final project we were to develop an internal revenue service building that would act as a parasite to the host building (a turn of the century brick warehouse) in downtown boston. using maya embedded language (mel), the assignment asked to write code using techniques explored in the class which would create geometry for an architectural solution.
1 -  parasitism  is described as a relationship in which a  parasite temporarily or permanently exploits the energy of a host . (space, structure, street exposure, sunlight ) 2 -  parasites live on the outer surface of a host  or inside its body in respiratory organs, digestive organs, venous systems, as well as other organs and tissues.  (mutated skin layers) 3 - frequently a host provides a parasite not only with food, but also with enzymes and oxygen, and offers favorable temperature conditions. 4 -  but a host is certainly not inactive against a parasite , and it  hinders the development  and population growth of parasites with different  defense  echanisms , such as the  cleaning of skin , peristaltic contraction of the digestive aparatus, and the development of antibodies. (random erosion of parasitic surfaces) 5 -  parasites respond to this defense  by anchoring themselves with hooks and suckers onto skin, or digestive mucous membrane, and  by developing protective devices and substances which lessen defensive capabilities of their host.  (floor plates) 6 - there is  “tension” between a host and its parasite , since the  host endeavours to get rid of the foreign body , while the  parasite employs new ways to maintain the connection  with the host. (erosion of host) Cuscuta Strangler Tree parasitic building algorithmic architecture
the initial investigation defined a set of assets that the host building embodied that a parasite would desire to exploit. given the existing site, building code and height limitations, these assets were defined as the existing structure, space to grow, street exposure from the heavily traveled intersection, and access to natural light from the southern and eastern facades. the algorithm begins by rationalizing the host building into a regular ten foot module corresponding to the floor to floor height. the parasite begins by cloning the host building and then reading its available space to grow. each face of the parasite is then repositioned out to the corresponding available value minus a random value. once the parasite has grown, a morphing algorithm creates a series of morphed iterations between the host and parasite. these children form the layers of new offices. floor plates are created at every other existing floor of the host building reaching outwards to the new skin thus anchoring the parasite to its host. at this point the host building fights back by a code that selects a certain number of random faces of the host, parasite, and children and deletes them. since this action not only reconnects the host to these assets exploited by the parasite, but also provides a mutually shared addition of floor space the end result is more of a symbiotic association for the host and parasite rather than strictly a parasitic relationship.
1 -  defining the site boundaries the parasitic IRS building attaches to the host on the available east and south sides as well as on the roof to the allowable limits of the building code. in doing so the parasite creates an envelope which blocks the host’s access to sunlight and visibility from the major intersection at the corner of Lincoln street and Essex street. 2 -  measuring available space in order for the algorithm to be able to read the available space which it has to grow, a code must be written that calculates each measuring line and returns a value which can be used later in the code.
3 -  subdividing the surface the parasite initializes itself by cloning the host building and subdividing its surface into a 10ft module which corresponds to the existing host. The faces of this subdivision will then grow outwards reading data from the measuring lines and then subtracting a random value for each face. this random variable can be modified for a variety of resulting geometries. 4 -  filling the site the faces of the subdivided parasite geometry finally grow outward as indicated by the diagram below. Once all of the faces of the parasite on the east, south and roof of the parasite have been relocated to mature development, then a morphing operation is performed in the code which creates shell layers  children) which subdivide the enclosed volume into office layers. floor plates are created at every other existing floor of the host building reaching outwards to the new skin thus anchoring the parasite to its host.
 
 
 
 
 
 
 
 
 
 
 
 
high-rise form finding experiment
The starting point for this exercise was the diagonally braced tubular structure for a high rise scheme that i began working on as an undergraduate at IIT.  I was interested in developing a robust code which would allow for many of the parameters of the original scheme to be variable within a certain range of limitations in order to automate the manual method of traditional design in a digital environment. During the scripting process, I began to investigate the possibilities of a marriage between two slightly shifted structures. The most suggestive moment of the project occurred when I decided to see what forms the computer would arrive at if I allowed it to randomly select the variables within a confined range which I established. The result was that a series of families began to emerge, leading one to question role of the designer in this new field of exploration.
//Global Proc to set Colors!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! global proc setColor(string $object, string $type, float $red, float $green, float $blue, float $transparency){ $color = eval("createRenderNodeCB -asShader amp;quot;surfaceShaderamp;quot; " + $type +"amp;quot;amp;quot;"); //set the color eval("setAttr " + $color + ".color -type double3 "+ $red + " " + $green + " " + $blue); //set the transparency eval("setAttr " + $color + ".transparency -type double3 "+ $transparency + " " + $transparency + " " + $transparency); //assign the color eval("sets -e -forceElement " + $color + "SG "+ $object); };
//Spiral Buidling !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //Values !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! int $numFloors = 50;  // Number of Floors int $numSides = rand(3,24);  // Number of Sides Per Floor  int $rotAngle = rand(1,30);  // Angle of Rotation int $scaleShift = rand(1,3);  // Shifting Phase of Sin or Cos int $floorMf = rand(25,30); // Scale Multiplication Factor int $moveZ = 10;  // Floor to Floor Height  float $colRad = .5; // Column Radius float $colRad2 = .35; // Tertiary Column Radius float $platThick = .5; // Thickness of Floor Plate float $xscale = rand(20,30); // Disproportionate Scaling Value //Print Values !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! print ("int $numFloors = " + $numFloors + ";" + ""); print ("int $numSides = " +  $numSides + ";" + ""); print ("int $rotAngle = " + $rotAngle + ";" + ""); print ("int $scaleShift = " + $scaleShift + ";" + ""); print ("int $floorMf = " + $floorMf + ";" + ""); print ("int $moveZ = " +  $moveZ + ";" + ""); print ("float $colRad = " + $colRad + ";" + ""); print ("float $colRad2 = " + $colRad2 + ";" + ""); print ("float $platThick = " + $platThick + ";" + ""); print ("float $xscale = " + $xscale + ";" + "");
string $towName = &quot;A&quot;; //Sets Counter for ($numTow=2; $numTow<4; $numTow++){ //Create and Group 1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $g1 = &quot;&quot;; for($i=1; $i<$numFloors; $i++){ $name = (&quot;floor&quot; + $i + $towName); circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 1 -d 1 -s $numSides -name $name; float $scale = $floorMf * (sin(deg_to_rad($i*$scaleShift*$numTow))); if ($scale <= 0) { $scale = $scale - 10; } else { $scale = $scale + 20; } move ($scale/3) 0 ($moveZ * ($i-1)); rotate 0 0 ($i*$rotAngle); scale -ocp $xscale $scale $scale; $g1 = $g1 + &quot; floor&quot; + $i + $towName; print ($scale + &quot;  &quot;); } string $floorGroup = &quot;FloorGroup&quot; + $towName; eval(&quot;group -name &quot; + $floorGroup + $g1); select $floorGroup; string $loftName = &quot;LoftOne&quot; + $towName; loft -ch 1 -u 1 -c 0 -ar 1 -d 1 -ss 2 -rn 0 -po 0 -rsn true -name $loftName; setColor($loftName, &quot;blinn&quot;, (rand(1.)), (rand(1.)), (rand(1.)),.5);
//Create and Group Reverse!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $g1R = &quot;&quot;; for($i=1; $i<$numFloors; $i++){ $name = (&quot;floorR&quot; + $i + $towName); circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 1 -d 1 -s $numSides -name $name; float $scale = $floorMf * (sin(deg_to_rad($i*$scaleShift*$numTow))); if ($scale <= 0) { $scale = $scale - 10; } else { $scale = $scale + 20; } move ($scale/3) 0 ($moveZ * ($i-1)); rotate 0 0 ($i*(-$rotAngle)); scale -ocp $scale $xscale $scale; $g1R = $g1R + &quot; floorR&quot; + $i + $towName; print ($scale + &quot;  &quot;); } string $floorGroupR = &quot;FloorGroupR&quot; + $towName; eval(&quot;group -name &quot; + $floorGroupR + $g1R); select $floorGroupR; string $loftName = &quot;LoftOneR&quot; + $towName; loft -ch 1 -u 1 -c 0 -ar 1 -d 1 -ss 2 -rn 0 -po 0 -rsn true -name $loftName; hide; select -cl;
//###################################################################### //Create Columns One !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //Create Columns One !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $gC1 = &quot;&quot;; for($i=0; $i<$numSides; $i++){ string $column = &quot;column&quot; + $i + $towName; curve -d 1 -p 0 0 0  -name $column; for($j=1; $j<$numFloors; $j++){ string $x = &quot;pointPosition &quot; + &quot;floor&quot; + $j + $towName + &quot;.cv[&quot; + $i + &quot;]&quot;; float $p[] = eval($x); curve -a -p ($p[0]) ($p[1]) ($p[2]) $column; } $gC1 = $gC1 + &quot; column&quot; + $i + $towName; } string $columnName = &quot;ColumnGroup&quot; + $towName; eval(&quot;group -name &quot; + $columnName + $gC1); //Delete Columns One !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! for($i=0; $i<$numSides; $i++){ string $column = &quot;column&quot; + $i + $towName + &quot;.cv[0]&quot;; select $column; delete; select -cl; }
//Create Columns OneR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //Create Columns OneR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $gC1R = &quot;&quot;; for($i=0; $i<$numSides; $i++){ string $columnR = &quot;columnR&quot; + $i + $towName; curve -d 1 -p 0 0 0  -name $columnR; for($j=1; $j<$numFloors; $j++){ string $x = &quot;pointPosition &quot; + &quot;floorR&quot; + $j + $towName + &quot;.cv[&quot; + $i + &quot;]&quot;; float $p[] = eval($x); curve -a -p ($p[0]) ($p[1]) ($p[2]) $columnR; } $gC1R = $gC1R + &quot; columnR&quot; + $i + $towName; } string $columnNameR = &quot;ColumnGroupR&quot; + $towName; eval(&quot;group -name &quot; + $columnNameR + $gC1R); //Delete Columns OneR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! for($i=0; $i<$numSides; $i++){ string $columnR = &quot;columnR&quot; + $i + $towName + &quot;.cv[0]&quot;; select $columnR; delete; select -cl; }
//###################################################################### //Create and Group Circles!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $gCir = &quot;&quot;; for($i=0; $i<$numSides; $i++){ string $circle = &quot;circle&quot; + $i + $towName; circle -d 3 -r $colRad  -name $circle; for($j=1; $j<$numFloors; $j++){ float $p[] = eval(&quot;pointPosition floor1&quot;  + $towName + &quot;.cv[&quot; + $i + &quot;]&quot;); select $circle; move ($p[0]) ($p[1]) ($p[2]); } $gCir = $gCir + &quot; circle&quot; + $i + $towName; } string $circGroup = &quot;circGroup&quot; + $towName; eval(&quot;group -name &quot; + $circGroup + $gCir);
//###################################################################### //Create and Group Tubes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $t1 = &quot;&quot;; for($i=0; $i<$numSides; $i++){ string $column = &quot;column&quot; + $i + $towName; string $circle = &quot;circle&quot; + $i + $towName; select $circle $column; $name = &quot;tube&quot; + $i + $towName; extrude -ch true -rn false -po 0 -et 2 -ucp 1 -fpt 1 -upn 0 -rotation 0 -scale 1 -rsp 1 -name $name; select -cl; $t1 = $t1 + &quot; tube&quot; + $i + $towName; } string $tubeGroup = &quot;tubeGroup&quot; + $towName; eval(&quot;group -name &quot; + $tubeGroup + $t1);
//Extrude and Group Floor Plates !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $plates = &quot;&quot;; for($i=1; $i<$numFloors; $i++){ string $floor = &quot;floor&quot; + $i + $towName; select $floor; $name = &quot;plate&quot; + $i + $towName; planarSrf -ch 1 -d 1 -ko 0 -tol 0.01 -rn 0 -po 1 -name $name; polyExtrudeFacet -tz $platThick; select $name; move -r 0 0 ($platThick/(-2)); select -cl; $plates = $plates + &quot; plate&quot; + $i + $towName; } string $plateGroup = &quot;PlateGroup&quot; + $towName; eval(&quot;group -name &quot; + $plateGroup + $plates);
//Create Horizontal Tubes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! circle -c 0 0 0 -nr 0 0 1 -sw 360 -r ($colRad2*.8) -d 1 -s 24 -name &quot;TubeLoft&quot;; string $horTubes = &quot;&quot;; for($i=1; $i<$numFloors; $i++){ string $floor = &quot;floorR&quot; + $i + $towName; select TubeLoft $floor; $name = &quot;horTubes&quot; + $i + $towName; extrude -ch true -rn false -po 0 -et 2 -ucp 1 -fpt 1 -upn 1 -rotation 0 -scale 1 -rsp 1 -name $name; select -cl; $horTubes = $horTubes + &quot; horTubes&quot; + $i + $towName; } string $horTubesGroup = &quot;HorTubesGroup&quot; + $towName; eval(&quot;group -name &quot; + $horTubesGroup + $horTubes); $towName = $towName + &quot;A&quot;; }
grasshopper for rhino modules of code can be interchanged for plug and play
 
int $numFloors = 50; int $numSides = 22; int $rotAngle = 1; int $scaleShift = 1; int $floorMf = 25; int $moveZ = 10; float $colRad = 0.5; float $colRad2 = 0.35; float $platThick = 0.5; float $xscale28.6715236;
int $numFloors = 50; int $numSides = 19; int $rotAngle = 1; int $scaleShift = 2; int $floorMf = 25; int $moveZ = 10; float $colRad = 0.5; float $colRad2 = 0.35; float $platThick = 0.5; float $xscale = 22.77299504;
int $numFloors = 50; int $numSides = 6; int $rotAngle = 6; int $scaleShift = 1; int $floorMf = 26; int $moveZ = 10; float $colRad = 0.5; float $colRad2 = 0.35; float $platThick = 0.5; float $xscale29.47656126; float $platThick = 0.5; float $xscale24.19073302;
int $numFloors = 50; int $numSides = 17; int $rotAngle = 18; int $scaleShift = 1; int $floorMf = 25; int $moveZ = 10; float $colRad = 0.5; float $colRad2 = 0.35; float $platThick = 0.5; float $xscale = 20.08793908;
is the designers role in the manipulation of the language of the code? is the designers authorship still embodied within the initial conceptualization? is the final act of design the selection of the form is correct in the designers eyes? are “good accidents” which occur through algorithmic design credited to the designer and his intuition, or just random occurrences left up to post rational interpretations of the designer? (who will know, or will it matter if the code is not made public). this was only a short investigation, but i feel that there are potentials that would allow for a more feasible scheme with ranges of parameters set by structural optimizations. this would ultimately lead to a form in which one or both of the children would again become a diagonally braced structure. the advantage of approaching such a problem through algorithmic methods rather than tradition geometrical assembly in a software package using predefined graphic user interface (gui) methods are obvious. speed of visualizing solutions and slight deviations of solutions is one advantage of this method, however the combination of  experimentation a “good accidents” will be intrinsically more interesting to architectural exploration in the future for the architect. int $numFloors = 50; int $numSides = 6; int $rotAngle = 6; int $scaleShift = 1; int $floorMf = 26; int $moveZ = 10; float $colRad = 0.5; float $colRad2 = 0.35; float $platThick = 0.5; float $xscale29.47656126; float $platThick = 0.5; float $xscale24.19073302; ?

Weitere ähnliche Inhalte

Ähnlich wie Nicolas Anderson

Programme generated architecture
Programme generated architectureProgramme generated architecture
Programme generated architectureSatya Prakash
 
report2.doc
report2.docreport2.doc
report2.docbutest
 
Werfel, j. 2006: extended stigmergy in collective construction.in life intel...
Werfel, j. 2006: extended stigmergy in collective construction.in life  intel...Werfel, j. 2006: extended stigmergy in collective construction.in life  intel...
Werfel, j. 2006: extended stigmergy in collective construction.in life intel...ArchiLab 7
 
ACM Reference FormatSchumacher, C., Bickel, B., Rys, J., Mar.docx
ACM Reference FormatSchumacher, C., Bickel, B., Rys, J., Mar.docxACM Reference FormatSchumacher, C., Bickel, B., Rys, J., Mar.docx
ACM Reference FormatSchumacher, C., Bickel, B., Rys, J., Mar.docxdaniahendric
 
2014 IEEE JAVA DATA MINING PROJECT Multi comm finding community structure in ...
2014 IEEE JAVA DATA MINING PROJECT Multi comm finding community structure in ...2014 IEEE JAVA DATA MINING PROJECT Multi comm finding community structure in ...
2014 IEEE JAVA DATA MINING PROJECT Multi comm finding community structure in ...IEEEMEMTECHSTUDENTSPROJECTS
 
IEEE 2014 JAVA DATA MINING PROJECTS Multi comm finding community structure in...
IEEE 2014 JAVA DATA MINING PROJECTS Multi comm finding community structure in...IEEE 2014 JAVA DATA MINING PROJECTS Multi comm finding community structure in...
IEEE 2014 JAVA DATA MINING PROJECTS Multi comm finding community structure in...IEEEFINALYEARSTUDENTPROJECTS
 
Bruce Damer's talk at EE380, the Stanford University Computer Systems Colloqu...
Bruce Damer's talk at EE380, the Stanford University Computer Systems Colloqu...Bruce Damer's talk at EE380, the Stanford University Computer Systems Colloqu...
Bruce Damer's talk at EE380, the Stanford University Computer Systems Colloqu...Bruce Damer
 
Coates p 1999: exploring 3_d design worlds using lindenmeyer systems and gen...
Coates  p 1999: exploring 3_d design worlds using lindenmeyer systems and gen...Coates  p 1999: exploring 3_d design worlds using lindenmeyer systems and gen...
Coates p 1999: exploring 3_d design worlds using lindenmeyer systems and gen...ArchiLab 7
 
Coates p: the use of genetic programing in exploring 3 d design worlds
Coates p: the use of genetic programing in exploring 3 d design worldsCoates p: the use of genetic programing in exploring 3 d design worlds
Coates p: the use of genetic programing in exploring 3 d design worldsArchiLab 7
 
Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...ArchiLab 7
 
2015 10-7-11am-reproducible research
2015 10-7-11am-reproducible research2015 10-7-11am-reproducible research
2015 10-7-11am-reproducible researchYannick Wurm
 
An Overview Of Optimization
An Overview Of OptimizationAn Overview Of Optimization
An Overview Of OptimizationAvis Malave
 
Introduction to cosmology and numerical cosmology (with the Cactus code) (2/2)
Introduction to cosmology and numerical cosmology (with the Cactus code)  (2/2)Introduction to cosmology and numerical cosmology (with the Cactus code)  (2/2)
Introduction to cosmology and numerical cosmology (with the Cactus code) (2/2)SEENET-MTP
 
CS5393-Korat_Mittal_Akshay_ProjReport
CS5393-Korat_Mittal_Akshay_ProjReportCS5393-Korat_Mittal_Akshay_ProjReport
CS5393-Korat_Mittal_Akshay_ProjReportAkshay Mittal
 
CS 177 – Project #1 Summer 2015 Due Date =========.docx
CS 177 – Project #1 Summer 2015  Due Date =========.docxCS 177 – Project #1 Summer 2015  Due Date =========.docx
CS 177 – Project #1 Summer 2015 Due Date =========.docxfaithxdunce63732
 
Swarm Intelligence State of the Art
Swarm Intelligence State of the ArtSwarm Intelligence State of the Art
Swarm Intelligence State of the ArtMarek Kopel
 
BSO_jwh_paper
BSO_jwh_paperBSO_jwh_paper
BSO_jwh_paperJon Hand
 
Metron seas collaboration
Metron seas collaborationMetron seas collaboration
Metron seas collaborationikekala
 
Lackey_Cyber_Robot_Challenge_Report
Lackey_Cyber_Robot_Challenge_ReportLackey_Cyber_Robot_Challenge_Report
Lackey_Cyber_Robot_Challenge_ReportGeorge Jenkins
 
Patterns for the People
Patterns for the PeoplePatterns for the People
Patterns for the PeopleKevlin Henney
 

Ähnlich wie Nicolas Anderson (20)

Programme generated architecture
Programme generated architectureProgramme generated architecture
Programme generated architecture
 
report2.doc
report2.docreport2.doc
report2.doc
 
Werfel, j. 2006: extended stigmergy in collective construction.in life intel...
Werfel, j. 2006: extended stigmergy in collective construction.in life  intel...Werfel, j. 2006: extended stigmergy in collective construction.in life  intel...
Werfel, j. 2006: extended stigmergy in collective construction.in life intel...
 
ACM Reference FormatSchumacher, C., Bickel, B., Rys, J., Mar.docx
ACM Reference FormatSchumacher, C., Bickel, B., Rys, J., Mar.docxACM Reference FormatSchumacher, C., Bickel, B., Rys, J., Mar.docx
ACM Reference FormatSchumacher, C., Bickel, B., Rys, J., Mar.docx
 
2014 IEEE JAVA DATA MINING PROJECT Multi comm finding community structure in ...
2014 IEEE JAVA DATA MINING PROJECT Multi comm finding community structure in ...2014 IEEE JAVA DATA MINING PROJECT Multi comm finding community structure in ...
2014 IEEE JAVA DATA MINING PROJECT Multi comm finding community structure in ...
 
IEEE 2014 JAVA DATA MINING PROJECTS Multi comm finding community structure in...
IEEE 2014 JAVA DATA MINING PROJECTS Multi comm finding community structure in...IEEE 2014 JAVA DATA MINING PROJECTS Multi comm finding community structure in...
IEEE 2014 JAVA DATA MINING PROJECTS Multi comm finding community structure in...
 
Bruce Damer's talk at EE380, the Stanford University Computer Systems Colloqu...
Bruce Damer's talk at EE380, the Stanford University Computer Systems Colloqu...Bruce Damer's talk at EE380, the Stanford University Computer Systems Colloqu...
Bruce Damer's talk at EE380, the Stanford University Computer Systems Colloqu...
 
Coates p 1999: exploring 3_d design worlds using lindenmeyer systems and gen...
Coates  p 1999: exploring 3_d design worlds using lindenmeyer systems and gen...Coates  p 1999: exploring 3_d design worlds using lindenmeyer systems and gen...
Coates p 1999: exploring 3_d design worlds using lindenmeyer systems and gen...
 
Coates p: the use of genetic programing in exploring 3 d design worlds
Coates p: the use of genetic programing in exploring 3 d design worldsCoates p: the use of genetic programing in exploring 3 d design worlds
Coates p: the use of genetic programing in exploring 3 d design worlds
 
Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...
 
2015 10-7-11am-reproducible research
2015 10-7-11am-reproducible research2015 10-7-11am-reproducible research
2015 10-7-11am-reproducible research
 
An Overview Of Optimization
An Overview Of OptimizationAn Overview Of Optimization
An Overview Of Optimization
 
Introduction to cosmology and numerical cosmology (with the Cactus code) (2/2)
Introduction to cosmology and numerical cosmology (with the Cactus code)  (2/2)Introduction to cosmology and numerical cosmology (with the Cactus code)  (2/2)
Introduction to cosmology and numerical cosmology (with the Cactus code) (2/2)
 
CS5393-Korat_Mittal_Akshay_ProjReport
CS5393-Korat_Mittal_Akshay_ProjReportCS5393-Korat_Mittal_Akshay_ProjReport
CS5393-Korat_Mittal_Akshay_ProjReport
 
CS 177 – Project #1 Summer 2015 Due Date =========.docx
CS 177 – Project #1 Summer 2015  Due Date =========.docxCS 177 – Project #1 Summer 2015  Due Date =========.docx
CS 177 – Project #1 Summer 2015 Due Date =========.docx
 
Swarm Intelligence State of the Art
Swarm Intelligence State of the ArtSwarm Intelligence State of the Art
Swarm Intelligence State of the Art
 
BSO_jwh_paper
BSO_jwh_paperBSO_jwh_paper
BSO_jwh_paper
 
Metron seas collaboration
Metron seas collaborationMetron seas collaboration
Metron seas collaboration
 
Lackey_Cyber_Robot_Challenge_Report
Lackey_Cyber_Robot_Challenge_ReportLackey_Cyber_Robot_Challenge_Report
Lackey_Cyber_Robot_Challenge_Report
 
Patterns for the People
Patterns for the PeoplePatterns for the People
Patterns for the People
 

Kürzlich hochgeladen

Khushi sharma undergraduate portfolio...
Khushi sharma undergraduate portfolio...Khushi sharma undergraduate portfolio...
Khushi sharma undergraduate portfolio...khushisharma298853
 
Mike Tyson Sign The Contract Big Boy Shirt
Mike Tyson Sign The Contract Big Boy ShirtMike Tyson Sign The Contract Big Boy Shirt
Mike Tyson Sign The Contract Big Boy ShirtTeeFusion
 
Building+your+Data+Project+on+AWS+-+Luke+Anderson.pdf
Building+your+Data+Project+on+AWS+-+Luke+Anderson.pdfBuilding+your+Data+Project+on+AWS+-+Luke+Anderson.pdf
Building+your+Data+Project+on+AWS+-+Luke+Anderson.pdfsaidbilgen
 
LRFD Bridge Design Specifications-AASHTO (2014).pdf
LRFD Bridge Design Specifications-AASHTO (2014).pdfLRFD Bridge Design Specifications-AASHTO (2014).pdf
LRFD Bridge Design Specifications-AASHTO (2014).pdfHctorFranciscoSnchez1
 
Math Group 3 Presentation OLOLOLOLILOOLLOLOL
Math Group 3 Presentation OLOLOLOLILOOLLOLOLMath Group 3 Presentation OLOLOLOLILOOLLOLOL
Math Group 3 Presentation OLOLOLOLILOOLLOLOLkenzukiri
 
Production of Erythromycin microbiology.pptx
Production of Erythromycin microbiology.pptxProduction of Erythromycin microbiology.pptx
Production of Erythromycin microbiology.pptxb2kshani34
 
How to use Ai for UX UI Design | ChatGPT
How to use Ai for UX UI Design | ChatGPTHow to use Ai for UX UI Design | ChatGPT
How to use Ai for UX UI Design | ChatGPTThink 360 Studio
 
Cold War Tensions Increase - 1945-1952.pptx
Cold War Tensions Increase - 1945-1952.pptxCold War Tensions Increase - 1945-1952.pptx
Cold War Tensions Increase - 1945-1952.pptxSamKuruvilla5
 
Create Funeral Invites Online @ feedvu.com
Create Funeral Invites Online @ feedvu.comCreate Funeral Invites Online @ feedvu.com
Create Funeral Invites Online @ feedvu.comjakyjhon00
 
Embroidery design from embroidery magazine
Embroidery design from embroidery magazineEmbroidery design from embroidery magazine
Embroidery design from embroidery magazineRivanEleraki
 
High-Quality Faux Embroidery Services | Cre8iveSkill
High-Quality Faux Embroidery Services | Cre8iveSkillHigh-Quality Faux Embroidery Services | Cre8iveSkill
High-Quality Faux Embroidery Services | Cre8iveSkillCre8iveskill
 
Design mental models for managing large-scale dbt projects. March 21, 2024 in...
Design mental models for managing large-scale dbt projects. March 21, 2024 in...Design mental models for managing large-scale dbt projects. March 21, 2024 in...
Design mental models for managing large-scale dbt projects. March 21, 2024 in...Ed Orozco
 
Designing for privacy: 3 essential UX habits for product teams
Designing for privacy: 3 essential UX habits for product teamsDesigning for privacy: 3 essential UX habits for product teams
Designing for privacy: 3 essential UX habits for product teamsBlock Party
 
Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...
Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...
Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...Amil baba
 
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024Ted Drake
 
UX Conference on UX Research Trends in 2024
UX Conference on UX Research Trends in 2024UX Conference on UX Research Trends in 2024
UX Conference on UX Research Trends in 2024mikailaoh
 
The future of UX design support tools - talk Paris March 2024
The future of UX design support tools - talk Paris March 2024The future of UX design support tools - talk Paris March 2024
The future of UX design support tools - talk Paris March 2024Alan Dix
 
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptxWCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptxHasan S
 
Construction Documents Checklist before Construction
Construction Documents Checklist before ConstructionConstruction Documents Checklist before Construction
Construction Documents Checklist before ConstructionResDraft
 

Kürzlich hochgeladen (19)

Khushi sharma undergraduate portfolio...
Khushi sharma undergraduate portfolio...Khushi sharma undergraduate portfolio...
Khushi sharma undergraduate portfolio...
 
Mike Tyson Sign The Contract Big Boy Shirt
Mike Tyson Sign The Contract Big Boy ShirtMike Tyson Sign The Contract Big Boy Shirt
Mike Tyson Sign The Contract Big Boy Shirt
 
Building+your+Data+Project+on+AWS+-+Luke+Anderson.pdf
Building+your+Data+Project+on+AWS+-+Luke+Anderson.pdfBuilding+your+Data+Project+on+AWS+-+Luke+Anderson.pdf
Building+your+Data+Project+on+AWS+-+Luke+Anderson.pdf
 
LRFD Bridge Design Specifications-AASHTO (2014).pdf
LRFD Bridge Design Specifications-AASHTO (2014).pdfLRFD Bridge Design Specifications-AASHTO (2014).pdf
LRFD Bridge Design Specifications-AASHTO (2014).pdf
 
Math Group 3 Presentation OLOLOLOLILOOLLOLOL
Math Group 3 Presentation OLOLOLOLILOOLLOLOLMath Group 3 Presentation OLOLOLOLILOOLLOLOL
Math Group 3 Presentation OLOLOLOLILOOLLOLOL
 
Production of Erythromycin microbiology.pptx
Production of Erythromycin microbiology.pptxProduction of Erythromycin microbiology.pptx
Production of Erythromycin microbiology.pptx
 
How to use Ai for UX UI Design | ChatGPT
How to use Ai for UX UI Design | ChatGPTHow to use Ai for UX UI Design | ChatGPT
How to use Ai for UX UI Design | ChatGPT
 
Cold War Tensions Increase - 1945-1952.pptx
Cold War Tensions Increase - 1945-1952.pptxCold War Tensions Increase - 1945-1952.pptx
Cold War Tensions Increase - 1945-1952.pptx
 
Create Funeral Invites Online @ feedvu.com
Create Funeral Invites Online @ feedvu.comCreate Funeral Invites Online @ feedvu.com
Create Funeral Invites Online @ feedvu.com
 
Embroidery design from embroidery magazine
Embroidery design from embroidery magazineEmbroidery design from embroidery magazine
Embroidery design from embroidery magazine
 
High-Quality Faux Embroidery Services | Cre8iveSkill
High-Quality Faux Embroidery Services | Cre8iveSkillHigh-Quality Faux Embroidery Services | Cre8iveSkill
High-Quality Faux Embroidery Services | Cre8iveSkill
 
Design mental models for managing large-scale dbt projects. March 21, 2024 in...
Design mental models for managing large-scale dbt projects. March 21, 2024 in...Design mental models for managing large-scale dbt projects. March 21, 2024 in...
Design mental models for managing large-scale dbt projects. March 21, 2024 in...
 
Designing for privacy: 3 essential UX habits for product teams
Designing for privacy: 3 essential UX habits for product teamsDesigning for privacy: 3 essential UX habits for product teams
Designing for privacy: 3 essential UX habits for product teams
 
Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...
Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...
Best-NO1 Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakis...
 
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
 
UX Conference on UX Research Trends in 2024
UX Conference on UX Research Trends in 2024UX Conference on UX Research Trends in 2024
UX Conference on UX Research Trends in 2024
 
The future of UX design support tools - talk Paris March 2024
The future of UX design support tools - talk Paris March 2024The future of UX design support tools - talk Paris March 2024
The future of UX design support tools - talk Paris March 2024
 
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptxWCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
 
Construction Documents Checklist before Construction
Construction Documents Checklist before ConstructionConstruction Documents Checklist before Construction
Construction Documents Checklist before Construction
 

Nicolas Anderson

  • 1. 1 rules and numbers define the world around us both natural and manmade 2 design systems based on rules and experiment with the outcome rather than design a static single solution. 3 populate these systems with data from various sources a user needs | parametric office | small scale b site and environmental criteria | parasitic office addition | medium scale c randomly selected variables | algorithmic high-rises | large scale
  • 2. rethinking the office cubical parametrically defined modules the project was conceptualized as an exploration of the capabilities of catia as not only a design development tool but as a methodology of design. the goal was to create a single robust model with a high level of flexibility built into it. the delivery strategy would be to build interactive website where an office manager could input relationship data which would relate to the level of interaction each member of a team would need within a work setting. these relationships would then be translated into simple angular and length values which would drive the geometry of the requested workstation module. using one model and a design table (an excel spreadsheet containing sets of values which parametrically update instances of the model) the objective was to allow for wide variety of configurations for each set of these relationships. the lighting system for the office would embody a parametric relationship to the configuration of the workstations thus creating a visual register at the ceiling plane of the working relationships of the office. by combining multiple team workstations with differing relationships into an interlocking system, a language would begin to emerge describing the office environment.
  • 3. definition what should be parametric?
  • 4. sketches set out initial geometries for the components
  • 5. relationships geometric dimensions can be driven in relation to other pieces
  • 6. similarities the lights were built with similar characteristics to the tables
  • 7. tables modifying table values rebuilds a new model
  • 8. families built from the same logical framework
  • 9. ceiling plane interlocking lighting modules reflects team relationships below
  • 10.  
  • 11.  
  • 12. computer housing support arm work surface central support light leg work surface variable partition power / internet light bottom view top view
  • 13. parasitic building algorithmic architecture the purpose of the algorithmic architecture course was to develop algorithms and computational methods that would encapsulate the processes that lead to the generation of meaningful architectural form. for this final project we were to develop an internal revenue service building that would act as a parasite to the host building (a turn of the century brick warehouse) in downtown boston. using maya embedded language (mel), the assignment asked to write code using techniques explored in the class which would create geometry for an architectural solution.
  • 14. 1 - parasitism is described as a relationship in which a parasite temporarily or permanently exploits the energy of a host . (space, structure, street exposure, sunlight ) 2 - parasites live on the outer surface of a host or inside its body in respiratory organs, digestive organs, venous systems, as well as other organs and tissues. (mutated skin layers) 3 - frequently a host provides a parasite not only with food, but also with enzymes and oxygen, and offers favorable temperature conditions. 4 - but a host is certainly not inactive against a parasite , and it hinders the development and population growth of parasites with different defense echanisms , such as the cleaning of skin , peristaltic contraction of the digestive aparatus, and the development of antibodies. (random erosion of parasitic surfaces) 5 - parasites respond to this defense by anchoring themselves with hooks and suckers onto skin, or digestive mucous membrane, and by developing protective devices and substances which lessen defensive capabilities of their host. (floor plates) 6 - there is “tension” between a host and its parasite , since the host endeavours to get rid of the foreign body , while the parasite employs new ways to maintain the connection with the host. (erosion of host) Cuscuta Strangler Tree parasitic building algorithmic architecture
  • 15. the initial investigation defined a set of assets that the host building embodied that a parasite would desire to exploit. given the existing site, building code and height limitations, these assets were defined as the existing structure, space to grow, street exposure from the heavily traveled intersection, and access to natural light from the southern and eastern facades. the algorithm begins by rationalizing the host building into a regular ten foot module corresponding to the floor to floor height. the parasite begins by cloning the host building and then reading its available space to grow. each face of the parasite is then repositioned out to the corresponding available value minus a random value. once the parasite has grown, a morphing algorithm creates a series of morphed iterations between the host and parasite. these children form the layers of new offices. floor plates are created at every other existing floor of the host building reaching outwards to the new skin thus anchoring the parasite to its host. at this point the host building fights back by a code that selects a certain number of random faces of the host, parasite, and children and deletes them. since this action not only reconnects the host to these assets exploited by the parasite, but also provides a mutually shared addition of floor space the end result is more of a symbiotic association for the host and parasite rather than strictly a parasitic relationship.
  • 16. 1 - defining the site boundaries the parasitic IRS building attaches to the host on the available east and south sides as well as on the roof to the allowable limits of the building code. in doing so the parasite creates an envelope which blocks the host’s access to sunlight and visibility from the major intersection at the corner of Lincoln street and Essex street. 2 - measuring available space in order for the algorithm to be able to read the available space which it has to grow, a code must be written that calculates each measuring line and returns a value which can be used later in the code.
  • 17. 3 - subdividing the surface the parasite initializes itself by cloning the host building and subdividing its surface into a 10ft module which corresponds to the existing host. The faces of this subdivision will then grow outwards reading data from the measuring lines and then subtracting a random value for each face. this random variable can be modified for a variety of resulting geometries. 4 - filling the site the faces of the subdivided parasite geometry finally grow outward as indicated by the diagram below. Once all of the faces of the parasite on the east, south and roof of the parasite have been relocated to mature development, then a morphing operation is performed in the code which creates shell layers children) which subdivide the enclosed volume into office layers. floor plates are created at every other existing floor of the host building reaching outwards to the new skin thus anchoring the parasite to its host.
  • 18.  
  • 19.  
  • 20.  
  • 21.  
  • 22.  
  • 23.  
  • 24.  
  • 25.  
  • 26.  
  • 27.  
  • 28.  
  • 29.  
  • 31. The starting point for this exercise was the diagonally braced tubular structure for a high rise scheme that i began working on as an undergraduate at IIT. I was interested in developing a robust code which would allow for many of the parameters of the original scheme to be variable within a certain range of limitations in order to automate the manual method of traditional design in a digital environment. During the scripting process, I began to investigate the possibilities of a marriage between two slightly shifted structures. The most suggestive moment of the project occurred when I decided to see what forms the computer would arrive at if I allowed it to randomly select the variables within a confined range which I established. The result was that a series of families began to emerge, leading one to question role of the designer in this new field of exploration.
  • 32. //Global Proc to set Colors!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! global proc setColor(string $object, string $type, float $red, float $green, float $blue, float $transparency){ $color = eval(&quot;createRenderNodeCB -asShader amp;quot;surfaceShaderamp;quot; &quot; + $type +&quot;amp;quot;amp;quot;&quot;); //set the color eval(&quot;setAttr &quot; + $color + &quot;.color -type double3 &quot;+ $red + &quot; &quot; + $green + &quot; &quot; + $blue); //set the transparency eval(&quot;setAttr &quot; + $color + &quot;.transparency -type double3 &quot;+ $transparency + &quot; &quot; + $transparency + &quot; &quot; + $transparency); //assign the color eval(&quot;sets -e -forceElement &quot; + $color + &quot;SG &quot;+ $object); };
  • 33. //Spiral Buidling !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //Values !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! int $numFloors = 50; // Number of Floors int $numSides = rand(3,24); // Number of Sides Per Floor int $rotAngle = rand(1,30); // Angle of Rotation int $scaleShift = rand(1,3); // Shifting Phase of Sin or Cos int $floorMf = rand(25,30); // Scale Multiplication Factor int $moveZ = 10; // Floor to Floor Height float $colRad = .5; // Column Radius float $colRad2 = .35; // Tertiary Column Radius float $platThick = .5; // Thickness of Floor Plate float $xscale = rand(20,30); // Disproportionate Scaling Value //Print Values !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! print (&quot;int $numFloors = &quot; + $numFloors + &quot;;&quot; + &quot;&quot;); print (&quot;int $numSides = &quot; + $numSides + &quot;;&quot; + &quot;&quot;); print (&quot;int $rotAngle = &quot; + $rotAngle + &quot;;&quot; + &quot;&quot;); print (&quot;int $scaleShift = &quot; + $scaleShift + &quot;;&quot; + &quot;&quot;); print (&quot;int $floorMf = &quot; + $floorMf + &quot;;&quot; + &quot;&quot;); print (&quot;int $moveZ = &quot; + $moveZ + &quot;;&quot; + &quot;&quot;); print (&quot;float $colRad = &quot; + $colRad + &quot;;&quot; + &quot;&quot;); print (&quot;float $colRad2 = &quot; + $colRad2 + &quot;;&quot; + &quot;&quot;); print (&quot;float $platThick = &quot; + $platThick + &quot;;&quot; + &quot;&quot;); print (&quot;float $xscale = &quot; + $xscale + &quot;;&quot; + &quot;&quot;);
  • 34. string $towName = &quot;A&quot;; //Sets Counter for ($numTow=2; $numTow<4; $numTow++){ //Create and Group 1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $g1 = &quot;&quot;; for($i=1; $i<$numFloors; $i++){ $name = (&quot;floor&quot; + $i + $towName); circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 1 -d 1 -s $numSides -name $name; float $scale = $floorMf * (sin(deg_to_rad($i*$scaleShift*$numTow))); if ($scale <= 0) { $scale = $scale - 10; } else { $scale = $scale + 20; } move ($scale/3) 0 ($moveZ * ($i-1)); rotate 0 0 ($i*$rotAngle); scale -ocp $xscale $scale $scale; $g1 = $g1 + &quot; floor&quot; + $i + $towName; print ($scale + &quot; &quot;); } string $floorGroup = &quot;FloorGroup&quot; + $towName; eval(&quot;group -name &quot; + $floorGroup + $g1); select $floorGroup; string $loftName = &quot;LoftOne&quot; + $towName; loft -ch 1 -u 1 -c 0 -ar 1 -d 1 -ss 2 -rn 0 -po 0 -rsn true -name $loftName; setColor($loftName, &quot;blinn&quot;, (rand(1.)), (rand(1.)), (rand(1.)),.5);
  • 35. //Create and Group Reverse!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $g1R = &quot;&quot;; for($i=1; $i<$numFloors; $i++){ $name = (&quot;floorR&quot; + $i + $towName); circle -c 0 0 0 -nr 0 0 1 -sw 360 -r 1 -d 1 -s $numSides -name $name; float $scale = $floorMf * (sin(deg_to_rad($i*$scaleShift*$numTow))); if ($scale <= 0) { $scale = $scale - 10; } else { $scale = $scale + 20; } move ($scale/3) 0 ($moveZ * ($i-1)); rotate 0 0 ($i*(-$rotAngle)); scale -ocp $scale $xscale $scale; $g1R = $g1R + &quot; floorR&quot; + $i + $towName; print ($scale + &quot; &quot;); } string $floorGroupR = &quot;FloorGroupR&quot; + $towName; eval(&quot;group -name &quot; + $floorGroupR + $g1R); select $floorGroupR; string $loftName = &quot;LoftOneR&quot; + $towName; loft -ch 1 -u 1 -c 0 -ar 1 -d 1 -ss 2 -rn 0 -po 0 -rsn true -name $loftName; hide; select -cl;
  • 36. //###################################################################### //Create Columns One !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //Create Columns One !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $gC1 = &quot;&quot;; for($i=0; $i<$numSides; $i++){ string $column = &quot;column&quot; + $i + $towName; curve -d 1 -p 0 0 0 -name $column; for($j=1; $j<$numFloors; $j++){ string $x = &quot;pointPosition &quot; + &quot;floor&quot; + $j + $towName + &quot;.cv[&quot; + $i + &quot;]&quot;; float $p[] = eval($x); curve -a -p ($p[0]) ($p[1]) ($p[2]) $column; } $gC1 = $gC1 + &quot; column&quot; + $i + $towName; } string $columnName = &quot;ColumnGroup&quot; + $towName; eval(&quot;group -name &quot; + $columnName + $gC1); //Delete Columns One !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! for($i=0; $i<$numSides; $i++){ string $column = &quot;column&quot; + $i + $towName + &quot;.cv[0]&quot;; select $column; delete; select -cl; }
  • 37. //Create Columns OneR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //Create Columns OneR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $gC1R = &quot;&quot;; for($i=0; $i<$numSides; $i++){ string $columnR = &quot;columnR&quot; + $i + $towName; curve -d 1 -p 0 0 0 -name $columnR; for($j=1; $j<$numFloors; $j++){ string $x = &quot;pointPosition &quot; + &quot;floorR&quot; + $j + $towName + &quot;.cv[&quot; + $i + &quot;]&quot;; float $p[] = eval($x); curve -a -p ($p[0]) ($p[1]) ($p[2]) $columnR; } $gC1R = $gC1R + &quot; columnR&quot; + $i + $towName; } string $columnNameR = &quot;ColumnGroupR&quot; + $towName; eval(&quot;group -name &quot; + $columnNameR + $gC1R); //Delete Columns OneR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! for($i=0; $i<$numSides; $i++){ string $columnR = &quot;columnR&quot; + $i + $towName + &quot;.cv[0]&quot;; select $columnR; delete; select -cl; }
  • 38. //###################################################################### //Create and Group Circles!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $gCir = &quot;&quot;; for($i=0; $i<$numSides; $i++){ string $circle = &quot;circle&quot; + $i + $towName; circle -d 3 -r $colRad -name $circle; for($j=1; $j<$numFloors; $j++){ float $p[] = eval(&quot;pointPosition floor1&quot; + $towName + &quot;.cv[&quot; + $i + &quot;]&quot;); select $circle; move ($p[0]) ($p[1]) ($p[2]); } $gCir = $gCir + &quot; circle&quot; + $i + $towName; } string $circGroup = &quot;circGroup&quot; + $towName; eval(&quot;group -name &quot; + $circGroup + $gCir);
  • 39. //###################################################################### //Create and Group Tubes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $t1 = &quot;&quot;; for($i=0; $i<$numSides; $i++){ string $column = &quot;column&quot; + $i + $towName; string $circle = &quot;circle&quot; + $i + $towName; select $circle $column; $name = &quot;tube&quot; + $i + $towName; extrude -ch true -rn false -po 0 -et 2 -ucp 1 -fpt 1 -upn 0 -rotation 0 -scale 1 -rsp 1 -name $name; select -cl; $t1 = $t1 + &quot; tube&quot; + $i + $towName; } string $tubeGroup = &quot;tubeGroup&quot; + $towName; eval(&quot;group -name &quot; + $tubeGroup + $t1);
  • 40. //Extrude and Group Floor Plates !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! string $plates = &quot;&quot;; for($i=1; $i<$numFloors; $i++){ string $floor = &quot;floor&quot; + $i + $towName; select $floor; $name = &quot;plate&quot; + $i + $towName; planarSrf -ch 1 -d 1 -ko 0 -tol 0.01 -rn 0 -po 1 -name $name; polyExtrudeFacet -tz $platThick; select $name; move -r 0 0 ($platThick/(-2)); select -cl; $plates = $plates + &quot; plate&quot; + $i + $towName; } string $plateGroup = &quot;PlateGroup&quot; + $towName; eval(&quot;group -name &quot; + $plateGroup + $plates);
  • 41. //Create Horizontal Tubes !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! circle -c 0 0 0 -nr 0 0 1 -sw 360 -r ($colRad2*.8) -d 1 -s 24 -name &quot;TubeLoft&quot;; string $horTubes = &quot;&quot;; for($i=1; $i<$numFloors; $i++){ string $floor = &quot;floorR&quot; + $i + $towName; select TubeLoft $floor; $name = &quot;horTubes&quot; + $i + $towName; extrude -ch true -rn false -po 0 -et 2 -ucp 1 -fpt 1 -upn 1 -rotation 0 -scale 1 -rsp 1 -name $name; select -cl; $horTubes = $horTubes + &quot; horTubes&quot; + $i + $towName; } string $horTubesGroup = &quot;HorTubesGroup&quot; + $towName; eval(&quot;group -name &quot; + $horTubesGroup + $horTubes); $towName = $towName + &quot;A&quot;; }
  • 42. grasshopper for rhino modules of code can be interchanged for plug and play
  • 43.  
  • 44. int $numFloors = 50; int $numSides = 22; int $rotAngle = 1; int $scaleShift = 1; int $floorMf = 25; int $moveZ = 10; float $colRad = 0.5; float $colRad2 = 0.35; float $platThick = 0.5; float $xscale28.6715236;
  • 45. int $numFloors = 50; int $numSides = 19; int $rotAngle = 1; int $scaleShift = 2; int $floorMf = 25; int $moveZ = 10; float $colRad = 0.5; float $colRad2 = 0.35; float $platThick = 0.5; float $xscale = 22.77299504;
  • 46. int $numFloors = 50; int $numSides = 6; int $rotAngle = 6; int $scaleShift = 1; int $floorMf = 26; int $moveZ = 10; float $colRad = 0.5; float $colRad2 = 0.35; float $platThick = 0.5; float $xscale29.47656126; float $platThick = 0.5; float $xscale24.19073302;
  • 47. int $numFloors = 50; int $numSides = 17; int $rotAngle = 18; int $scaleShift = 1; int $floorMf = 25; int $moveZ = 10; float $colRad = 0.5; float $colRad2 = 0.35; float $platThick = 0.5; float $xscale = 20.08793908;
  • 48. is the designers role in the manipulation of the language of the code? is the designers authorship still embodied within the initial conceptualization? is the final act of design the selection of the form is correct in the designers eyes? are “good accidents” which occur through algorithmic design credited to the designer and his intuition, or just random occurrences left up to post rational interpretations of the designer? (who will know, or will it matter if the code is not made public). this was only a short investigation, but i feel that there are potentials that would allow for a more feasible scheme with ranges of parameters set by structural optimizations. this would ultimately lead to a form in which one or both of the children would again become a diagonally braced structure. the advantage of approaching such a problem through algorithmic methods rather than tradition geometrical assembly in a software package using predefined graphic user interface (gui) methods are obvious. speed of visualizing solutions and slight deviations of solutions is one advantage of this method, however the combination of experimentation a “good accidents” will be intrinsically more interesting to architectural exploration in the future for the architect. int $numFloors = 50; int $numSides = 6; int $rotAngle = 6; int $scaleShift = 1; int $floorMf = 26; int $moveZ = 10; float $colRad = 0.5; float $colRad2 = 0.35; float $platThick = 0.5; float $xscale29.47656126; float $platThick = 0.5; float $xscale24.19073302; ?