portfolio 2010

JAMES MP DONOVAN

a product of the imagination...

a playful gesture...

a bold “what if…”

Poetic Potential of Computers Advisor: Bennett Neiman Fall 2009

00
01
west chelsea nyc

02

digital fabrication

03

architectonica

04

studio europe

05

processing

06

kayaking

directory
portfolio 2010

Spring 2009 Level: 3rd Year Professor: Christian Pongratz Duration: 12 weeks Site: 510 W19th Street, New York NY

01

west chelsea nyc
arch 3502 studio V

landmark new tower in the West Chelsea special district of New York City, a beautiful amalgamation of public art, fine dining and residential space in one unique destination

chelsea piers

site : 510 W19th st.

highline

context plan
1:4000

01 a new landmark
At 10 stories tall, the tower has a commanding presence in West Chelsea District of New York. The site, 510 W19th Street, is a lot adjacent to the NYC Highline: an abandoned elevated railway that runs through the heart of the district. Headed by Diller Scofidio + Renfro, the Highline project plans to repurpose the railway into a linear park that floats above the busy city below. With such a unique site, this project seeks to take advantage of the opportunity by opening up onto the Highline, inviting people into the restaurant, cafe, and gallery space inside. The project also houses several residential units, along with a breathtaking rooftop terrace.

02 design concept
The preliminary concept for this project is the intersection of two folding ribbons. From this starting point, the design saw many revisions and constant experimentation, though the idea of the ribbon remained present. The final design for this tower is based on a ribbon with a 90 degree twist along its axis. This base unit is mirrored, copied and combined to create an undulating facade. In all, the digital model of the building uses a remarkably small number of control points that determine it’s geometry.

stack

twist

mirror

detail seciton D

03 building envelope
The envelope is both sculptural and structural. In combination with the building core, the envelope acts as a primary load bearing element. The glazing of the building is defined by a voronoi system whose configuration is derived from LeCorbusier’s Modular series. These mathematical systems were modeled parametrically using Rhinoceros and Grasshopper, then applied to the geometry of the tower’s envelope. The diagram below shows the entire building unfolded and laid flat.

sculpture garden

south facade

roof lattice

B

wall section axonometric
1/4” = 1’

04 cladding system
The tower is clad in a series of faceted precast concrete panels, the joints between each panel defined according to the same geometry that defines the glazing of the building. In addition, each panel is perforated according to another voronoi sequence at a much smaller scale, giving the facade a dimpled appearance. The complex geometry of the building would require each panel to be unique, necessitating an automated, highly organized fabrication process of engineered-to-order components.

C

D

roof lattice

north facade

19th street

A

B

05 highline level plan
The lower three floors of the tower house an art gallery in a four story atrium that is open to the public. Visitors can access the gallery either from the ground floor off of W19th street, or they can enter directly from the Highline. The elevator core runs up the center of the tower, while the emergency egress stairwell has been pushed back against the firewall. The pattern applied to the floor is another interpretation of the voronoi system that was used to define the glazing on the facade of the building.

06 building sections
The tower is best described by its section. The building envelope bulges out and pinches in on itself, creating a variety of spaces that react to their program. Midway up the tower the floor slabs begin to alternate in a split level configuration in response to the programmatic requirements of the residential area. As the tower reaches its climax it culminates in a dramatic open lattice over a rooftop garden.

roof terrace
154’-0”

level 12
135’-0”

level 11
120’-0”

level 10
105’-0”

level 9
90’-0”

level 8
82’-6”

level 7
75’-0”

level 6
67’-6”

level 5
60’-0”

level 4
45’-0”

highline
32’-0”

level 3
30’-0”

level 2
15’-0”

roof terrace
150’-0”

level 12
135’-0”

level 11
120’-0”

level 10
105’-0”

level 9
90’-0”

level 8
82’-6”

level 7
75’-0”

level 6
67’-6”

level 5
60’-0”

level 4
45’-0”

highline
32’-0”

level 3
30’-0”

level 2
15’-0”

