ALEXANDER H. FARLEY
Massachusetts Institute of Technology 2014 Master of Architecture
// Studio Work M.Arch Thesis: Laborlandschaft, 2013
04
Shoaling Pier: High Density Housing, 2013
16
Ca’ Sublimata: Venetian Museum, 2012
22
++Cloud Garden++ Data Center, 2012
30
Plein Aire Laboratory: Lincoln Laboratory Addition, 2011
36
Boston Architectural College Annex, 2011
44
Forest For The Trees: Kenmore Station, 2011
48
// Scripting + Fabrication Unflat Pavilion, 2011
52
Forces Frozen, 2014
54
Bubble Wall, 2012
56
Recursions, 2012
58
Objectifications, 2012
59
Enneper Vase, 2013
60
Costa Vase, 2013
61
Radiolarian Bowl, 2013
62
Press-Fit Tray, 2011
63
// Professional Work Renderings, 2012 - 2013
68
Purple Residence Pavilion, 2011
70
Purple Residence Addition, 2012
72
ALEXANDER FARLEY
1
2
ALEXANDER FARLEY
// Studio Work M.Arch Thesis: Laborlandschaft, 2013
04
Shoaling Pier: High Density Housing, 2013
16
Ca’ Sublimata: Venetian Museum, 2012
22
++Cloud Garden++ Data Center, 2012
30
Plein Aire Laboratory: Lincoln Laboratory Addition, 2011
36
Boston Architectural College Annex, 2011
44
Forest For The Trees: Kenmore Station, 2011
48
// Scripting + Fabrication // Professional Work
ALEXANDER FARLEY
3
// LABORLANDSCHAFT STUDIO: MIT THESIS - ANDREW SCOTT SITE: SEAPORT DISTRICT, BOSTON FALL, 2013
4
ALEXANDER FARLEY
RHINOCEROS, GRASSHOPPER, 3DS MAX, MAXWELL, V-RAY, THE ADOBE SUITE, AND PHYSICAL MODELLING WERE UTILIZED THROUGHOUT THE SEMESTER
This thesis proposes to redesign the industrial pharmaceutical laboratory typology by rethinking the composition of the laboratory module; the smallest functional sub-unit of the laboratory type. The design for this thesis applies contemporary corporate counterculture spatial organizational ideas onto the laboratory module. Central to these concepts is an architecture that is user-oriented and environmentally sensitive rather than managerially-oriented. The spatial organization seeks to flatten the managerial hierarchy by eliminating explicit office spaces. The laboratory is instead spatially divided according to affinity for behaviors and activities rather than strict programmatic designations. The laboratory module was initially conceived during World War II as a spatial system to accommodate inter-disciplinary research and development teams in an industrial laboratory setting. However, the spatial design of the module has become deterministically dictated by managerial control systems and calibrated by infrastructural service, rather than serving the environmental and social needs of the researchers. Contemporary laboratory architecture requires the same shift away from spaces organized for clerical work to fluid and open fields that have occurred in corporate architecture. However, architectural design cannot control occupant’s behaviors, but it can endorse a specific networked culture through the configuration of spaces. The use of common flexible spaces endorses and encourages social interaction. Likewise the form and figure of the laboratory establishes an environmental tone by allowing the research spaces to sit within an open field. This open field aspect allows for maximum daylighting and greater levels of visual and social interaction. Through a “plug and play� service infrastructure, the lab benches and fume hoods can behave more as setting and furniture rather than rigid spatial datums. Additionally, these spaces also provide for reconfigurability and easy upgradeability. By seeking to move away from standard laboratory spatial solutions and conventions the design takes the position that a laboratory field condition encourages new modes of scientific interaction and production. This laboratory functions as much as an intellectual play ground as it does a functional research laboratory. ALEXANDER FARLEY
5
Landmass Change
FEMA Flood Zones
= 100 yr flood - no base elevation = 100 yr flood - with base elevation = 500 yr flood
Boston BioPharmaceutical + Academia Clustering
6
ALEXANDER FARLEY
Waterfront Access + Circulation
PUBLIC PIERS
A
PUBLIC PATH LAB MODULE - HEAVY HVAC LAB MODULE - MEDIUM HVAC LAB MODULE - LIGHT HVAC SERVICE CORE PUBLIC PHYSIC GARDEN
B
B
CAFETERIA ROOF TERRACE ATRIUM SCIENCE MUSEUM (1st FLOOR) GYM (2nd FLOOR) AUDITORIUM PUMP STATION (UNDERGROUND) ENTRANCE PROMENADE MEDICINAL ARBORETUM PARKING LOT
A
SERVICE ENTRANCE MAIN ENTRANCE PUBLIC TRANSPORTATION
ALEXANDER FARLEY
7
ROOF Bench services tap [gas, vacuum, electrical, data]
GLAZING Bench services manifold [gas, vacuum, electrical, data]
Configuration 1
Conditioned air
Lab bench plugs into sub-floor service manifold CLADDING
HVAC
Transformation Short Section
Lab bench can rotate about the service port
STRUCTURE
Second Floor - Lab
No Social or Visual Interaction
SERVICE CORES
Configuration 2
PLUG + PLAY LAB BENCH SERVICING
First Floor - Lab B
RECONFIGURABLE LAB SPACE Standard Laboratory Section
Short Section 3rd FLOOR
Second Floor - Lab Benches
2nd FLOOR
Second Floor - Lab
Visual Interaction Social Mixing
No Social or Visual Interaction
1st FLOOR
Mezzanine - Desk
First Floor - Lab Benches
BUILDING SYSTEMS
8
ALEXANDER FARLEY
Standard Laboratory Section
SECTIONAL PARTI
Social Laboratory Section
Visual Interaction
First Floor - Lab B
FIRST FLOOR [+5m]
SECOND FLOOR [+10m]
ALEXANDER FARLEY
9
10
ALEXANDER FARLEY
1:50 STRUCTURE + SERVICE MODEL
1:200 SITE MODEL
ALEXANDER FARLEY
11
m/s
ENVIRON
15.00<= 13.50 12.00 10.50 9.00 7.50 6.00 4.50 3.00 1.50 <=0.00
Hourly Data: Wind Speed (m/s)
% m/s
ENVIRONMENTAL ANALYSIS SIMULATIONS
100.00<= 91.90
15.00<=
9.00
83.80 Wind-Rose Boston Logan IntL Arpt_MA_USA 75.70 1 JAN 1:00 - 31 DEC 24:00 67.60 Calm for 0.40% of the time = 35 hours. Each closed polyline shows frequency of 1.2%. = 102 hours. 59.50
7.50
51.40
6.00
43.30
4.50
35.20
3.00
27.10
1.50
<=19.00
13.50 12.00 10.50
<=0.00
Hourly Data: Relative Humidity (%)
Hourly Data: Wind Speed (m/s)
m/s
ENVIRONMENTAL ANALYSIS SIMULATIONS
15.00<=
Wind Rose Boston Logan International Airport January 1,1:00 am - December 31, 24:00 pm Calm for 0.40% of the time = 35 hours Each closed polyling shows frequency of 1.2% = 102 hours
12.00
%
C 32.00<=
100.00<=
9.00
Wind-Rose 91.90 Boston Logan IntL Arpt_MA_USA 83.80 1 JAN 1:00 - 31 DEC 24:00 Calm for 0.40% of the time = 35 hours. 75.70 Each closed polyline shows frequency of 1.2%. = 102 hours. 67.60
11.20
7.50
59.50
6.00
6.00
51.40
0.80
4.50
43.30
-4.40
3.00
35.20
-9.60
1.50
27.10
-14.80
<=0.00
<=19.00
13.50
10.50
Hourly Data: Wind Speed (m/s)
12
ENVIRONMENTAL ANALYSIS SIMULATIONS
Hourly Data: Relative Humidity (%)
ALEXANDER FARLEY %
26.80 21.60 16.40
<=-20.00
Hourly Data: Dry Bulb Temperature ( C)
Wind-Rose Boston Log 1 JAN 1:00 Calm for 0.4 Each closed
UDI = 57.11 %
Third Floor UDI = 57.11 %
Third Floor
UDI = 46.47 %
Second Floor UDI = 46.47 %
Second Floor
UDI = 62.82 % UDI = 62.82 %
UDI = 45.46 %
First Floor UDI = 45.46 %
First Floor
UDI = 4.07 % UDI = 4.07 %
UDI = 38.75 % UDI = 38.75 %
% Occupied Hours % Occupied Hours 0 17 33 50 67 83 100
USEFUL DAYLIGHT FROM ILLUMINATION SIMULATION USEFUL DAYLIGHT FROM ILLUMINATION SIMULATION Measurement from 0% to 100%, with the building occupied from 0
17 33
8am towith 6pmthe annually. 4 ambient 2m grid. 50 Measurement from 0% to 100%, building occupiedbounces. from Useful bounces. Daylight Illuminance (UDI) divides the working hours into 8am to 6pm annually. 4 ambient 2m grid. 67 three groups: lux (insufficient daylight), 100 lux < x < 2000 lux Useful Daylight Illuminance (UDI) divides<100 the working hours into 83 (useful daylight), and >2000 (too much three groups: <100 lux (insufficient daylight), 100 lux < lux x < 2000 lux daylight with potential heat gain issues) 100 (useful daylight), and >2000 lux (too much daylight with potential heat gain issues)
ALEXANDER FARLEY
13
3rd FLOOR PATIO + VIEW OF BOSTON HARBOR
1st FLOOR LABORATORY + VIEW OF OCEAN
14
ALEXANDER FARLEY
3rd FLOOR CAFETERIA + VIEW OF ORGANIC SYNTHESIS LAB
1st FLOOR SLIDING OFFICE PODS
CENTRAL ATRIUM + CONFERENCE ROOM
ALEXANDER FARLEY
15
// SHOALING PIER STUDIO: MIT - ANDREW SCOTT SITE: RINCON PARK, SAN FRANCISCO SPRING, 2013
16
ALEXANDER FARLEY
RHINOCEROS, PYTHON, GRASSHOPPER, 3DS MAX, MAXWELL, V-RAY, THE ADOBE SUITE, AND PHYSICAL MODELLING WERE UTILIZED THROUGHOUT THE SEMESTER
Zoning
= Office space
= Light Industrial
= Community business
= Residential
= Pedestrian
Public Access
= Public transportation
= Park
Public Spaces
= Open spaces
ALEXANDER FARLEY
17
SITE PLAN
UNIT 1 - 3rd FLOOR DOUBLE BEDROOM
18
ALEXANDER FARLEY
UNIT 4 - 3rd FLOOR SINGLE BEDROOM
UNIT 7 - 4th FLOOR CONFERENCE ROOM
UNIT 3rd FLOOR PLANS
SHORT SECTION
ALEXANDER FARLEY
19
20
ALEXANDER FARLEY
1:50 UNIT MODEL + 1:200 SITE MODEL
ALEXANDER FARLEY
21
// CA’ SUBLIMATA STUDIO: MIT - MARIA SEGANTINI (C + S) SITE: PARCO SAN GIULIANO, VENICE, ITALY SPRING, 2012
22
ALEXANDER FARLEY
RHINOCEROS, PYTHON, GRASSHOPPER, 3DS MAX, MAXWELL, V-RAY, THE ADOBE SUITE, AND PHYSICAL MODELLING WERE UTILIZED THROUGHOUT THE SEMESTER
NON-INTERACTIVE/SERVICE PROGRAM
AUDITORIUM
GALLERY
PIANO NOBILE
GALLERY
SALON
PORTEGO
GALLERY
PARTI
PORTEGO
INTERACTIVE/SERVED PROGRAM
PUBLIC SQUARE
FOOD PREPARATION
PROGRAMMING
BOAT RENTAL BOAT STORAGE
POTTERY
THEATER
PUBLIC
SQUARE
BUILDING
GALLERY
STUDIO
POTTERY GLASS GALLERY
ADMINISTRATION
STUDIO
STUDIO
WEB MUSEUM
LEVEL 2
STUDIO
MASKS
GALLERY
LEVEL 1
GALLERY
BOAT
CAFE
THEATER
THEATER
BOAT RENTAL
ENTRANCE LEVEL
GALLERY
LEVEL -1
LEVEL -2
GALLERY
GLASS MAKING
GALLERY
CAFE
The rising tides and eroding ground of the Veneto lagoon demands a strategy to connect with the mainland. A failure of many contemporary architectural designs in Venice is the paradoxical embrace of Venetian history and culture with contemporary design. In essence it must exist and notexist at the same time, a kind of sublimation between solid and void. This cultural center propses an adaptation of the Venetian palace typology with its long piano nobile and portego spaces pivoting around a piaza space that visually connects the center with the island of Venice to the West. The center is skinned with a louver system that offers environmental control as well allowing the building to simultaneously exist as a solid and void. ALEXANDER FARLEY
23
SECTION A R
2
1
E
-1
-2
SECTION B
R
2
1
E
-1
-2
SECTION C R
2
1
E
-1
-2
24
ALEXANDER FARLEY
SECTION D R
2
1
E
-1
-2
SECTION E
R
2
1
E
-1
-2
ALEXANDER FARLEY
25
LEVEL -1
LEVEL 1
LEVEL 2
LEVEL 3
26
ALEXANDER FARLEY
1:200 MODEL AND CONNECTION TO SITE
ALEXANDER FARLEY
27
VIEW OF VENICE FROM OUTDOOR SQUARE + CAFE
ARTIST LABS + ROOF COURTYARD
MAIN ENTRANCE + CENTRAL ATRIUM
DOCK + BOAT RENTAL
28
ALEXANDER FARLEY
ENTRANCE + OUTDOOR THEATER
ALEXANDER FARLEY
29
// ++ CLOUD GARDEN ++ STUDIO: MIT - SHEILA KENNEDY (KVA) SITE: MINNEAPOLIS, MINNESOTA FALL, 2012
30
ALEXANDER FARLEY
RHINOCEROS, PYTHON, GRASSHOPPER, 3DS MAX, MAXWELL, V-RAY, THE ADOBE SUITE, AND PHYSICAL MODELLING WERE UTILIZED THROUGHOUT THE SEMESTER
ENERGY GENERATION Granite City St. Cloud, MN
64 MW
Fuel type:
Sharco Becker, MN
2,400 MW
= Hydro Monticello Nuclear Monticello, MN
= Coal
600 MW
= Natural Gas
= Nuclear St. Croix Falls St. Croix Falls, WI
570 MW
RDF
Apple River Somerset, WI
2.9 MW
Riverside Minneapolis, MN
511 MW
Riverdale Somerset, WI
0.6 MW
Alan S. King Bayport, MN
588 MW High Bridge St. Paul, MN
570 MW
Hennepin Island Minneapolis, MN
Blue Lake
Black Dog
Shakopee, MN
Burnsville, MN
612 MW
538 MW
12 MW
South East
Inver Hills
U. Minnesota
? MW
Inver Grove, MN
3.6 MW Prairie Island Welsh, MN
1,100 MW
RDF Red Wing Red Wing, MN
200 MW
The neighborhoods of northwest Minneapolis have
MISSISSIPPI RIVER - RIVERBANK CHANGE
become separated from the natural amenities of the Mississippi River and the cultural programs available to the rest of the city. At the same time Minneapolis seeks both future-looking commercial
42nd Ave
opportunities and a brand identity that allows it to remain
= Deposition of silt on riverbank = Scouring of earth from riverbank
Canadian Pacific RR
relevant as a city. The siting of an architectural intervention that systemically integrates a data center with a botanical garden on the
Site
northwest bank of the Mississippi River and expands pedestrian infrastructure provides a means for the city to reconnect the northwestern neighborhoods with the river park system, create a Lowry Ave
cultural destination, and spur economic growth. Minneapolis is a city that has long used the river as an economic engine. However, this has resulted in a tension between the unavoidable impact of
Burlington Northern Sante Fe RR
industry on the land and the sacred relationship that Minnesotans have with nature. This design seeks to relieve the historic tension
Broadway Ave
between industry and nature through the integration of the botanical gardenâ&#x20AC;&#x2122;s climatic systems with the data centerâ&#x20AC;&#x2122;s infrastructural
Plymouth Ave
systems out of which a larger ecology can emerge. The garden Northstar Commuter Rail
can become a media-rich environment warmed and enveloped
Hennepin Ave
in an inflatable system generated by the data center waste heat
3rd Ave
and the data center more efficiently regulate its environmental
Stone Arch Bridge HW 18
systems through the mass and biological features of the plants. Michael Maltzan Architecture, Inc.
Dam + Lock - 1967
ALEXANDER FARLEY
31
= Refuse-derived
ENTRANCE LEVEL
PROGRAMMATIC + STRUCTURAL ORGANIZATION Inflatable manifold skin
Botanical garden
Inflatable manifold skin
Rigid structure + Service chases
Community gardens
Server racks
Cold water inlet
INFRASTRUCTURAL STRATEGY
Cold air and added humidity result in precipitation
Botanical gardens Community gardens
Heat rises off of servers to warms gardens + warmed water waters plants
Server racks Service / Cooling level
32
ALEXANDER FARLEY
Cold air from Mississippi River cools server racks
ALEXANDER FARLEY
33
SECTION A
Inflatable - Top Surface
Service Level
Botanical Garden Inflatable - Bottom Surface
Entrance Level + Community Gardens
Park Walkway
Cold Water Inlet
SECTION B
Inflatable - Top Surface
Service Level
Botanical Garden Inflatable - Bottom Surface
Entrance Level + Community Gardens
Park Walkway
Cold Water Inlet
SECTION C
Inflatable - Top Surface
Service Level
Botanical Garden Inflatable - Bottom Surface
Entrance Level + Community Gardens
Park Walkway
Cold Water Inlet
34
ALEXANDER FARLEY
INFLATABLE BOTANICAL GARDEN
ALEXANDER FARLEY
35
// PLEIN AIRE LABORATORY STUDIO: MIT - ANDREW SCOTT SITE: MIT LINCOLN LABORATORY, LEXINGTON, MASSACHUSETTS FALL, 2011
36
ALEXANDER FARLEY
RHINOCEROS, GRASSHOPPER, 3DS MAX, MAXWELL, V-RAY, THE ADOBE SUITE, AND PHYSICAL MODELLING WERE UTILIZED THROUGHOUT THE SEMESTER
This project offers a major expansion to Lincoln Laboratory campus. The current campus is overcrowded and decentralized. This design seeks open the laboratory space and offer new spaces for cross-disciplinary collaboration within an environment maximized for human comfort. The laboratory is an environment that has traditionally acquiesced to the technical and infrastructural needs of the program. This ignores the importance of the human capital that the laboratory serves. It is the comfort of the scientists that leads to innovation. This laboratory proposes a return to the envelope as the source of light and air in order to best serve the researchers. The envelope provides a microclimate that elevates the comfort of the occupants while providing for efficient thermal control of clean room, production and assembly spaces. As an extension of this, the tectonic elements of the laboratory dissipate with each floor; all beneath a roof comprised of nimbular aerogel-insulated ETFE pillows. The result is that through a search for environmental comfort an inversion of indoor and outdoor space can occur.
ALEXANDER FARLEY
37
ENTRANCE LEVEL
SECOND LEVEL
THIRD LEVEL
FOURTH LEVEL
FIFTH LEVEL
38
ALEXANDER FARLEY
PREVAILING WIND CHIMNEY EFFECT NAT. VENTILATION
SECTION B
CHIMNEY EFFECT NAT. VENTILATION
CHIMNEY EFFECT NAT. VENTILATION
PREVAILING WIND CHIMNEY EFFECT NAT. VENTILATION CHIMNEY EFFECT NAT. VENTILATION
CHIMNEY EFFECT NAT. VENTILATION VERTICALLY-MOUNTED AHUs
VERTICALLY-MOUNTED AHUs ENTHALPY WHEEL
ENTHALPY WHEEL
HEAT EXCHANGERS FRESH AIR INTAKE
FRESH AIR INTAKE
HEAT EXCHANGERS GEOTHERMAL HEAT PUMP
GEOTHERMAL HEAT PUMP
SECTION A GROUP PROJECT OFFICES
MICROSYSTEMS INTEGRATION CLASS 100
GROUP PROJECT OFFICES GROUP PROJECT OFFICES GROUP PROJECT OFFICES
MICROSYSTEMSINTEGRATION INTEGRATION MICROSYSTEMS CLASS 1000 100 CLASS
GROUP PROJECT GROUP PROJECT OFFICES OFFICES GROUP PROJECT OFFICES MICROFLUIDICS + BIOSENSORS LAB GROUP PROJECT OFFICES
MICROSYSTEMS INTEGRATION I&T CLASS 1000
SERVICE CHASE
I&T VERTICAL CHASE MICROFLUIDICS + BIOSENSORS LAB MACHINE SHOP SERVICE CHASE
VERTICAL CHASE MACHINE SHOP
ALEXANDER FARLEY
39
LINCOLN LABS - WEST LAB ADDITION - WALL DETAIL
ENVELOPE STRUCTURAL SYSTEM
DETAIL SECTION
P
H G B D
A A. Aluminum cladding B. Steel curtain wall hanger C. Fiberglass insulation D. Tubular steel column E. Steel mounting flange F. Steel J-anchor G.Tensegrity roof tensioning cable H. ETFE foil I. Tubular steel column J. Tensegrity tubular steel tension rod K. ETFE pillow pressure-regulation hose L. ETFE pressure-regulation valve M. Bird guard N. Grate O. Aluminum gutter P. Granular aerogel insulation
C
E F
I
P
L
N K
O Y X W A. Low-iron insulating glass B. Aluminum window sill C. Oak window sill D. Medium-density concrete E. Gypsum drywall F. Oak floor baord G. Moisture barrier membrane H. Aluminum floor riser I. Floor finish J. Interior glazing K. Extruded aluminum framing L. Drop-ceiling hangers M. Drop ceiling O. Low-density conrete light shelf P. Awning Q. Spider-sytem tensioning cable R. Stainless steel aluminum cladding wall anchor S. Extruded polystyrene insulation T. Alucobond dry-seal aluminum cladding z-clip system U. Spider clip rod V. Spider clip depth-adjustment element W. Spider clip X. Silicone seal Y. Laminated float glass Z. Vertical spider system tensioning cable
40
ALEXANDER FARLEY
Q
Z
A J
U V
R S T
B C D E F G
H
I
M
VIEW OF CLEAN ROOMS FROM COLLABORATION SPACE
ALEXANDER FARLEY
41
42
ALEXANDER FARLEY
1/16” = 1’ SITE MODEL
LABORATORY CENTRAL GALLERY + COLLABORATION SPACE
ALEXANDER FARLEY
43
// FOREST FOR THE TREES STUDIO: MIT - JOEL LAMERE SITE: KENMORE SQUARE, BOSTON SPRING, 2011
44
ALEXANDER FARLEY
RHINOCEROS, GRASSHOPPER, MAXWELL, THE ADOBE SUITE, AND PHYSICAL MODELLING WERE UTILIZED THROUGHOUT THE SEMESTER
DENDRIFORM CANTILEVER MORPHOLOGIES
15’
15 deg
10’
ROOF PLAN
7’
30 deg
REFLECTED CEILING PLAN
EAST SECTION
NORTH SECTION
ALEXANDER FARLEY
45
// TRANSPARENT SCHOOL STUDIO: MIT - JOEL LAMERE SITE: KENMORE SQUARE, BOSTON SPRING, 2011
46
ALEXANDER FARLEY
RHINOCEROS, GRASSHOPPER, MAXWELL, V-RAY, THE ADOBE SUITE, AND PHYSICAL MODELLING WERE UTILIZED THROUGHOUT THE SEMESTER
An extension to the Boston Architectural College loacted in Kenmore Square, Boston. This design seeks transparency in materiality and organization as a means to create a dialogue and discourse with a public unfamiliar with the discipline of architecture. A clear interface between the public and the architecture students is created through a series of inter-digitated gallery / review spaces and observation platforms. A necessary sepparation between the students and the public is achieved through distinct circulation routes. The structural system derives from the embodiment of the tree; offering both strength and shelter while simulataneously allowing the flexible creation of spaces calibrated to programmatic need.
ORGANIZATION
ADMINISTRATION
PRINT / PLOT
COMPUTER LAB
STUDIO
WOOD SHOP
FAB LAB
THEORY
DESIGN
GALLERY
REVIEW
GALLERY
REVIEW
GALLERY
REVIEW
LIBRARY
CLASSROOMS
AUDITORIUM
LOBBY
GENERAL CIRCULATION
CAFE
PRIVATE CIRCULATION
PUBLIC CIRCULATION
MATERIALS
ORIGINAL SITE PLAN WITH SUBTERRANEAN STRUCTURE
MODIFIED SITE PLAN WITH SUBTERRANEAN STRUCTURE = SITE EXPANSION
ALEXANDER FARLEY
47
SECTION A
THIRD LEVEL
48
ALEXANDER FARLEY
CENTRAL GALLERY SPACE
ALEXANDER FARLEY
49
50
ALEXANDER FARLEY
// Studio Work // Scripting + Fabrication Unflat Pavilion, 2011
52
Forces Frozen, 2014
54
Bubble Wall, 2012
56
Recursions, 2012
58
Objectifications, 2012
59
Enneper Vase, 2013
60
Costa Vase, 2013
61
Radiolarian Bowl, 2013
62
Press-Fit Tray, 2011
63
// Professional Work
ALEXANDER FARLEY
51
// UNFLAT PAVILION DESIGNED BY PROF. NICK GELPI FOR MIT 150 SITE: MIT, CAMBRIDGE, MA SPRING, 2011
SPRING LOADED
52
ALEXANDER FARLEY
RIGID SLOT
RIGID SILL PLATE
SOLID PLATE
RHINOCEROS, MASTERCAM, + 3-AXIS CNC MILLING WERE USED THROUGHOUT THE COURSE OF THE PROJECT.
Exterior Panel
1.6 in 0.5 in
1.6 in 0.5 in
96 in
96 in
Interior Panel
48 in
48 in
ALEXANDER FARLEY
53
// FORCES FROZEN DESIGNED WITH JAMES COLEMAN + TYLER CRAIN SITE: KRESGE CHAPEL, MIT, CAMBRIDGE, MA WINTER, 2014
54
ALEXANDER FARLEY
RHINOCEROS, MASTERCAM, + 3-AXIS CNC MILLING WERE USED THROUGHOUT THE COURSE OF THE PROJECT.
ALEXANDER FARLEY
55
// BUBBLE WALL DESIGNED WITH YANG-PING WANG + CHRIST MILLER STUDIO: MIT - EMERGENT MATERIALS WORKSHOP SPRING, 2012
Adaptation of the Cambridge Public Library doubleskinned facade to use a soap-foam insulation system.
56
ALEXANDER FARLEY
0 HRS 1 HRS
GLAZING
3 HRS
IRRIGATION SYSTEM
FILTER MEIDA TRAY
6 HRS SPONGE
RESEVOIR
12 HRS AIR COMPRESSOR
SOLUTION COMPOSITION TESTING
FULL SCALE PROTOTYPE DESIGN
FULL SCALE PROTOTYPE DOCUMENTATION ALEXANDER FARLEY
57
// RECURSIONS
length = len(self.spiral_points) index = range(length)
STUDIO: MIT - DESIGNING NATURE - JUHONG PARK angle = 90 FALL, 2012 for i in index:
import rhinoscriptsyntax as rs import math ### Controller class class GoldenSpiral(): def __init__(self): self.NS = None self.phi = (math.sqrt(5)+1)/2 self.plane = rs.WorldXYPlane() # Negative angle for clockwise spiral self.angle = -90 origin = [0,0,0] self.origin = rs.AddPoint(origin) self.spiral_points = [] endPt = [1,0,0] self.endPt = rs.AddPoint(endPt) self.endPts = [] self.endPts.append(endPt) self.spiralArcList = [] KOCH CURVE
def makeSpiralPoints(self): endPt = self.endPt origin = self.origin for i in range(12): trans = rs.VectorSubtract(origin, endPt) scaled_trans = rs.VectorScale(trans, self.phi) origin = rs.CopyObject(endPt, scaled_trans) originCoord = rs.PointCoordinates(origin) points = [origin, endPt] tempID = rs.AddCurve(points) lineID = rs.RotateObject(tempID, origin, self.angle) temp_endPt = rs.CurveEndPoint(lineID) endPt = rs.AddPoint(temp_endPt) endPtCoord = rs.PointCoordinates(endPt) self.endPts.append(endPtCoord) rs.DeleteObject(tempID) params = [scaled_trans, originCoord] DIFFUSION-LIMITED AGGREGATION self.spiral_points.append(params)
58def makeSpiralArc(self): ALEXANDER FARLEY
plane = rs.MovePlane(self.plane, self.spiral_points[i][1]) rotated = rs.RotatePlane(plane, angle, plane.ZAxis) radius = math.fabs(self.spiral_points[i][0][0]) if (radius != 0): arc = rs.AddArc(rotated, radius, self.angle) rs.RotateObject(arc, self.spiral_points[i][1], self.angle) else: radius = math.fabs(self.spiral_points[i][0][1]) arc = rs.AddArc(rotated, radius, self.angle) rs.RotateObject(arc, self.spiral_points[i][1], self.angle) self.spiralArcList.append(arc) angle -= 90
def main(self): self.makeSpiralPoints() self.makeSpiralArc() self.NS = NautilusShell(self) self.NS.main() ### Model class class NautilusShell(): def __init__(self, NS): self.endPts = NS.endPts self.spiralArcList = NS.spiralArcList LINDENMAYER SYSTEM
self.midpointsList = [] self.quarterpointsList = [] self.crossSectionList = [] self.surfaceList = [] self.SP = None
def makeControlPoints(self): length = len(self.endPts) index = range(length) for i in index: if (i <=4): pts = [self.endPts[0], self.endPts[i]] lineID = rs.AddCurve(pts, 3) else: pts = [self.endPts[(i - 4)], self.endPts[i]] lineID = rs.AddCurve(pts, 3) points = rs.DivideCurve(lineID, 4) NAUTILUS SHELL tempID = rs.AddPoint(points[1]) points[1] = self.moveControlQuarterPoint(tempID) tempID = rs.AddPoint(points[2]) points[2] = self.moveControlMidPoint(tempID) tempID = rs.AddPoint(points[3])
points[3] = self.moveControlQuarterPoint(tempID) rs.DeleteObject(lineID) cross_section = rs.AddCurve(points, 3) self.crossSectionList.append(cross_section) def moveControlQuarterPoint(self, tempID): temp_qPt = rs.PointCoordinates(tempID) temp_endPt = [temp_qPt[0], temp_qPt[1], (temp_qPt[2] - 0.23)] trans = rs.VectorSubtract(temp_qPt, temp_endPt) quarterPt = rs.MoveObject(tempID, trans) return quarterPt def moveControlMidPoint(self, tempID): temp_mPt = rs.PointCoordinates(tempID) temp_endPt = [temp_mPt[0], temp_mPt[1], (temp_mPt[2] - 0.313)] trans = rs.VectorSubtract(temp_mPt, temp_endPt) midPt = rs.MoveObject(tempID, trans) return midPt def makeEdgeSurface(self): # The first four surfaces have to be handled uniquely # first surface curves0 = [self.spiralArcList[0], self.crossSectionList[1]] surface = rs.AddEdgeSrf(curves0) self.surfaceList.append(surface) length = len(self.spiralArcList) index = NOISE range(length) PERLIN HEIGHT FIELD # next three surfaces for i in index: if(i > 0 and i <=3): curves = [self.spiralArcList[i], self.crossSectionList[i], self.crossSectionList[i+1]] surface = rs.AddEdgeSrf(curves) self.surfaceList.append(surface) # all of the other surfaces else: curves = [self.spiralArcList[i], self.spiralArcList[i - 4], self.crossSectionList[i], self.crossSectionList[i+1]] surface = rs.AddEdgeSrf(curves) self.surfaceList.append(surface) length = len(self.surfaceList) #rs.JoinSurfaces(self.surfaceList) def main(self): self.makeControlPoints() self.makeEdgeSurface() self.SP = SurfacePattern(self) self.SP.main() SWALLOWâ&#x20AC;&#x2122;S NEST ATTRACTOR
### View class class SurfacePattern(): def __init__(self, GS): PYTHON, RHINOCEROS,AND DIGITAL FABRICATION self.surfaceList = GS.surfaceList
// OBJECTIFICATIONS
length = len(self.spiral_points) index = range(length)
STUDIO: MIT - DESIGNING NATURE - JUHONG PARK angle = 90 FALL, 2012 for i in index:
plane = rs.MovePlane(self.plane, self.spiral_points[i][1]) rotated = rs.RotatePlane(plane, angle, plane.ZAxis) radius = math.fabs(self.spiral_points[i][0][0]) if (radius != 0): arc = rs.AddArc(rotated, radius, self.angle) rs.RotateObject(arc, self.spiral_points[i][1], self.angle) else: radius = math.fabs(self.spiral_points[i][0][1]) arc = rs.AddArc(rotated, radius, self.angle) rs.RotateObject(arc, self.spiral_points[i][1], self.angle)
import rhinoscriptsyntax as rs import math ### Controller class class GoldenSpiral(): def __init__(self): self.NS = None self.phi = (math.sqrt(5)+1)/2 self.plane = rs.WorldXYPlane() # Negative angle for clockwise spiral self.angle = -90 origin = [0,0,0] self.origin = rs.AddPoint(origin)
self.spiralArcList.append(arc) angle -= 90 def main(self): self.makeSpiralPoints() self.makeSpiralArc() self.NS = NautilusShell(self) self.NS.main()
self.spiral_points = [] endPt = [1,0,0] self.endPt = rs.AddPoint(endPt) self.endPts = [] self.endPts.append(endPt)
### Model class class NautilusShell(): def __init__(self, NS): self.endPts = NS.endPts self.spiralArcList = NS.spiralArcList
self.spiralArcList = [] def makeSpiralPoints(self): endPt = self.endPt origin = self.origin
self.midpointsList = [] self.quarterpointsList = []
for i in range(12): trans = rs.VectorSubtract(origin, endPt) scaled_trans = rs.VectorScale(trans, self.phi) origin = rs.CopyObject(endPt, scaled_trans) originCoord = rs.PointCoordinates(origin) points = [origin, endPt] tempID = rs.AddCurve(points) lineID = rs.RotateObject(tempID, origin, self.angle) temp_endPt = rs.CurveEndPoint(lineID) endPt = rs.AddPoint(temp_endPt) endPtCoord = rs.PointCoordinates(endPt) self.endPts.append(endPtCoord) rs.DeleteObject(tempID) params = [scaled_trans, CELLULAR AUTOMATAoriginCoord] self.spiral_points.append(params)
self.crossSectionList = [] self.surfaceList = [] self.SP = None def makeControlPoints(self): length = len(self.endPts) index = range(length) for i in index: if (i <=4): pts = [self.endPts[0], self.endPts[i]] lineID = rs.AddCurve(pts, 3) else: pts = [self.endPts[(i - 4)], self.endPts[i]] lineID = rs.AddCurve(pts, 3) points = rs.DivideCurve(lineID, 4)
DATA VISUALIZATION FLOCKING 1 tempID = rs.AddPoint(points[1]) (HURRICANE SANDY) points[1] = self.moveControlQuarterPoint(tempID)
def makeSpiralArc(self): PYTHON, RHINOCEROS,AND DIGITAL FABRICATION
tempID = rs.AddPoint(points[2]) points[2] = self.moveControlMidPoint(tempID) tempID = rs.AddPoint(points[3])
points[3] = self.moveControlQuarterPoint(tempID) rs.DeleteObject(lineID) cross_section = rs.AddCurve(points, 3) self.crossSectionList.append(cross_section) def moveControlQuarterPoint(self, tempID): temp_qPt = rs.PointCoordinates(tempID) temp_endPt = [temp_qPt[0], temp_qPt[1], (temp_qPt[2] - 0.23)] trans = rs.VectorSubtract(temp_qPt, temp_endPt) quarterPt = rs.MoveObject(tempID, trans) return quarterPt def moveControlMidPoint(self, tempID): temp_mPt = rs.PointCoordinates(tempID) temp_endPt = [temp_mPt[0], temp_mPt[1], (temp_mPt[2] - 0.313)] trans = rs.VectorSubtract(temp_mPt, temp_endPt) midPt = rs.MoveObject(tempID, trans) return midPt def makeEdgeSurface(self): # The first four surfaces have to be handled uniquely # first surface curves0 = [self.spiralArcList[0], self.crossSectionList[1]] surface = rs.AddEdgeSrf(curves0) self.surfaceList.append(surface) length = len(self.spiralArcList) index = range(length) # next three surfaces for i in index: if(i > 0 and i <=3): curves = [self.spiralArcList[i], self.crossSectionList[i], self.crossSectionList[i+1]] surface = rs.AddEdgeSrf(curves) self.surfaceList.append(surface) # all of the other surfaces else: curves = [self.spiralArcList[i], self.spiralArcList[i - 4], self.crossSectionList[i], self.crossSectionList[i+1]] surface = rs.AddEdgeSrf(curves) self.surfaceList.append(surface) length = len(self.surfaceList) #rs.JoinSurfaces(self.surfaceList) def main(self): self.makeControlPoints() self.makeEdgeSurface() self.SP = SurfacePattern(self) self.SP.main() FLOCKING 2
SWARMING
### View class class SurfacePattern(): def __init__(self, GS): self.surfaceList = GS.surfaceListALEXANDER FARLEY
59
// ENNEPER VASE FALL, 2013
60
ALEXANDER FARLEY
GRASSHOPPER, RHINOCEROS, DIGITAL FABRICATION, AND HAND FINISHED
// COSTA VASE FALL, 2013
Costa'a Costa'a Minimal Minimal Surface Surface Costa'a Costa'a Minimal Minimal Surface Surface Matthias Matthias Weber Weber Indiana Indiana University University Matthias Matthias Weber Weber http://www.indiana.edu/~minimal http://www.indiana.edu/~minimal Indiana Indiana University University
<< Own`Mesh` << Own`Mesh` http://www.indiana.edu/~minimal http://www.indiana.edu/~minimal << Own`Mesh` << Own`Mesh`
Weierstraß Weierstraß Representation Representation Weierstraß Weierstraß Representation Representation1
3 51 3 5 phi1w_ phi1w_ := 2 rho:=  2w rhoHypergeometric2F1  w Hypergeometric2F1 , , , ,w2 ; , , w2 ; 1 3 4 514 32 54 4 2 , , ,, w2,; , w2 ; phi1w_ phi1w_ := 2 rho:= 2 rho w Hypergeometric2F1  w Hypergeometric2F1 3 1 7 3 21 7 ,2 , 4 , w2 2 w ^ 1.5 2 w ^ Hypergeometric2F1 1.5  Hypergeometric2F1 4 , 2 , 44, w 4 2 4 4 2 4 phi2w_ phi2w_ := := 3 1 7 3 12 ;7 2 ; 2 w ^ 1.5 2 wÂ^Hypergeometric2F1 1.5  Hypergeometric2F1 3 rho 3 rho 4 , 2 , 4 4, ,w2 , 4 , w phi2w_ := - := ; ; phi2w_ 3 3 3 rho 3 rho GammaGamma 4 4 ; 3 ; rho = Nrho = N 3 Gamma 5 5 Gamma 4 2 Gamma 2 4Gamma 4 ; 4 ; rho = N rho = N 5 5 2 Gamma 2 Gamma rho 4 rho 4 Gz_ :=Gz_ := ; ; z z -rho z1 zzrho -+11 z + 1 ; Gz_ :=Gz_ := ; 1 1 z z -z1 zz-+11 z + 1 dhz_ := dhz_ := ; ; -1 1+ z2 -11+ z2 dhz_ := ; dhz_ := ; 1 + z2-1 1 + z2 -1 f1z_ :=f1z_ - phi1z := - phi1z - phi2z; - phi2z; 1 12 2 - phi2z; f1z_ :=f1z_ := -1 phi1z - phi2z; 1 phi1z 2 phi1z f2z_ :=f2z_ := 2 phi1z + phi2z; + phi2z; 1 12 2 + phi2z; f2z_ := 1  phi1z + phi2z; f2z_ := 1  phi1z 2 Log-1 f3z_ :=f3z_ := 2 Log-1 + z 1 + z; z 1 + z; 12 1 2 f3z_ := Log-1 1 + z; Log-1 + z 1 ++z z; f3z_ := fz_ := fz_ Ref1z, f2z, f3z; 2 f2z, f3z; 2 := Ref1z, nz_:= :=fz_ nz_ StereographicProjectionGz; StereographicProjectionGz; :=:=Ref1z, f2z, f3z; fz_ Ref1z, f2z, f3z; StereographicProjectionGz; nz_ :=nz_ StereographicProjectionGz; Version Version via := numerical via numerical integration, integration, not used not used
2 Version Version via numerical via numerical integration, integration, not used not used + z23 z + z3 1 z + z23- z + z3 Â rho -Â zrho -rho2 --rho 1 f0w_ := f0w_ Modulez, := Modulez, ReNIntegrateEvaluate ReNIntegrateEvaluate , , 2 , 3 , , z, 0,,w z, 0, w 3 Â32 32 2 2 Â rho z ++zz2z32 32 2 32 -rhoz22rho z ++zz2z3-rho -1 -1 z2 1+ z -11+ z 2 rho -1 -1 z ++z2z2rho rhoz2 rho z ++z-1 f0w_ := f0w_ Modulez, := Modulez, ReNIntegrateEvaluate ReNIntegrateEvaluate , , , , , z, 0, ,w z, 0, w 2 2 2 32 2 32 2 32 -1 2 32 + z -1 + z 2zrho 2 rho 2zrho -1 +zz-1 + z2 rho -1 +zz-1 +z
2
Parameterization Parameterization Parameterization Parameterization e =0.00000001; e =0.00000001; r1 = -3;* size of catenoidal end size* e =0.00000001; e =0.00000001; r2 = 4;* size of planar end * nr1 = 8;*number of r-lines for catenoidal ends* nr2 = 8;*number of r-lines for planar end* nt = 15;*number of t-lines for all ends * dm1 = RectangularDomainUnionNRanger1, 0, nr1, NRange0, r2, nr2, NRangee, Pi - e, nt; dm2 = MeshApply+Sqrt1 + E ^ Ò &, dm1;
fr1 = MeshPlot3Dfx + I y, nx + I y, x, y, dm2;
fr2 = MeshJoinfr1, MeshRotatefr1, StraightLine1, -1, 0, 0, 0, 0;
fr3 = MeshJoinfr2, MeshReflectfr2, Plane1, 0, 0, 0; fr4 = MeshJoinfr3, MeshReflectfr3, Plane0, 1, 0, 0; In[3]:=
Export"costa.eps", %, "EmbeddedFonts" Ø False Out[3]=
costa.eps
MATHEMATICA, PYTHON, RHINOCEROS, DIGITAL FABRICATION, AND HAND FINISHED
ALEXANDER FARLEY
61
// RADIOLARIAN BOWL FALL, 2013
62
ALEXANDER FARLEY
GRASSHOPPER, RHINOCEROS, DIGITAL DIGITAL GRASSHOPPER, RHINOCEROS, FABRICATION, AND HANDFINISHED FINISHED FABRICATION, AND HAND
// ENNEPER VASE STUDIO: MIT - COMPLETE FABRICATION WINTER, 2011
2
1
3
4
RHINOCEROS, PARTWORKS, + 3-AXIS CNC MILLING WERE USED THROUGHOUT THE COURSE OF THE PROJECT.
ALEXANDER FARLEY
63
// FLOCK OF FIREFLIES STUDIO: MIT - INDEPENDENT STUDY SPRING, 2013
Project to create a physical volumetric display system for the 3D modeling program Rhinoceros using Rhinoceros, Grasshopper/Firefly, Python, Arduino microcontroller, and 8x8x8 LED matrix.
64
ALEXANDER FARLEY
length = len(self.spiral_points) index = range(length)
### Controller class class GoldenSpiral(): def __init__(self): self.NS = None self.phi = (math.sqrt(5)+1)/2 self.plane = rs.WorldXYPlane() # Negative angle for clockwise spiral self.angle = -90 origin = [0,0,0] self.origin = rs.AddPoint(origin)
Send 64 bytes to self.spiralArcList.append(arc) arduino over USB
def main(self): self.makeSpiralPoints() self.makeSpiralArc() self.NS = NautilusShell(self) Arduino: receives self.NS.main()
Computer: generate 64 byte â&#x20AC;&#x153;framesâ&#x20AC;?
def makeSpiralPoints(self): endPt = self.endPt origin = self.origin
Serial communication 10101011
0 1 2
1
8x8x8 LED matrix for i in index: if (i <=4): Generate Data pts = [self.endPts[0], self.endPts[i]] lineID = rs.AddCurve(pts, 3)
LED driver board
Grasshopper
lineID = rs.RotateObject(tempID, origin, self.angle) 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 temp_endPt = rs.CurveEndPoint(lineID) 0 0 endPt = rs.AddPoint(temp_endPt) 1 1 endPtCoord = rs.PointCoordinates(endPt) 2 2
6
7
0 0 1 2
3
3
3
3
4
4
5
5
6
self.endPts.append(endPtCoord) 5 rs.DeleteObject(tempID) 6
4
6
6
7
7
7
7
5
4
params = [scaled_trans, originCoord] No data loaded
Starting Position
self.spiral_points.append(params) def makeSpiralArc(self):
Graphical Display
def makeControlPoints(self): length = len(self.endPts) index = range(length)
origin = rs.CopyObject(endPt, scaled_trans) ghPython Firefly originCoord = rs.PointCoordinates(origin)
0
length = len(self.spiralArcList) index = range(length)
self.crossSectionList = [] self.surfaceList = [] self.SP = None
Vertex data list
Virtual Position
1
2
3
4
5
6
def moveControlMidPoint(self, tempID): 64x cathodes + 8x temp_mPt = rs.PointCoordinates(tempID) anodes temp_endPt = [temp_mPt[0], temp_mPt[1], (temp_mPt[2] - 0.313)] trans = rs.VectorSubtract(temp_mPt, temp_endPt) midPt = rs.MoveObject(tempID, trans)
def makeEdgeSurface(self):
self.midpointsList = [] self.quarterpointsList = []
for i in range(12): trans = rs.VectorSubtract(origin, endPt) scaled_trans = rs.VectorScale(trans, self.phi)
return quarterPt
# Theboard: first four surfaces have to be handled uniquely LED driver each LED matrix: display # powered first surface lights layer is by indi= [self.spiralArcList[0], self.crossSectionList[1]] vidualcurves0 transistors, LED surface = rs.AddEdgeSrf(curves0) are turned on and off self.surfaceList.append(surface) using the STP16 chips
and clocks ont ### Model class class NautilusShell(): LED drvier board def __init__(self, NS): self.endPts = NS.endPts self.spiralArcList = NS.spiralArcList
self.spiralArcList = []
def moveControlQuarterPoint(self, tempID): temp_qPt = rs.PointCoordinates(tempID) temp_endPt = [temp_qPt[0], temp_qPt[1], (temp_qPt[2] - 0.23)] trans = rs.VectorSubtract(temp_qPt, temp_endPt) quarterPt = rs.MoveObject(tempID, trans)
return midPt
64 byte packets
endPt = [1,0,0] self.endPt = rs.AddPoint(endPt) self.endPts = [] self.endPts.append(endPt)
self.crossSectionList.append(cross_section)
Data, clock, and latch signals
angle -= 90
self.spiral_points = []
points = [origin, endPt] tempID = rs.AddCurve(points)
rs.DeleteObject(lineID) cross_section = rs.AddCurve(points, 3)
angle = 90 for i in index: plane = rs.MovePlane(self.plane, self.spiral_points[i][1]) rotated = rs.RotatePlane(plane, angle, plane.ZAxis) radius = math.fabs(self.spiral_points[i][0][0]) if (radius != 0): arc = rs.AddArc(rotated, radius, self.angle) rs.RotateObject(arc, self.spiral_points[i][1], self.angle) else: radius = math.fabs(self.spiral_points[i][0][1]) arc = rs.AddArc(rotated, radius, self.angle) rs.RotateObject(arc, self.spiral_points[i][1], self.angle)
import rhinoscriptsyntax as rs import math
Rhino vertex data
points[3] = self.moveControlQuarterPoint(tempID)
7
else: pts = [self.endPts[(i - 4)], self.endPts[i]] Arbitrary x,y,z point data lineID = rs.AddCurve(pts, 3)abstracted to correspond to 8 x 8 x8 space
points = rs.DivideCurve(lineID, 4)
tempID = rs.AddPoint(points[1]) Cube Position points[1] = self.moveControlQuarterPoint(tempID) tempID = rs.AddPoint(points[2]) points[2] = self.moveControlMidPoint(tempID) tempID = rs.AddPoint(points[3])
Fill 8x8x8 Array
# next three surfaces for i in index: if(i > 0 and i <=3): curves = [self.spiralArcList[i], self.crossSectionList[i], self.crossSectionList[i+1]] LED Matrix surface = rs.AddEdgeSrf(curves) Display self.surfaceList.append(surface) # all of the other surfaces else: curves = [self.spiralArcList[i], self.spiralArcList[i - 4], self.crossSectionList[i], self.crossSectionList[i+1]] surface Generate = rs.AddEdgeSrf(curves) Send Chars 64 Chars over serial self.surfaceList.append(surface) length = len(self.surfaceList) #rs.JoinSurfaces(self.surfaceList)
Encode 8 x 8 x 8 array Feed abstracted datadef main(self): into 8 x 8 x 8 array and self.makeControlPoints() elements into 8 bit set array element to 1 chars resulting in a 64 to turn LED on. Each of self.makeEdgeSurface() byte frame the 512 array elements self.SP = SurfacePattern(self) corresponds to an LED self.SP.main() in the matrix
Send the 64 byte frame to the microcontroller board over the serial line
### View class class SurfacePattern(): def __init__(self, GS): self.surfaceList = GS.surfaceListALEXANDER FARLEY
65
66
ALEXANDER FARLEY
// Studio Work // Scripting + Fabrication // Professional Work Renderings, 2012 - 2013
68
Purple Residence Pavilion, 2011
70
Purple Residence Addition, 2012
72
ALEXANDER FARLEY
67
FOR SASAKI ASSOCIATES - 2013
FOR SASAKI ASSOCIATES - 2013
FOR ELIZABETH FARLEY - GSD M.ARCH THESIS - 2012
FOR ELIZABETH FARLEY - GSD M.ARCH THESIS - 2012
68
ALEXANDER FARLEY
FOR ELIZABETH FARLEY - GSD M.ARCH THESIS - 2012
FOR ELIZABETH FARLEY - GSD M.ARCH THESIS - 2012
FOR ELIZABETH FARLEY - GSD M.ARCH THESIS - 2012
FOR THE PLANT CONNECTION - GREENHOUSE ADDITION - 2011
ALEXANDER FARLEY
69
// WYNDMOOR RESIDENCE GARDEN PAVILION CLIENTS: LESLIE AND THOMAS PURPLE SITE: WYNDMOOR, PA SUMMER, 2011 STANDARD POST-BEAM-RAFTER ASSEMBLY
This commission sought to create a vegetable garden enclosure that could protect the plants from backyard pests while maintaining the design language of the existing site. The pavilion employs traditional timber construction techniques and tectonic elements while remaining within a modest budget.
STANDARD POST-BEAM-RAFTER ASSEMBLY
CORNER POST-BEAM-RAFTER ASSEMBLY CORNER POST-BEAM-RAFTER ASSEMBLY
Rhinoceros and physical modeliing were used throughout the course of the project.
SCREW
CORNER ASSEMBLY CORNER ASSEMBLY SCREW
STANDARD STANDARD ASSEMBLY ASSEMBLY SCREW
1” CEDAR FACING
FENCING
70
ALEXANDER FARLEY
1” x 1” CEDAR FACING
SCREW
FENCING
4” x 4” PRESSURE-TREATED
4” x 4” PRESSURE-TREATED
1” CEDAR FACING
1” CEDAR FACING
SIDE ELEVATION
FRONT ELEVATION 15’ 1-1/2”
4’ 10-1/2”
11’ 8-1/8” 45°
2’ 5-1/4”
8’ 2-1/4”
2’ 5-1/4”
45° 5’ 9-7/8”
5’ 9-7/8” 16’ 3-1/4”
1” x 10” x 6’
1” x 10” x 6’
16’ 3-1/4”
9-1/4” scarf or butt joint
2” x 10” x 10’
2” x 10” x 5’
9-1/4”
2” x 10” x 10’
8’
2” x 10” x 5’
scarf or butt joint
2” x 10” x 5’
2” x 10” x 5’
8’
7’ 2-3/4”
5’
5’
5’
5’
7’ 2-3/4”
5’
5’
5’
5’
15’ 6-1/2”
25’ 6”
SECTION
PLAN 15’ 1-1/4”
2-3/8”
45° 11’ 8-1/8” 2” x 10”
CEDAR
5’ 1” x 2” CEDAR
2” x 10” CEDAR
5’
15’ 6” 9-1/4”
COUNTER-SUNK
0.5” CARRIAGE BOLT
2” x 10” CEDAR
45° 5’
45°
1” CEDAR FACING 8’
7’ 2-3/4”
2” x 2” FENCING B/W FACING AND PT 4” x 4” PRESSURE-TREATED
The corner 2” x 10” s are 9’ 9-7/8” long COUNTER-SUNK
5’
5’
5’
5’
5’
0.5” CARRIAGE BOLT
GRADE POST HOLDER CONCRETE FOOTER
25’ 6”
ALEXANDER FARLEY
71
// WYNDMOOR RESIDENCE ADDITION CLIENTS: LESLIE AND THOMAS PURPLE SITE: WYNDMOOR, PA DESIGNED: WINTER, 2012 CONSTRUCTION: SPRING. 2014 This project sought to reactivate an unused storage room as the main location for daily activity. The existing space allows for a kitchen and central hearth. The south facing wall is pulled away from the house to allow for greater day-lighting and create a space for casual dining and food and linen storage.
AutoCAD, Revit, Rhinoceros, Maxwell, and physical modelling were used throughout the course of the project.
72
ALEXANDER FARLEY
23’ 8”
3’
3’
3’
3’
3’
3’
3’
9’ 8’ 9” 18’ 9”
8’ 9”
4’ 4”
21’ 9”
12’
14’ 9”
21’ 8”
4’ 9”
14’ 8”
4’ 9”
12’ 9”
2’ 4”
3’ 9”
4’ 8”
4’ 4”
4’ 4”
4’ 8”
3’ 9”
4’ 6”
25’ 6”
ALEXANDER FARLEY
73
74
ALEXANDER FARLEY
PURPLE ADDITION - INTERIOR KITCHEN VIEW