2008-2009 Level: 3rd Year Professors: Justin Kyle + Christian Pongratz Duration: 2 - 4 weeks

02

digital fabrication
arch 3341 digital media II + arch 3502 studio V + independent work

computer controlled laser cutting systems with a high level of precision allow for tectonic connections in the design and construction of formal assemblies

01 tectonic cage
Size and shape of the model were given as parameters of the assignment, while glue or other adhesives were prohibited in the construction of the model. Focus was on exploring the possibilities of the laser cutter as a tool for engineering accurate connections and assemblies. Because of the high level of precision possible with the laser cutter machine, the model required several revisions in order to calibrate the offsets in the CAD file to ensure a clean, secure joint.

02 complex surface fabrication
Waffle grid model of a basic surface with a smooth half twist along its axis. Producing digital models of NURBS surfaces such as this is common, though creating an accurate physical model without the aid of 3D printing machines presents many challenges. Modeled first digitally in Rhinoceros with the aid of the parametric modeling plug-in Grasshopper, then sent to the laser cutter machine, making it possible to create physical models quickly and accurately. This project was part of a series of study models for the West Chelsea project.

03 tectonic box v 3.1
Revised design for a 3×5 note card container, constructed as part of an independent project. Vertical bracing shifted to the exterior of the box, leaving the interior free of obstructions. Lid designed as an independent assembly that slips easily into the top edge of the box. Tectonic connections double as a stylistic treatment to exterior and interior, becoming an expression of the construction of the box. CAD file arranged to fit on a 12×32×¼ inch sheet of MDF, the smallest available at the TTU_CoA, keeping cost and wasted material to a minimum.

Fall 2007 Level: 2nd Year Professor: Kerenza Harris Duration: 8 weeks Site: Fictitious

03

architectonica
arch 2501 studio II

architectural system that interacts with its site based on design rules which govern its organization, density, and structure

01 joint study
The impetus for this system was a study into Japanese joinery techniques and the various joints employed by woodworking craftsmen. These connections require no adhesive; they derive their strength from the small pins that lock the pieces into place. The precision of these joints is crucial to their success, as even the slightest imperfections can weaken the connection. Three different joints are used in this preliminary model: the pinned half lap, a double pinned miter and the pinned scarf joint. Each of these joints has its own unique pin and combines two pieces together in a different way. The standard pinned lap joint was both the strongest and easiest to manufacture. For these reasons it was used exclusively in the final design.

pinned half lap

double pinned miter joint

pinned scarf joint

inventory:
21 surfaces 95 bars 133 pins

02 adaptability
The strongest feature of this system is its versatility. Even with only two main components, the bar and the surface, it is able to adapt to nearly any situation. The design process focused heavily on the interaction between the site and the architectural system, each influencing the other. In some areas the system determines the form the site will take, while in others the conditions of site dictate the configuration of the system.

hover rebuild

anchor

carve

span

tunnel

obscure

brace

Summer 2009 Level: 4th Year Professors: Hendrika Buelinckx + Bennett Neiman + Zach Pauls Duration: 5 weeks

04

studio europe
arch 4601 studio VI + independent work

B r u s s e l s + Pa r i s + A m s t e r d a m experience, document and capture the urban environment using photo collages, sequencing, mapping, and diagrams

ARCHI-GUIDE

BELGIUM + NETHERLANDS 2009

01 archi-guide 2009
As an independent project prior to our departure for Europe, we created a guide book that includes satellite images, pictures and information about all the projects we were scheduled to see on our summer study abroad. As head editor on the project, I was responsible for doing research, designing the layout and organization of the book, as well as compiling all the information into a single unified document. The book was published by Lulu.com and made available for our class. Collaborative work with G. Hemmelgarn & Z. Pauls

02 diagraming Corbusier
The Villa Savoye in Poissy, France stands as an icon of modern architecture. The grande promenade begins from the street and winds through this piece of architecture until it climaxes at the rooftop garden. Using photographs from our visit and a graphical language borrowed from Parisian metro maps, we sought to capture this complex, three dimensional promenade. Collaborative work with A. Wilson

03 sequence mapping
The Promenade Daumesnil in Paris, France is a lush, raised jogging trail that stretches 1,800 meters across the city. This assignment was to document the experience of walking this linear path through the city of Paris, including a contextual map and various data about the journey. Photos were used to capture the sights along the journey, focusing on several key moments that defined the experience. Collaborative work with A. Wilson

1

1
2

2 3 4 5

4

3

04 diagraming Koolhaas
The city center of Almere, NL displays a spatially complex master plan designed by Rem Koolhaas and the Office for Metropolitan Architecture. We traveled the length of the city center, photographing the constantly evolving public spaces along the way. We created a set of maps and diagrams that seek to contrast the built environment and the public space, each reinforcing the other. Collaborative work with A. Wilson

5

1

1

2 3 4 5

2

3

4

5

05 path vs. place
Urban environments are composed of two primary elements: the path and the place. During our visit to the medieval city of Bruges, Belgium, our assignment was to observe and document these two unique conditions. Our path sequence shows a series of condensed, crowded views taken as we moved through the city, highlighted only for a brief moment by a shot looking up at a small church. In our place sequence, we removed the buildings from a panoramic view of the plaza, emphasizing the open space that makes the plaza what it is: a destination where people can stop, look, and live. Collaborative work with A. Wilson

int int int int

i = 0; x1 = int(random(0, width)); y1 = int(random(0, height)) x2, y2;

void setup(){ size(4570, 3000); background(0); smooth(); } ; void draw(){ x2 = int(random(0, width)); y2 = int(random(0, height)); stroke(0,255,255,32); strokeWeight(1); line(x1,y1,x2,y2); if(i%100==0){ fill(0,255,255,8);

stroke(255,64); strokeWeight(2); ellipse(x2,y2,i/5,i/5); } x1=x2; y1=y2; i++;
Spring 2009 saveFrame(); Level: 3rd Year } Professor: Kuhn Park Duration: 16 weeks } Site: Texas Tech University College of Architecture, Lubbock TX.

if(i == 2000){

05

processing
arch 4341 design computing + independent work

int int int int

i = 0; x1 = int(random(0, width)); y1 = int(random(0, height)) x2, y2;

void setup(){ size(4570, 3000); background(0); smooth(); } void draw(){ x2 = int(random(0, width)); y2 = int(random(0, height)); stroke(0,255,255,32); strokeWeight(1); line(x1,y1,x2,y2); if(i%100==0){ fill(0,255,255,8);

stroke(255,64); strokeWeight(2); ellipse(x2,y2,i/5,i/5); } x1=x2; y1=y2; i++; if(i == 2000){ saveFrame(); }

}

programing code becomes a new language of design whose structure, organization and application reveals an underlying expression of order

01 sine rose
A graphical representation of the mathematical sine function created by a series of rotating circles that expand from a central point as their color fades from green to blue. The code utilizes only one ellipse command that runs exactly 1,000 times to create the image seen here. The size and position of the circle are defined mathematically and are each dependent on a pair of counting variables running in the code. In this sense, the task is not to produce the drawing itself, but design the system responsible for it.

source code: int i = 0; float a = 0.0; float inc = TWO_PI/100; float R, G, B; void setup(){ size(3200, 3200); background(0); smooth(); strokeWeight(.5); } void draw(){ R = 0; G = map(i, 0, 1000, 0, 255) - 100; B = map(i, 0, 1000, 255, 0) - 25; stroke(255,128); fill(B, G, B, 8); translate(width/2, height/2); rotate(radians(i × 131)); ellipse(0, (i) + (sin(a) × 20), i, i); a = a + inc; i++; if ( i == 1000 ){ noLoop(); saveFrame(); } }

02 sine tube
Another representation of the sine function, this two dimensional drawing creates the appearance of a volumetric tube. The circle moves from left to right, its color shifting from blue to red and its size diminishing as it approaches the center of the image. As before, the code calls only one ellipse command that repeats 900 times based on counting variables in the code. source code: int i = 0; float a = 0.0; float inc = TWO_PI/100; float R, G, B; void setup(){ size (3600, 3600); background(0); smooth(); strokeWeight(.5); } void draw(){ R = map(i, 0, width/2, 0, 255); G = 0; B = map(i, 0, width/2, 255, 0); fill(R, G, B, 4); stroke (255); ellipse(i × 2, height/2+sin(a) × 300, (height/4)-i, (height/4)-i); a = a + inc; i+=2; if ( i == 1800 ){ noLoop(); saveFrame(); } }

03 PET urchin installation
The PET Urchin project is about physical interaction between humans and the computer. This installation is an experiment in social behavior and seeks to create an environment that encourages teamwork and collaboration. PET Urchins are created from arrays of reclaimed water bottles collected in the TTU College of Architecture. These bottles are made from the plastic Polyethylene Terephthalate, or “PET” which is where this installation derives its name. We envisioned the PET Urchins as living entities with character and personality, communicating with their audience through light. They are social creatures that enjoy entertaining large audiences: the more people present, the more friendly the PET Urchins become. In all, this installation consists of three Urchins, each controlled by a Arduino Duemilanove board. The Arduino collects data from a series of pressure sensors around each PET Urchin that detect the presence of someone standing on them. Depending on the number and position of the people in the area, the Arduino powers an array of LEDs wired into the bottles, creating one of six unique “reactions,” ranging from the mundane to the spectacular. My primary contribution to the PET Urchin Project was designing apparatus to hold the bottles and writing the code that controls each Urchin’s behavior. Collaborative work with G. Hemmelgarn & A. Wilson

source code:
int threshold = 50; float decayRate = 1.0625; int ARED = 9; int AGREEN = 10; int ABLUE = 11; int BRED = 3; int BGREEN = 5; int BBLUE = 6; int AledR = 0; int AledG = 0; int AledB = 0; int BledR = 0; int BledG = 0; int BledB = 0; int forceSensor1 = 1; int forceSensor2 = 2; int forceSensor3 = 3; int forceSensor4 = 4; int forceSensor5 = 5; int value1 = 0; int value2 = 0; int value3 = 0; int value4 = 0; int value5 = 0; boolean present1 = false; boolean present2 = false; boolean present3 = false; boolean present4 = false; boolean present5 = false; boolean ARon = false; boolean AGon = false; boolean ABon = false; boolean BRon = false; boolean BGon = false; boolean BBon = false; boolean rave = false; boolean lonely = true; int ACOLORS[] = {ARED, AGREEN, ABLUE}; int BCOLORS[] = {BRED, BGREEN, BBLUE}; int L = 0; boolean dir = true; boolean up = true; void excited(int ALed, int Bled, boolean dir){ int i; int j; if (dir){ for (i = 0; i < 256; i+=5){ j = 255 - i; AledR = i; AledG = i; AledB = i; BledR = 255 - i; BledG = 255 - i; BledB = 255 - i; analogWrite(ALed, i); analogWrite(Bled, j); delay(1); } } else { for (i = 255; i > 0; i-=5){ j = 255 - i; AledR = i; AledG = i; AledB = i; BledR = 255 - i; BledG = 255 - i; BledB = 255 - i; analogWrite(ALed, i); analogWrite(Bled, j); delay(1); } } } void angry(){ int i; delay (500); for (i = 0; i < 21; i ++){ AledR = i; BledR = (20-i); analogWrite(ARED, AledR); analogWrite(BRED, BledR); delay(80); } delay (500); for (i = 20; i > -1; i--){ AledR = i; BledR = (20-i); analogWrite(ARED, AledR); analogWrite(BRED, BledR); delay(80); } } void setup(){ Serial.begin(9600); } void loop(){ int value11 = analogRead(forceSensor1); int value12 = analogRead(forceSensor2); int value13 = analogRead(forceSensor3); int value14 = analogRead(forceSensor4); int value15 = analogRead(forceSensor5); delay(5); int value21 = analogRead(forceSensor1); int value22 = analogRead(forceSensor2); int value23 = analogRead(forceSensor3); int value24 = analogRead(forceSensor4); int value25 = analogRead(forceSensor5); delay(5); int value31 = analogRead(forceSensor1); int value32 = analogRead(forceSensor2); int value33 = analogRead(forceSensor3); int value34 = analogRead(forceSensor4); int value35 = analogRead(forceSensor5); delay(5); int value41 = analogRead(forceSensor1); int value42 = analogRead(forceSensor2);

int value43 = analogRead(forceSensor3); int value44 = analogRead(forceSensor4); int value45 = analogRead(forceSensor5); delay(5); int value51 = analogRead(forceSensor1); int value52 = analogRead(forceSensor2); int value53 = analogRead(forceSensor3); int value54 = analogRead(forceSensor4); int value55 = analogRead(forceSensor5); delay(5); int value61 = analogRead(forceSensor1); int value62 = analogRead(forceSensor2); int value63 = analogRead(forceSensor3); int value64 = analogRead(forceSensor4); int value65 = analogRead(forceSensor5); delay(5); int value71 = analogRead(forceSensor1; int value72 = analogRead(forceSensor2); int value73 = analogRead(forceSensor3); int value74 = analogRead(forceSensor4); int value75 = analogRead(forceSensor5); delay(5); int value81 = analogRead(forceSensor1); int value82 = analogRead(forceSensor2); int value83 = analogRead(forceSensor3); int value84 = analogRead(forceSensor4); int value85 = analogRead(forceSensor5); delay(5); int value91 = analogRead(forceSensor1); int value92 = analogRead(forceSensor2); int value93 = analogRead(forceSensor3); int value94 = analogRead(forceSensor4); int value95 = analogRead(forceSensor5); delay(5); int value101 = analogRead(forceSensor1); int value102 = analogRead(forceSensor2); int value103 = analogRead(forceSensor3); int value104 = analogRead(forceSensor4); int value105 = analogRead(forceSensor5); value1 = ((value11+value21+value31+v alue41+value51+value61+value71+value 81+value91+value101)/10) * 2; value2 = ((value12+value22+value32+v alue42+value52+value62+value72+value 82+value92+value102)/10) * 2; value3 = ((value13+value23+value33+v alue43+value53+value63+value73+value 83+value93+value103)/10) * 2; value4 = ((value14+value24+value34+v alue44+value54+value64+value74+valu e84+value94+value104)/10) * 2; value5 = ((value15+value25+value35+v alue45+value55+value65+value75+value 85+value95+value105)/10) * 2; if (value1 > threshold){present1 = false;} else if (value1 < threshold) {present1 = true;} if (value2 > threshold){present2 = false;} else if (value2 < threshold) {present2 = true;} if (value3 > threshold){present3 = false;} else if (value3 < threshold) {present3 = true;} if (value4 > threshold){present4 = false;} else if (value4 < threshold) {present4 = true;} if (value5 > threshold){present5 = false;} else if (value5 < threshold) {present5 = true;} if (present1 == true && present2 == true && present3 == true && present4 == true && present5 == true){ rave = true; } if (present1 == false || present2 == false || present3 == false || present4 == false || present5 == false){ rave = false; } if (present1 == false && present2 == false && present3 == false && present4 == false && present5 == true){ lonely = true; } if (present1 == true || present2 == true || present3 == true || present4 == true || present5 == true){ lonely = false; } if (lonely == true){ angry(); } if (rave == true){ excited(ACOLORS[L%3], BCOLORS[L%3], dir); L++; dir = !dir; } if(present1 == true && ARon == false){

lonely = false; for (int i = 0; i < 256; i++){ analogWrite(ARED, AledR); delay(5); AledR = i; } ARon = true; } if(present2 == true && ARon == false){ lonely = false; for (int i = 0; i < 256; i++){ analogWrite(ARED, AledR); delay(5); AledR ++; } ARon = true; } if(present3 == true && AGon == false){ lonely = false; for (int i = 0; i < 256; i++){ analogWrite(AGREEN, AledG); delay(5); AledG ++; } AGon = true; } if(present4 == true && AGon == false){ lonely = false; for (int i = 0; i < 256; i++){ analogWrite(AGREEN, AledG); delay(5); AledG ++; } AGon = true; } if(present5 == true && ABon == false){ lonely = false; for (int i = 0; i < 256; i++){ analogWrite(ABLUE, AledB); delay(5); AledB ++; } ABon = true; } if(present1 == true && BRon == false){ lonely = false; for (int i = 0; i < 256; i++){ analogWrite(BRED, BledR); delay(5); BledR = i; } BRon = true; } if(present2 == true && BRon == false){ lonely = false; for (int i = 0; i < 256; i++){ analogWrite(BRED, BledR); delay(5); BledR ++; } BRon = true; } if(present3 == true && BGon == false){ lonely = false; for (int i = 0; i < 256; i++){ analogWrite(BGREEN, BledG); delay(5); BledG ++; } BGon = true; } if(present4 == true && BGon == false){ lonely = false; for (int i = 0; i < 256; i++){ analogWrite(BGREEN, BledG); delay(5); BledG ++; } BGon = true; } if(present5 == true && BBon == false){ lonely = false; for (int i = 0; i < 256; i++){ analogWrite(BBLUE, BledB); delay(5); BledB ++; } BBon = true; } if(present1 == false && ARon == true){ AledR = int(AledR/decayRate); analogWrite(ARED, AledR); if (AledR == 0){ ARon = false; } } if(present2 == false && ARon == true){ AledR = int(AledR/decayRate); analogWrite(ARED, AledR); if (AledR == 0){ ARon = false; } } if(present3 == false && AGon == true){ AledG = int(AledG/decayRate); analogWrite(AGREEN, AledG); if (AledG == 0){ AGon = false; } } if(present4 == false && AGon == true){ AledG = int(AledG/decayRate); analogWrite(AGREEN, AledG); if (AledG == 0){ AGon = false; } } if(present5 == false && ABon == true){ AledB = int(AledB/decayRate); analogWrite(ABLUE, AledB); if (AledB == 0){ ABon = false; } } if(present1 == false && BRon == true){ BledR = int(BledR/decayRate);

analogWrite(BRED, BledR); if (BledR == 0){ BRon = false; } } if(present2 == false && BRon == true){ BledR = int(BledR/decayRate); analogWrite(BRED, BledR); if (BledR == 0){ BRon = false; } } if(present3 == false && BGon == true){ BledG = int(BledG/decayRate); analogWrite(BGREEN, BledG); if (BledG == 0){ BGon = false; } } if(present4 == false && BGon == true){ BledG = int(BledG/decayRate); analogWrite(BGREEN, BledG); if (BledG == 0){ BGon = false; } } if(present5 == false && BBon == true){ BledB = int(BledB/decayRate); analogWrite(BBLUE, BledB); if (BledB == 0){ BBon = false; } } if(present1 == true && ARon == true && rave == false){ lonely = false; AledR = 255; analogWrite(ARED, AledR); } if(present2 == true && ARon == true && rave == false){ lonely = false; AledR = 255; analogWrite(ARED, AledR); } if(present3 == true && AGon == true && rave == false){ lonely = false; AledG = 255; analogWrite(AGREEN, AledG); } if(present4 == true && AGon == true && rave == false){ lonely = false; AledG = 255; analogWrite(AGREEN, AledG); } if(present5 == true && ABon == true && rave == false){ lonely = false; AledB = 255; analogWrite(ABLUE, AledB); } if(present1 == true && BRon == true && rave == false){ lonely = false; BledR = 255; analogWrite(BRED, BledR); } if(present2 == true && BRon == true && rave == false){ lonely = false; BledR = 255; analogWrite(BRED, BledR); } if(present3 == true && BGon == true && rave == false){ lonely = false; BledG = 255; analogWrite(BGREEN, BledG); } if(present4 == true && BGon == true && rave == false){ lonely = false; BledG = 255; analogWrite(BGREEN, BledG); } if(present5 == true && BBon == true && rave == false){ lonely = false; BledB = 255; analogWrite(BBLUE, BledB); } if (present1 == false && present2 == false && present3 == false && present4 == false && present5 == false && lonely == false){ AledR = int(AledR/decayRate); analogWrite(ARED, AledR); if (AledR == 0){ ARon = false; } AledG = int(AledG/decayRate); analogWrite(AGREEN, AledG); if (AledG == 0){ AGon = false; } AledB = int(AledB/decayRate); analogWrite(ABLUE, AledB); if (AledB == 0){ ABon = false; } BledR = int(BledR/decayRate); analogWrite(BRED, BledR); if (BledR == 0){ BRon = false; } BledG = int(BledG/decayRate); analogWrite(BGREEN, BledG); if (BledG == 0){ BGon = false; } BledB = int(BledB/decayRate); analogWrite(BBLUE, BledB); if (BledB == 0){ BBon = false; } if (ARon == false && AGon == false && ABon == false && BRon == false && BGon == false && BBon == false){ lonely = true; } } Serial.println(); }

Fall 2008 Level: 3rd Year Professor: Zach Pauls Duration: 12 weeks Site: Urbanovsky Park, Texas Tech University, Lubbock TX

06

kayaking
arch 3501 studio IV

enhance the kayak training experience by eliminating wasted time, providing kayakers with increased repetitions leading to a more valuable, highly productive training session

01 facility overview
The project consists of a massive whitewater kayaking training facility set in Urbanovsky Park, on the campus of Texas Tech University. The training facility is to be a part of a large scale National Aquatics Training Academy, creating a mini campus of aquatic venues within the larger community in which it resides. The facility uses a state of the art adjustable obstacle system capable of replicating any whitewater scenario. The 2.6 million-gallon lagoon is designed to speed the training process by keeping the athletes in their kayaks, eliminating the time wasted on numerous trips upstream.

rawls college of business

college of architecture

chitwood / weymouth dormitories lubbock horizon

02 circulation
The whitewater kayaking training facility takes the form of a concrete lagoon. The program of the facility is divided into three main areas. The first is open to the public, and invites visitors to the rails to look over the entry pool. The second zone is the entry lagoon where kayakers launch their boats and get their bearings. This area also includes the locker rooms and a stadium seating area for lessons and seminars. The third area is the main lagoon, a massive bowl that envelops the kayakers, isolating them from the distractions of the outside world.

concrete beach

catch pool (various depths)

03 inflatable obstacle system
By incorporating a completely adjustable obstacle system, the whitewater kayaking training facility can continually provide a new and exciting experience athletes are looking for. This versatile system allows the facility to cater to athletes of all skill levels, novice to expert. The obstacles are created from large air bladders capable of significantly altering the configuration of the rapids according to their pressure. This creates a dynamic environment in which the kayaker is forced to react to changing conditions, providing an authentic, challenging kayak training experience.

freestyle kayaker

± 16” water depth

12” concrete foundation layer inflatable padding

major obstacle component

minor obstacle component

04 entry terrace
Entrance into the Whitewater Kayaking Training Facility is marked by a passage trough a ring of arches that surround the terrace. On this ring rests seven concrete sails that soar out 90 feet to shade the entry lagoon, each suspended via tension cables from a massive concrete pier. This leaves the entry terrace free of obstructions. Beams are built into the top side of each sail, giving the impression of a simple, gently curved concrete slab hanging precariously overhead. Plaster model with wire mesh reinforcement built to scale spans over 16 inches and is less than 1/8 inch thick at its thinnest point.

JAMES MP DONOVAN
Bachelor of Science in Architecture
Texas Tech University
Lubbock, Texas

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.