Page 1

tung-sheng

1620 HAZELWOOD DRIVE路NORMAN.OK 73071 路405.641.3482路TONY.OU@GMAIL.COM

TONY WU

COLUMBIA UNIVERSITY GSAPP.ADVANCED ARCHITECTURAL DESIGN


TABLE OF CONTENTS ADVANCED ARCHITECTURAL DESIGN . ARGUMENT wayFINDING IN HOMOGENEOUS SPACE 3 ADVANCED ARCHITECTURAL DESIGN . STUDIO reCOMMUNITY 6 newSOCIAL SPACE 14 contestedFRAMES 22 contestedTRAJECTORIES 28 contestedVOID 34

ADVANCED ARCHITECTURAL DESIGN . VISUAL STUDIES mapVOID 01.wifiLANDSCAPES 46 mapVOID 02.voxelREMOVAL 52 mapVOID 03.echo 58


ADVANCED ARCHITECTURAL DESIGN . ARGUMENT


WAY FINDING IN HOMOGENEOUS SPACE The city is a complex entity of its own. The composition of a city often includes multiple various typology of architecture. The vast variety of architecture in the city could appear similar or different from one to another. If all buildings were absolutely autonomous and heterogeneous, the extreme differences would then render the city as an image beyond recognition. Similarly, if all buildings are similar, then the city continues to be an unrecognizable environment. Cynically, the city is doomed to be in a homogeneous built environment. The ability to navigate through a homogeneous space then becomes a crucial element to the city. The city blocks had been invented to assist the navigation of a homogeneous space. However, the by-product of city blocks had resulted in a high-speed lifestyle such that the characteristics of a community are no longer the same. The revisit of “community” then becomes a starting point for the quest of “way finding in homogeneous space.” Through housing problems of Russia and its social issues we are able recognize the importance of “speed” in our built environment. Such that the faster pace of lifestyle often results in reduction of communal quality. Meanwhile, the Soviet Russia was under extreme intensity of social housing such that citizens may bond in one-way or another. Such intensity brings forth certain important values of community. The city blocks today are constructed by series of buildings, simultaneously, the blocks enclosed a collection of autonomous buildings. If each building were then to define a block, then the purpose of the streets and intersections would be removed. Such removal would intensify the homogeneousness of the built environment. The extreme homogeneous built environment would only allow the

local residents to have the ability to navigate. Meanwhile, visitors would have to rely on the locals in order to navigate through such a built environment. An extreme homogeneous built environment would then call for series of moments of major intersections such that these intersections would act as a moment of rest for the visitors, or a moment of “reset” for the residents. These nodes would receive visitors from abroad, and be retrieved by the residents of the community. The identity of the community is then also revisited, such that not all residents would know one another. Yet this community is then defined based on the residents own social circles. The city is no longer defined by streets or blocks, but by the social relations of the residents. These nodes then become extremely important for a new social community. Such node had already existed in the Pacific Asia (South Korea). The various bangs in Korea had served as meeting points and new social circles are taking place at these bangs. The living rooms of the residents are no longer being activated as a place of visiting. The bedrooms of the residents are no longer served as “private.” These bangs had become both a public and private function of the contemporary Korea culture. These bangs had often been built as a collection of bangs; completely removed from its residential housings. Perhaps to rekindle the function of residential housing, bangs should be located within the residential buildings. Similarly to the new social community discussed previously, such that these bangs would act as nodes prior to its departure to each individual housing units. By designing the bangs in the midst of housing units, one may continue to have privacy in bangs mean while it could also act as a meeting point for the families.

Inevitably these nodes are simply functioning as a mediator between the public and the private. These nodes may not be a building, or a specific space. But rather a series of voids such that they are non-programmable spaces. Design of the nodes had then become a quest to design the non-programmable voids. There are several methods to charge such voids: 1. Continue to intensify the tension between public and private 2. To understand the path of the residents such that the behavior of these nodes are carefully studied. 3. Understand the functions of each program, such that certain program could be designed from the void in order to use the programmable for the non-programmable. Design of the nodes or the voids is a key element for way finding in homogeneous spaces. However, it is equally important to understand the behavior and circulation of the users. A series of studies had been conducted base on user’s lifestyle behavior (internet usage and built environment), user’s physical special requirements (voxel removal), and user’s path of movements in relation to its history (echo). These studies provide a set of tools to study residents’ movements and behaviors to better design and rethink a community, through which one may be able to navigate through a homogenized space.

Tony Wu GSAPP. AAD.2010-2011 ACADEMIC-[TIME]-T.WU

3


ADVANCED ARCHITECTURAL DESIGN . STUDIO


reCOMMUNITY MONUMENTALITY AND SPACE [2010.FALL] INSTRUCTOR: THOMAS LEESER + MASHA PANTELEYEVA LOCATION: ST.PETERSBURG + MOSCOW, RUSSIA

6

T.WU-[FA2010]-reCOMMUNITY

Project Description Tracing the transformation of Russian and Soviet architecture, students will explore the shifting balance between the collective and individual, the socialist and the capitalist and propose their own architectural and urban projects to address aspects of this problem of cultural uncertainty. Adopting the utopian, speculative, even heroic and experimental approach of the socialist optimism of the east (eg.: constructivism, social realism), and understanding the failures and shortcomings of uncritically imposed western as well as adopted socialist architectural models, students are expected to develop speculative models, urban fantasies and utopian architectures for potential future societies.


1 2 3 4 5

KOMMUNAUKA: FOCUS ON THE COLLECTIVE

ON THE COLLECTIVE

MASSIVE HOUSING: PROVIDE FOR THE INDIVIDUALS

1

2

3

4 ON THE INDIVIDUALS

ON THE COLLECTIVE

5

ON THE INDIVIDUALS

SPATIAL TRANSFORMATION SPATIAL TRANSFORMATION SPATIAL TRANSFORMATION SPATIAL TRANSFORMATION SPATIAL TRANSFORMATION

Since the early 1900s, Russia had been transformed multiple times. Each of these transformations was led by a different government: Peter the Great constructed St. Petersburg; Lenin’s application of Marxism to Russia; Stalin’s rejection to Modernism; each political figure in Russia had made an impact to Russia. Each one of these events was held at the expense of the people. LIVING ENVIRONMENT The socialist later communist political movement in Russia had then created the Kommunaukas (communal houses). These Kommunaukas viewed the residents as a collective whole, such that residents would share communal kitchen, bathrooms, etc. Despite the fact that these communal environments neglected people’s individual privacy right, it created another kind of lifestyle. Such forced community then developed intimate relationship among the residents, a different sense of relational community. The continuous steady growth of Russian population had later become a major issue. Massive housing was created: numerous living quarters are accessed from linear corridors. As the building function like a machine; the building is able to efficiently and effectively resolve this housing issue. This new machine had also destroyed the relational community that Kommunaukas had created. It is the dependency and interaction of one another that develops a sense of community. RE-COMMUNITY Perhaps a new community could be developed such that individual residents could have its private space simultaneous a mutual dependent community could be developed. If passage ways in a community is no longer intersects at an explicit manner, such that every corner looks similar, then only the local residents would know how to access through the reCOMMUNITY-[FA2010]-T.WU

7


1

2

3

4

8

T.WU-[FA2010]-reCOMMUNITY


5

HOUSING

1 HOUSING 2 COMMUNAL PROGRAMS 3 PUBLIC PROGRAMS OFFICE/RETAILS 4 PUBLIC PROGRAMS OFFICE/RETAILS 5 SECTION 6 L1 VIEW

COMMUNAL PROGRAMS

community. Although this creates a complex gated community, there exist these nodes of gathering for people to interact with one another. As an outsider, it is these nodes provide visitors a moment of rest, and moment of dependency on its local residents. To navigate through such complex passage systems would require all pedestrians to interact with others to travel through such community.

PUBLIC PROGRAMS OFFICE/RETAILS

6

As residential living quarters cannot function autonomously, communities must ties back to the rest of the cities as it also needs to be mutually depending on other functions. Tiers of programming allow the residents to always have the best lighting and shelter other entities below. At the moment of gathering for the community there also exist access points to the city below. This provides a point of dependency for the community, simultaneously adequate lighting and ventilation for the system below.

reCOMMUNITY-[FA2010]-T.WU

9


1

10

T.WU-[FA2010]-reCOMMUNITY


1 2 3 4 5

GATHERING NODE GATHERING NODE GATHERING NODE HOUSING HOUSING

2 3

4

5

reCOMMUNITY-[FA2010]-T.WU

11


1

2

12

T.WU-[FA2010]-reCOMMUNITY


1 ST. PETERSBURG 2 MOSCOW 3 ST. PETERSBURG

3

reCOMMUNITY-[FA2010]-T.WU

13


newSOCIAL SPACE KOREAURBIA: INTERFACE [2010.SUMMER] INSTRUCTOR: MARK RAKATANSKY LOCATION: SEOUL, SOUTH KOREA

14

T.WU-[SU2010]-newSOCIAL SPACE

Project Description The problem we will address is the homogenization of the urban fabric as uniform housing blocks become isolated private autonomous realms within the city, cutting off any spatial interaction with public urban zones of work, play, and culture. The question will be how to remix these mixed uses, this mix of programs, typologies, forms. Can new performative forms of the public realm transform the private realm, developing new modes of urban habitation?


1 2 3 4

1

2

3

APARTMENT 1: TYPICAL APARTMENT 2: PRIVATE APARTMENT 3: PUBLIC MIX-USED TOWER: PRIVATE + PUBLIC

“BANG” Korean word “bang” means a room. The contemporary Korean culture spends an extensive amount of time in “bangs.” These rooms have specific functions: Karaoke-bang, Manga-bang, PC-bang, etc. Although these “bangs” has different functions, there still are similarities among them: social interaction, private quarters and individually focused. These different kinds of activities among these “bangs” can all take place within a bedroom of the house. However, there exist a strong contrast between Korean culture today and what happens at home. As the culture of a family tends to be conservative, Koreans today do not have the total freedom that one would like to have. “Bangs,” then become an escape route for Koreans to find a new private space: a private space that one may be selective on how public this space would be. SOCIAL SPACE As most Koreans spends time within “bangs” then there are less people spending time in their home. As there are less people at home, then family members no longer gather and have family time at the house, would the unity of Korean families, the bonding is lost due to the life-style of “bangs.” An analysis could be done on Korean APA-TU, since the bedrooms generally centralized or cluster around a living room then perhaps there should exist social gathering nodes among the bangs such that different family members participating at different bangs can later on gather again at these nodes. These gathering nodes could also take on the activities of “bangs” such that family members could activate on a normal bases.

4 newSOCIAL SPACE-[SU2010]-T.WU

15


1

16

T.WU-[SU2010]-newSOCIAL SPACE


1 2 3 4

4

RESIDENTIAL TOWER TYPICAL RESIDENTIAL PLATE 1 TYPICAL RESIDENTIAL PLATE 2 TYPICAL RESIDENTIAL PLATE 3

NEW TOWER As each floor plates of the mix-used towers have different units of residence, the clustering or centering on these new social nodes can be the new configuration of apartments. These social nodes then wouldn’t be only for “bangs” to gather around, but the apartments as well. As these social nodes occur within residential floors, the density of these social nodes would then be able to provide the “security” one seeks within a “bang.” When the social nodes occurs other then around the “bangs,” Koreans would be must closer to their home then travel a long distance away to spend time at a “bang.”

3

2 newSOCIAL SPACE-[SU2010]-T.WU

17


1

18

T.WU-[SU2010]-newSOCIAL SPACE


1 OUTDOOR READING ROOM 2 OUTDOOR READING ROOM

2

newSOCIAL SPACE-[SU2010]-T.WU

19


1

20

T.WU-[SU2010]-newSOCIAL SPACE


1 OUTDOOR INTERNET CAFE 2 OUTDOOR INTERNET CAFE 3 OUTDOOR INTERNET CAFE

2

3 newSOCIAL SPACE-[SU2010]-T.WU

21


contestedFRAMES THE DICTIONARY OF RECEIVED IDEAS [2011.SPRING] INSTRUCTOR: ENRIQUE WALKER TEAM: R.BARNARD L.MULVEHILL T.WU LOCATION: NEW YORK, NY

Studio Description This studio’s aim is to examine received ideas – that is, formerly novel ideas which, due to recurrent use, have been depleted of their original intensity – in contemporary architecture culture. It focuses on design operations and conceptual strategies, particularly in terms of the means of representation and the lexicon through which they are respectively articulated. This project takes as precedent Gustave Flaubert’s unfinished project, Le dictionnaire des idées reçues. Just as the latter, it sets out to detect and collect received ideas and provide definitions – or, rather, a user’s manual – so as to render them selfevident and thereby undermine their perpetuation. Yet as opposed to the latter, arguably an inventory of potential exclusions, this project also seeks to use – or, rather, to misuse – that collection of received ideas towards the formulation of other design operations and other conceptual strategies.

contestedCATAGORIES.01 This is the first installment of three “Contested Catagories” library. This library is designed with the following three constraints: 1.

FLOWER CHAIR (EVERYWHERE)

T.WU-[SP2011]-contestedFRAMES

T-HOUSE (GUNMA)

01

Design the whole building by designing its fifth façade. Architecture could be resumed in the idea of a beautiful object, especially when seen from above.

02

Flowers are beautiful, draw the perimeter line of the one you picked.

03

Stretch, distort and simplify its shape so to end up with an abstract version of your initial sketch.

04

You now have your building shape.

05

Apply the program. Separate the different uses, circularly into the separate engulfments.

06

Give your concept an elegant name.

SERPENTINE PAVILION (LONDON)

2. QUANTITATIVE MASSING

WOZOCOS (AMSTERDAM)

SEATTLE LIBRARY (SEATTLE)

QUANTITATIVE MASSING 01

Create a spreadsheet detailing the specific surface area of each required space.

02

Translate the numeric data into graphic squares, each measuring the squared area of each different space.

03

Convert the squares into volumetric boxes, the height of each box in accordance with required number of floors and ceiling heights.

04

Arrange the boxes in a stacked manner, according to circulation and programmatic proximity.

01

Design a monolithic volume.

02

Lift it up and wish that it could stay there. Before you believe in miracles try to find an innovative cantilevered structure and suspend it.

03

Move the suspension axis in any possible position so to maximize the length of the cantilever.

04

Complicate your structure even more until you reach an impossible static behaviour.

05

Your volume now flies.

TATE MODERN 2 (LONDON)

3. UP

UP

MAISON BORDEAUX (BORDEAUX)

22

FLOWERS

FLOWER

UNIVERSITY MUSEUM (SEOUL)

SIFANG ART MUSEUM (NANJING)


1

2

+

3

+ 1 2 3 4

FLOWER QUANTITATIVE MASSING CANTILEVER EXPLODED AXON

1. Introductory The library functions as a curated space for emerging and privileged academic discourse. The institution identifies (or constructs) categories from work published over the last decade. That is, privileged philosophical frameworks through which different subjects are currently being analyzed. Each category becomes an autonomous space within the library in which several collections of books on different subjects are ‘curated’. For example, public sphere theory might be a category, under which examining rooms for subjects such as Art History, Urbanism, Politics and so on, are curated. Vertically linked to these curated discursive categories are public debate spaces (below), and research residency spaces (above). These programs suggest discursive crossovers between categories and the contestation of what is currently being promoted by the institute as privileged discourse. Further, woven throughout the library’s arrangement is a continuous public roof terrain that peels up off the street. 2. Elements 2.1 Flowers Contains discursive categories. 2.2 Quantitative Massing Contain varying types and scales of programming including debate spaces, reading rooms and work spaces. The boxes are stacked to form the core structure to the building. 2.3 Cantilever The flowers cantilever off the boxes.

4 contestedFRAMES-[SP2011]-T.WU

23


1

2

24

T.WU-[SP2011]-contestedFRAMES


3

1 2 3 4 5 6

DEBATE ROOM CURATED STACKS FLR PLAN 01 FLR PLAN 02 FLR PLAN 03 FLR PLAN 04

4

5

6 contestedFRAMES-[SP2011]-T.WU

25


4

2

1 3

1

2

26

T.WU-[SP2011]-contestedFRAMES


1 2 3 4

PERSPECTIVE: FLR 01 PERSPECTIVE: FLR 02 PERSPECTIVE: FLR 03 PERSPECTVIE: FLR 04

3

4 contestedFRAMES-[SP2011]-T.WU

27


contestedTRAJECTORIES THE DICTIONARY OF RECEIVED IDEAS [2011.SPRING] INSTRUCTOR: ENRIQUE WALKER TEAM: R.BARNARD L.MULVEHILL T.WU LOCATION: NEW YORK, NY

Studio Description This studio’s aim is to examine received ideas – that is, formerly novel ideas which, due to recurrent use, have been depleted of their original intensity – in contemporary architecture culture. It focuses on design operations and conceptual strategies, particularly in terms of the means of representation and the lexicon through which they are respectively articulated. This project takes as precedent Gustave Flaubert’s unfinished project, Le dictionnaire des idées reçues. Just as the latter, it sets out to detect and collect received ideas and provide definitions – or, rather, a user’s manual – so as to render them selfevident and thereby undermine their perpetuation. Yet as opposed to the latter, arguably an inventory of potential exclusions, this project also seeks to use – or, rather, to misuse – that collection of received ideas towards the formulation of other design operations and other conceptual strategies.

contestedCATAGORIES.02 This is the second installment of three “Contested Catagories” library. This library is designed with the following three constraints: 1. VECTOR PRECEDES PROGRAM

GUGGENHEIM (NEW YORK)

T.WU-[SP2011]-contestedTRAJECTORIES

01

Analyse the existing vectors of movement on the site and its surroundings; make note of any existing axes and their projected extensions cutting across the site.

02

Draw a massing diagram of the program. Distribute it along an axis solving adjacencies and sequence.

03

Design the street; start modifying the axis - the vector of movement. Link it seamlessly to the existing vectors of movement on the site. Develop it vertically and/or horizontally.

04

The diagrammed program masses follow the vector as it develops. The vector brings in the program.

05

You have designed the building. The street is the building.

01

Draw a regular shape; draw a closed poly-line that it will define the boundaries of your plan. Do not complicate things. Prefer a square, a circle or something similar.

02

Draw, within these boundaries, closed curves that will look as if randomly float inside your general plan.

03

Extrude these curves so to create isolated spaces inside the general building volume.

04

You now have your programmatic islands.

05

Think of islands as atriums, or as a minimal solution to separate the program and hide the equipment.

06

Think white.

LERNER HALL (NEW YORK)

2. ISLANDS

ART MUSEUM (KANAZAWA)

ROLEX CENTER (LAUSANNE)

ISLANDS

GLASS PAVILION (TOLEDO)

3. EXPRESSIVE ENVELOPE

DISNEY CONCERT HALL (LOS ANGELES)

28

CENTRE POMPIDOU (PARIS)

VECTOR PRECEDES PROGRAM

COOPER UNION (NEW YORK)

ELBE PHILHARMONIC HALL (HAMBURG )

EXPRESSIVE ENVELOPE 01

Organize the program in a compact, rational manner. Fit it within a singular proportional primitive volume such as a cube or a block.

02

Independently develop an envelope to cover the primitive volume. Now that your mind is not preoccupied with solving functional issues, indulge in design. Set your imagination free! Tessellate, fold, facet, drape, cut…

03

Play with received ideas of surface treatment.

04

Apply the envelope to the primitive volumes containing the program.

05

If you feel guilty of overindulging with pure form-making, add functionality(hint: use the envelope as a sun or rain screen).

06

Enjoy your creation.


1

2

3

+

+

1 2 3 4 5

VECTOR PROCEEDS PROGRAM ISLANDS EXPRESSIVE ENVELOPE TRAJECTORY CHART TRAJECTORY INTERSECTION

1. Introductory The library is an apparently complex set of intersecting trajectories that represent different categories of prevalent discourse. The trajectories intersect at nodes of public programming. Located along the trajectories are money-making commercial spaces which sustain the library financially, while offering a brief respite from the path.

52.6°-90°

10°-25°

2. Elements 2.1 Vector Proceeds Program Expanded circulation to contain the stacks and reading spaces of the library. Each trajectory represents a different discursive category.

0°-9° 26°-37.5°

37.6°-52.5°

4

2.2 Islands Contain public programming such as debate spaces. The islands are located at the intersection of streets or at where the street expands to make room for it. 2.3 Expressive Envelope Structural System. Offset apertures filter light and the perceptual effect of shifting visual porosity.

5 contestedTRAJECTORIES-[SP2011]-T.WU

29


1

2

30

T.WU-[SP2011]-contestedTRAJECTORIES


1 2 3 4

TRAJECTORIES INTERSECTION (DEBATE PLAN) TRAJECTORY BASED ISLANDS (PLAN) TRAJECTORIES INTERSECTION (DEBATE SECTION) TRAJECTORY BASED ISLANDS (SECTION)

3

4 contestedTRAJECTORIES-[SP2011]-T.WU

31


1

2

32

T.WU-[SP2011]-contestedTRAJECTORIES


1 2 3 4

TRAJECTORY INTERIOR TRAJECTORY INTERIOR TRAJECTORY STREET TRAJECTORY STREET

3

4 contestedTRAJECTORIES-[SP2011]-T.WU

33


contestedVOID THE DICTIONARY OF RECEIVED IDEAS [2011.SPRING] INSTRUCTOR: ENRIQUE WALKER TEAM: R.BARNARD L.MULVEHILL T.WU LOCATION: NEW YORK, NY

Studio Description This studio’s aim is to examine received ideas – that is, formerly novel ideas which, due to recurrent use, have been depleted of their original intensity – in contemporary architecture culture. It focuses on design operations and conceptual strategies, particularly in terms of the means of representation and the lexicon through which they are respectively articulated. This project takes as precedent Gustave Flaubert’s unfinished project, Le dictionnaire des idées reçues. Just as the latter, it sets out to detect and collect received ideas and provide definitions – or, rather, a user’s manual – so as to render them selfevident and thereby undermine their perpetuation. Yet as opposed to the latter, arguably an inventory of potential exclusions, this project also seeks to use – or, rather, to misuse – that collection of received ideas towards the formulation of other design operations and other conceptual strategies.

contestedCATAGORIES.03 This is the third installment of three “Contested Catagories” library. This library is designed with the following three constraints: 1. RIBBON

EYEBEAM (DS+R) (NEW YORK)

RIBBON

EYEBEAM (LEESER) (NEW YORK)

Begin at street level at one of the corners of the building. The geometry of the ribbon should read as a thick line that moves up one edge of the building, turning to move across the building elevation at what appears to be the first floor.

03

Repeat this move upwards, turning across the building, before moving upwards so as to articulate what you want the perceived floor changes to be.

04

The ribbon is to give the impression that it extrudes through the building forming the floor plates, however limit this architectural move to an elevation treatment.

01

Form a volume measuring the size of all the required enclosed spaces.

02

Cut the volume into smaller independent units, each unit measuring the size of each enclosed space and labeled accordingly.

03

Throw the units onto the site, as if throwing dice on a board game, in order to arrange them in an arbitrary manner.

04

Define circulation and public spaces in the areas around the units.

01

Take a characterless building mass (Ex. orthogonal block)

02

Apply a surface to it (i.e. curtain wall or mesh).

03

Decide which areas you want to highlight.

04

Crack it; draw a lightning shape that goes from the edge of the volume to the selected area and then again to another edge.

05

Shear as per three options mentioned above depending on context and internal program.

ICA (BOSTON)

URBAN CONFETTI

‘BIG BANG’ (SORIA)

MENIL COLLECTION (HOUSTON)

URBAN CONFETTI

CHILDREN’S CENTER (HOKKAIDO)

3. CRACK

CRACK

2005

T.WU-[SP2011]-contestedVOID

Determine the number of floors, as well as the length, depth and height of each floor of the building. This establishes the parameters of the ‘ribbon’ to be expressed on the front elevation (along the building’s length).

02

2.

JEWISH MUSEUM (BERLIN)

34

01

SF FEDERAL BUILDING (SAN FRANCISCO)

COOPER UNION (NEW YORK)


1

2

+

3

1 2 3 4 5 6 7 8 9

+

RIBBON URBAN CONFETTI CRACK RIBBON DISTORTION 01 RIBBON DISTORTION 02 CRACK + URBAN CONFETTI RIBBON AS STRUCTURE SECTION PERSPECTIVE CONFETTI SECTION

1. Introductory The library functions as a series of curated volumes, which feed a form of public discourse across the charged void between them. 4

5

6

7

The institution is considered as a thouroughly public entity, maintaining porosity, and access at all hours of the day. The library is never closed. The extended streetscape becomes manifest in the ampitheater-like on top of the curated volumes. Once the volumes shift to allow space for the sun to enter, the discourse is continued in the seating which lines its edges. The structural path ties all of the volumes together, allowing for variable engagement with the space.

8

2. Elements Step 1: Manipulation of the ribbon from surface treatment to three dimensional element that may provide primary circulation and structure to the building. Step 2: Cracking the “SOLID” around the turning points of the ribbon to form urban confetti and a complex “SOLID/ VOID” project. 2.1 Ribbon Structural truss binding structral frame to confetti. Primary Circulation to public programming in each confectti. 2.2 Urban Confetti The library’s discursive categories. Holds stacks and public programming: spaces such as reading rooms, lecture halls, theatres, informal gathering spaces and so on.

9

2.3 Cracks The faces of the crack are activated by having hte public programming pushed to its surface. This is designed to “CHARGE THE VOID” by setting up visual theatres of exchange between public programs and spaces of debate. contestedVOID-[SP2011]-T.WU

35


3 4

2

1

1

2

36

T.WU-[SP2011]-contestedVOID


1 2 3 4

CONFETTI PERSPECTIVE CONFETTI PERSPECTIVE VOID PERSPECTIVE VOID PERSPECTIVE

3

4 contestedVOID-[SP2011]-T.WU

37


5 1 3

2

4 1

2

3

4

38

T.WU-[SP2011]-contestedVOID

5


1

2

1 - 5 GROUND CONFETTIS PUBLIC PROGRAMS ON VOID SURFACES

2

3

4

5 contestedVOID-[SP2011]-T.WU

39


3

4

1

2

1

2

3

4

40

T.WU-[SP2011]-contestedVOID


1

1 - 4 LIBRARY CONFETTIS PUBLIC PROGRAMS ON VOID SURFACES

2

3

4 contestedVOID-[SP2011]-T.WU

41


1

3 2

42

T.WU-[SP2011]-contestedVOID


1 - 3 DISPERSED LIBRARY AUDITORIUM PUBLIC PROGRAMS SPLIT AMONG VARIOUS CONFETTI, CAUSING THE VOID TO BE PART OF THE PROGRAM

1

2

3 contestedVOID-[SP2011]-T.WU

43


ADVANCED ARCHITECTURAL DESIGN . VISUAL STUDIES


mapVOID 01.wifiLANDSCAPE APPROACHING CONVERGENCE [2011.SPRING] INSTRUCTOR: BIAYNA BOGOSIAN

STEVEN GARCIA

Project Description As technology influences our lifestyles, it would also influence the way we precieve spaces. Our living environment could then be transformed in response to its user activies.

TEAM: A.PALMISANO J.O’REAR T.WU LOCATION: NEW YORK, NY

Wireless internet has transformed our lifestyle in many aspects; including the pace of our lifestyle. As one would pause and spend time in a public space to use wireless internet, so should an existing landscape response to the way people experience its environment. By installing a series of platform in response to wireless signal strength, users are able to pause and utilize these platform for various functions: wireless internet. The existing public space could be transformed base on the changes of our lifestyle.

46

T.WU-[SP2011]-wifiLANDSCAPE


1

1 ANALYSIS PROCESS 2 CONCEPT SKETCH 3 CONCEPT SKETCH

1. Introduction Landscape like the steps infront of the Low Library of Columbia University is an prime example of a situation where the users had transformed the original intent of the existing space. This landscape had now become a gathering point or a place for people to utilize wireless internet in an outdoor setting. Perhaps the landscape could transform and reponse to the way users actually using these spaces. By installing a series of platform (islands) users could then experience the landscape in a new way.

2

3 wifiLANDSCAPE-[SP2011]-T.WU

47


2. Process By utilizing Visiwave, a dataset could be generated in response to surrounding wireless signal strength. Via Microsoft Excel, the dataset could be simplified and sorted for further transformation in Rhino and Grasshopper.

1

2.1 Visiwave Visiwave: this software detects all wireless accesspoint and its VISIWAVE signal strength in relation to the user. User are able to provide longitute and latitute of the site so the program can syncronize the data with Google Earth. 2.2 Google Earth Since Visiwave generates a KMZ file format, Google Earth then become a viewer of the data that Visiwave had analyzed. Google Earth can also convert KMZ file format to KML format, which is an XML based file format. The XML file format is also accessible by Microsoft Excel, then the data can now be analyzed by other softwares.

2

2.3 Microsoft Excel By renaming the KML file as a XLS file, Microsoft Excel is able to assess the dataset that Visiwave had created. This process also allows Excel to restructure the dataset for Grasshopper to help realize a possible solution to this transformed landscape. 2.4 Grasshopper + Rhinocero As the dataset had been properly prepared in Microsoft Excel. Grasshopper can then easily import the dataset and realize this new landscape possibility in Rhinocero.

3

48

T.WU-[SP2011]-wifiLANDSCAPE


1 2 3 4.

VISIWAVE GOOGLE EARTH MICROSOFT EXCEL RHINOCERO + GRASSHOPPER

Platforms Steps Landings

Data Collection from Visiwave into excel

Cells eliminated to control the density of the point cloud in GH.

Mesh created, scaled, and moved to fit into the Columbia campus location.

Platforms created from Trim to wrap around the points generated the platforms to create from the surface a coherent landscape undulations. of steps based on the Geometries separated wireless network. into platforms and extrusions to the ground 4

wifiLANDSCAPE-[SP2011]-T.WU

49


3. Conclusion Since the dataset recorded was from one site, therefore, even with analysis of different access point the results would still be fairly similar. Significant differences would be shown in different site.

1

Utilizing these programs in such method allows us to mapped out the spatial behavior of any given space base on wifi technology. This mapping tool allows a public space to transform as users utilize it differently. With this outdoor landscape then can truly transform constantly base on its performance, and increase its usability.

2

3

50

T.WU-[SP2011]-wifiLANDSCAPE


1 2 3 4.

ITERATION 1 ITERATION 2 ITERATION 3 EYE-LEVEL PERSPECTIVE

4

wifiLANDSCAPE-[SP2011]-T.WU

51


mapVOID 02.voxelREMOVAL SEARCH: ADVANCED ALGORITHMIC DESIGN [2011.SPRING] INSTRUCTOR: MARK COLLINS

TORU HASEGAWA TEAM: J.O’REAR T.WU

Project Description The interest of exploring a universal and adaptive architecture for everyone is the driver (or driving concept) for this project. This research project explores the opportunity to utilize the Xbox Kinect and OpenKinect via Processing to realize this possibility. Utilizing the technique of voxel removal, each individual can tailor a space based on his/her preference via their movements. Due to the technological limitation of the Xbox Kinect, full 360 degrees detection was not possible. However, the technology has provided enough functions to visualize such possibility. CR Categoies: Kinect, OpenKinect, Voxel, Voxel Removal.

References Kirn, Peter. “Processing Tutorials: Getting Started with Video Processing via OpenCV.” (http://createdigitalmotion. com/2009/02/processing-tutorialsgetting-started-with-video-processingvia-opencv/) OpenKinect. (http://openkinect.org/ wiki/Main_Page) Processing. (http://processing.org/ learning/) Shiffman, Daniel. “Getting Started with Kinect and Process.” (http://www.shiffman.net/p5/kinect/) Voxel. Wikipedia.com. (http:// en.wikipedia.org/wiki/Voxel) Kinect for Xbox 360 Rare, Microsoft Game Studios http://www.rare.co.uk/ OpenKinect Hector Martin http://openkinect.org/wiki/Main_Page Processing Ben Fry and Casey Reas http://processing.org/about/

52

T.WU-[SP2011]-voxelREMOVAL


1 2 3 4

1

2

+

3

=

VOXEL GEOMETRY XBOX KINECT + OPENKINECT + PROCESSING VOXEL REMOVAL USER INTERACTION WITH VOXEL REMOVAL

1. Introduction With the recent release of the Kinect, a controller-free game device developed by Microsoft for use with the Xbox 360 video game platform, we saw an opportunity to utilize this device along with Processing for use within architectural design. The Kinect opens a whole new realm of possibilities for detecting, visualizing and interacting with spaces. We took this opportunity to use Kinects ability to detect a person’s movement in real-time, visualize the collected data, and utilize it to engage in an architectural space. Using Processing, we created volume comprised of stacked voxels. Then tracking a person’s movement with the Kinect, we utilized the collected data to determine what voxels would be removed from the volume. Using time and consequence into our project, we were able to generate a dynamic algorithm for creating and defining an architectural performance space. 2. Psuedocode As user interact with the Xbox Kinect a massive amounts of data needs to be filtered and modified in Processing in order for visualizations to be realized. We instructed Processing translate Kinect’s data into a point cloud. We then assigned the voxels to coordinate with the point set. We discovered that there is a finite list of complex instructions that we can compute for behavior of the user which results in a limitless array of conditions.

4 voxelREMOVAL-[SP2011]-T.WU

53


//Video Setup boolean vRecord = false; //Kinect Library object import org.openkinect.*; import org.openkinect.processing.*; //Voxel Setup int [][][] voxels; int dimX = 10, dimY = 10, dimZ = 20; PVector LL; PVector UR; float w, h, d; PVector[]pts; //Kinect Sectup Kinect kinect; PVector center = new PVector(); float[] depthLookUp = new float[2048]; float deg = 0;

2.1 Voxels As Kinect utilizes its infrared camera to generate a stream of data based on its 640 x 480 resolution. The stream of data compose of an X, Y coordinate of each pixel, and its associate depth. By using an algorithm we are able to translate the depth value to a more usable data. 2.2 Kinect Depth Reference Check The understanding of how voxels are structured and composed is extremely crucial in this step. As each voxel has its own associated coordinates for each corner, we can then map and locate each of the Kinect points into the voxels.

void setup() { size(1280,720,P3D); 1 //Voxels LL = new PVector(0,0,0); UR = new PVector(240,240,400); w = (UR.x - LL.x)/dimX; h = (UR.y - LL.y)/dimY; d = (UR.z - LL.z)/dimZ; voxels = new int[dimX][dimY][dimZ]; initVoxels(); //Kinect StartUp kinect = new Kinect(this); kinect.start(); kinect.enableDepth(true); kinect.processDepthImage(false); kinect.tilt(deg); //Generates the table (0 - 2047) for (int i = 0; i < depthLookUp.length; i++) { depthLookUp[i] = rawDepthToMeters(i); } }

void draw() { background(0); fill(255); //setup camera float zm = 400.0; float sp = 100.0; float cx = cos(frameCount/sp)*zm; 2.3 Method of Visualization 1 float cy = sin(frameCount/sp)*zm; The removal of voxels are conducted center = new PVector(UR.x/2, UR.y/2, UR.z/2); based on adjusting the opacity and color camera( cx+center.x, cy+center.y, center.z/2, center.x,center.y,center.z/2, 0,0,1); of the voxels. From 2.2, the density and 2 //Kinect Data Analysis int[] depth = kinect.getRawDepth(); frequency of Kinect points appear in a int skip = 3; voxel would then adjust its opacity; such for(int x=0; x<640; x+=skip) { for(int y=0; y<480; y+=skip) { that the more points occurs in a voxel it int offset = x+y*640; would also be removed faster. int rawDepth = depth[offset]; PVector v = depthToWorld(x,y,rawDepth); if(v.y < 2.0 && v.y != -2.0) { 2.4 Method of Visualization 2 float factor = 150; Due to the limitation of computer prov.mult(factor); int voxx = floor(v.x / w); cessing resources: only the affected voxels int voxy = floor(v.y / h); would appear (based on opacity) until its int voxz = floor(v.z / d); totally removed from the system, meanif(voxx < voxels.length && voxy<voxels[0].length && voxz < voxels[0][0].length) { if(voxx >= 0 && voxy >= 0 && voxz >= 0) { while, the remanding voxels would simply point(v.x,v.y,v.z); be shown as a grid system. voxels[voxx][voxy][voxz]-=1; } } 2.5 Algorithmic Influences } The algorithmic influences are simply as} } suming what are the next possible voxels //Visualization of Voxels that could be affected by the user. UtiliznoStroke(); ing a series of algorithmic cross-referenclights(); for(int k=0; k<dimZ; k++) { ing we are able to create scenarios such for(int j=0; j<dimY; j++) { that the adjacent voxel could be removed for(int i=0; i<dimX; i++) { float x = i * w + LL.x; faster or slower. float y = j * h + LL.y; float z = k * d + LL.z; //Voxel Grid 3 fill(255, voxels[i][j][k]); if(voxels[i][j][k] == 255) { noFill(); stroke(255); } //Voxel Comparison 5 if(i>0 && j>0 && k>0) { 54

T.WU-[SP2011]-voxelREMOVAL


if(voxels[i][j-1][k] < 125) { voxels[i][j][k]-=1; }else if(i+1<dimX && j+1<dimY && k+1<dimZ && i-1>0 && j-1>0 && k-1>0) { if(voxels[i-1][j-1][k]<100 || voxels[i][j-1][k+1]<100 || voxels[i][j-1][k-1]<100 || voxels[i+1][j-1][k]<100) { voxels[i][j][k]-=1; }else if(voxels[i+1][j-1][k+1]<100|| voxels[i-1][j-1][k+1]<100|| voxels[i+1][j-1][k-1]<100|| voxels[i-1][j-1][k-1]<100) { voxels[i][j][k]+=2; } }

}

} //Voxel Presents pushMatrix(); if(z<center.z) { translate(x,y,z); box(w,h,d); } popMatrix(); }

} //Video SaveFrame if(vRecord == true) { saveFrame(“OKVF-####.tif”); } } //Voxel Initial Values void initVoxels() { for(int k=0; k<dimZ; k++) { for(int j=0; j<dimY; j++) { for(int i=0; i<dimX; i++) { voxels[i][j][k] = 255; } } } } //Creates a table for conversion float rawDepthToMeters(int depthValue) { if (depthValue < 2047) { float d = 0.1236 * tan(depthValue / 2842.5 + 1.1863) ; return d; } return -1.0f; } //Kinect Data Interpretation PVector depthToWorld(int x, int y, int depthValue) { final double fx_d = 1.0 / 594.214; final double fy_d = 1.0 / 591.040; final double cx_d = 0; final double cy_d = 0; PVector result = new PVector(); double depth = depthLookUp[depthValue]; result.x = (float)((x - cx_d) * depth * fx_d); result.z = (float)((y - cy_d) * depth * fy_d); result.y = (float)(depth); return result; }

4 1 2 3 4. 5.

2.1 VOXEL 2.2 KINECT DEPTH REFERENCE CHECK 2.3 METHOD OF VISUALIZATION 1 2.4 METHOD OF VISUALIZATION 2 2.5 ALGORITHMIC INFLUENCES

3. Conclusion There were some challenges we faced with our project. Because the device is so new and is intended for the Xbox video game platform, there aren’t many instructions or tutorials available. The language of the device had to be understood and decoded. The communication between the Kinect and processing had to be linked. Once linked, the data that the Kinect gathers can be translated and visualized. The limitation of single Kinect had also limited the possibility of fully digitally record our movements, perhaps with multiple Kinects then the blind spots of any Kinect could be covered by others. In addition to this, there is difficulty in defining the absolute depth for Kinect to predetermine the absolute amount of voxels needed. Nonetheless, this project had brought us one step to allow users have fully customization of their individual space. This project had also mapped out the re-occurrences of our movements, which then can be used for other research purposes.

//User Control void keyPressed() { //Camera Tilt Control if (key == CODED) { if(keyCode == UP) { deg++; }else if(keyCode==DOWN) { deg--; } deg = constrain(deg,0,30); kinect.tilt(deg); } //Video Record/Stop if(key == ‘s’) { vRecord = true; }else if(key == ‘ ‘) { vRecord = false; } } void stop() { kinect.quit(); super.stop(); } voxelREMOVAL-[SP2011]-T.WU

55


56

T.WU-[SP2011]-voxelREMOVAL


voxelREMOVAL-[SP2011]-T.WU

57


mapVOID 03.echo LIVING ARCHITECTURE [2011.SPRING] INSTRUCTOR: DAVID BENJAMIN

SOO-IN YANG TEAM: J.THOMAS N.WONG T.WU

Lab Overview The Living Architecture Lab experiments with new systems and adaptive technologies through open source, collaborative, hands-on design. The Lab aims both to make visible the invisible forces that shape our world, and to explore the potential for architecture to transform in real time based on these forces. Each of the Labâ&#x20AC;&#x2122;s projects involves components for input, processing, and output. The components are upgradeable and swappable, and they range from offthe-shelf products to built-from-scratch elements. The goal is to integrate components into full-scale, functioning prototypes, and to apply new technologies and new forms of responsiveness to social and cultural issues.

58

T.WU-[SP2011]-echo

Prcedents Howeler + Yoon: White Noise White Light. Department of Transportation: Traffic Survey System


1

site a

DAY

1. Statement Our project explores the idea of the echo - the delay and rewriting of history. It allows one to not only observe the shadow of oneâ&#x20AC;&#x2122;s movements and interactions on a local and global scale but also examine how the echo responds and mutates according to real time conditions. The project address issues of communication, delay, and awareness of both self and other in relationship to the environment. It simultaneously serves as a device to both measure and visualize spatial efficiency and usage.

night condition

day condition 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 DAY 20:00 21:00 22:00 23:00 0:00 1:00 2:00 3:00 4:00 5:00

site b 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 0:00 1:00 2:00 3:00 4:00 5:00

site a 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 0:00 1:00 2:00 3:00 4:00 5:00

1 CONCEPT: SITE+DATA COMPARISON 2 TIME CHART COMPARISON 3 DEVICE FUNCTION DIAGRAM

site b 6:00 7:00 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 0:00 1:00 2:00 3:00 4:00 5:00

Compare + Contrast: ability to record movement on different sites allows the device to compare and contrast diffirent activities at different times between two distinct sites.

2

CURRENT:

3 echo-[SP2011]-T.WU

59


2. Mechanics ECHO utilizes the characteristics of magnets such that homogeneous charges will repel, yet the opposite would attract. Due to the length of the LED meter, it amplified the movements created by the magnets. However, because of this amplification a counter weight must be installed in order to reset the system automatically for the duration of the installation. This effect would allow ECHO to interact naturally with users; such when a movement is detected a patterned movement would be performed by ECHO. Via Arduino and Processing movements are recorded and compared with previous data of either local or global site. The LED meter on top then represents these comparisons simultaneously signifies the current comparing data via different representation methods.

60

T.WU-[SP2011]-echo


ACRYLIC BASE

SKATEBOARD WHEEL

U-CONDUIT CARRIER

STANDARD LOCKER LOCK

12V SOLENOID

BREADBOARD

ARDUINO

PINE WOOD BASE

echo-[SP2011]-T.WU

61


import processing.serial.*; import cc.arduino.*; import eeml.*; FTPClient myFTP; Arduino myArduino; Timer myTimer; //Arduino PIN Chart int pinLEDSolenoid = 13; // 13 int pinLEDMS = 12; // 12 int pinOUTSolenoid = 11; //~11 int pinINMS = 10; //~10 int pinLED75 = 9; //~09 int pinLEDLocal = 7; // 07 LEDGreen int pinLED50 = 6; //~06 int pinLED25 = 5; //~05 int pinLEDGlobal = 4; // 04 LEDRed int pinLED00 = 3; //~03 int pinLEDBetween = 2; // 02 //FTP String host = “ftp.drivehq.com”; String username = “teamawesome11”; String password = “awesomefun1”; String localPath = “//Users//TWu//Documents//Processing//Living20110505//Echo//”; String thisFileName = “device2.txt”; String thisRemotePath = “\\device_2\\”; String compareRemotePath = “\\device_1\\”; String compareFileName = “device1.txt”; //Motion Sensor boolean msSTART = true; int timeCALIBRATE = 15; //Others boolean timeUP; boolean recordThis = false; boolean timerNEW; int tInterval = 5; int tallyMovements = 0; int timeSlot = 0; int logSlot; int [] loadLog; int [] savedLog; int [] compareLoadLog; int compareRANGE = 2; int d_Percent; int d_prePercent;

3. Logistics of the System 3.1 FTP Data Exchange The firs time device is activated, it must gather data off the FTP server as it may utilize those data for compare and contrast. Similarly, everything 6AM and 6PM ECHO needs to automatically communicate with the FTP server to update its database in order to exchange information with other devices. 3.2 Timer For flexibility of the study, we had installed a timer such that ECHO could study spatial behavior base on given time interval. This allows ECHO to response to any time intervals by second, minutes, or hours. 3.3 Motion Sensor Calibration As ECHO runs on a cycle of codes, the first time when the device is activated also every time when there is a movement sensed, the motion sensor must be reset and calibrated. The very first cycle, the motion sensor must go through a set of time to learn the movements of the current environment in order to produce a more accurate reading. Other times, we could eliminate this re-calibration time by delay in the solenoid or LED meter. 3.4 Array List As ECHO gather data during its time of activation, data would be recorded to its appropriate array list position base on the time slot when data is gathered (this would be determined base on the timer mentioned above). This array list is then saved and transferred via FTP for other devices to analyze. The array list is also crucial when crossing site, such that there could be a time difference between two sites. So the array list also acts as an index for Processing to identify which entry to retrieve for analysis. 62

T.WU-[SP2011]-echo

void setup() { //Arduino Setup (Only DigitalWrite needs to call out pinMODE) myArduino = new Arduino(this, Arduino.list() [0], 57600); myArduino.pinMode(pinINMS, Arduino.INPUT); myArduino.pinMode(pinOUTSolenoid, Arduino.OUTPUT); myArduino.digitalWrite(pinINMS, Arduino.HIGH); //FTP Setup accessFTP(); } 3

void draw() { if(msSTART == true){ println(“CALIBRATING SENSOR:”); for(int i=0; i<timeCALIBRATE; i++){ print(“.”); delay(500); } println(“SENSOR ACTIVE!”); myTimer = new Timer(tInterval); myTimer.start(); timerNEW = true; msSTART = false; } //Begin myTimer.isFinished(); if(timeUP == false){ ms_READ(); logSlot = timeSlot; DataAnalysis(); DataDisplay(); recordThis = false; timerNEW = false; if(recordThis == true){ ms_RESET(); } }else{ timeSlot++; timeSlot = timeSlot % 24; if(timeSlot == 6 || timeSlot == 18){ accessFTP(); } myTimer = new Timer(tInterval); myTimer.start(); timerNEW = true; tallyMovements = 0; } }

1 void accessFTP() {

//Calibrating Motion Sensor for the first time

//Timer Start

//No long the first time running the program

//Still within the same timeSlot //Get Motion Sensor Readings

//Data Analysis //Present Data Analysis/Comparison

//Reset Motion Sensor

//Move on to the next timeSlot //Previous timeSlot + 1 //timeSlot % 24 will prevent timeSlot >= 24 //Update Database at 6AM || 6PM

//Activate new Timer

try{ myFTP = new FTPClient(); myFTP.setRemoteHost(host); FTPMessageCollector listener = new FTPMessageCollector(); myFTP.setMessageListener(listener); myFTP.connect(); myFTP.login(username, password); myFTP.setConnectMode(FTPConnectMode.PASV); myFTP.setType(FTPTransferType.ASCII);


}

myFTP.put(localPath + java.io.File.separator + thisFileName, thisRemotePath + thisFileName); myFTP.get(localPath + java.io.File.separator + compareFileName, compareRemotePath + compareFileName); myFTP.quit(); println(“Data Transfered!”); }catch(Exception e){ println(“FTP failed!”); }

void ms_READ(){ if(myArduino.digitalRead(pinINMS) == 0){ myArduino.analogWrite(pinLEDBetween, 0); tallyMovements++; recordThis = true; myArduino.analogWrite(pinLEDMS, 255); }else{ myArduino.analogWrite(pinLEDMS, 0); myArduino.analogWrite(pinLEDBetween, 255); recordThis = false; } }

1 2 3 4 5. 6. 7.

void ms_RESET(){ myArduino.analogWrite(pinLEDMS, 0); myArduino.digitalWrite(pinINMS, Arduino.HIGH); delay(2500); } void UpdateLIST(){ String d_thisData = thisFileName; String d_compareData = compareFileName; //Load int [] _loadLog = int(loadStrings(d_thisData)); loadLog = _loadLog; int [] _compLog = int(loadStrings(d_compareData)); compareLoadLog = _compLog; //Update savedLog = loadLog; savedLog[logSlot] = tallyMovements; saveStrings(d_thisData, str(savedLog)); }

4

void DataAnalysis(){ UpdateLIST(); int convertSLOT = (logSlot + 12) % 24; int d_sumAmt = compareRANGE; int d_thisDataSum = 0; int d_compareDataSum = 0; float f_tallyMovements = float(tallyMovements); float f_preTallyMovements; float f_dataSUM; //DataAnalysis //Sum of Movements for(int i=1; i < d_sumAmt; i++){ d_thisDataSum += savedLog[(convertSLOT - i + 24) % 24]; d_compareDataSum += compareLoadLog[(logSlot - i + 24) % 24]; } //Calculate Movements vs. Previous if(logSlot > 5 && logSlot < 18){ f_dataSUM = float(d_compareDataSum); }else{ f_dataSUM = float(d_thisDataSum); } if(f_dataSUM == 0){ d_Percent = 0; }else{ d_Percent = constrain(round((1-(f_tallyMovements/f_dataSUM))*100),0,100); } }

5

void DataDisplay(){ int [] pinLEDMeter = {pinLED00, pinLED25, pinLED50, pinLED75}; if(logSlot > 5 && logSlot < 18){ myArduino.analogWrite(pinLEDGlobal, 255); myArduino.analogWrite(pinLEDLocal, 0); }else{ myArduino.analogWrite(pinLEDGlobal, 0); myArduino.analogWrite(pinLEDLocal, 255); } //Setup Light Meter + Dimming Light Meter if(timerNEW == true){ for(int i = 0; i < pinLEDMeter.length; i++){ myArduino.analogWrite(pinLEDMeter[i], 255); } if(d_Percent != 100){ for(int i = 99; i >= d_Percent; i--){ int pinIndex = floor(float(i)/25.0); int LEDBright = round(float(i % 25)/25.0 * 255.0); myArduino.analogWrite(pinLEDMeter[pinIndex], LEDBright); delay(25); } } }else{ if(d_prePercent == 100){ for(int i = 0; i < pinLEDMeter.length; i++){ myArduino.analogWrite(pinLEDMeter[i], 255); } }else{

6

3.1 FTP DATA EXCHANGE 3.2 TIMER 3.3 MOTION SENSOR CALIBRATION 3.4 ARRAY LIST 3.5 DATA ANALYSIS 3.6 DATA VISUALIZATION 3.7 SOLENOID MOVEMENT

echo-[SP2011]-T.WU

63


int _pinIndex = floor(float(d_prePercent)/25.0); int _LEDBright = round(float(d_prePercent % 25)/25.0 * 255.0); for(int i = 0; i < 4; i++){ if(i < _pinIndex){ myArduino.analogWrite(pinLEDMeter[i], 255); }else if(i == _pinIndex){ myArduino.analogWrite(pinLEDMeter[i], _LEDBright); }else{ myArduino.analogWrite(pinLEDMeter[i], 0); } }

} if(d_Percent != 100 && d_prePercent != 100 && d_Percent < d_prePercent){ for(int i = d_prePercent; i >= d_Percent; i--){ int pinIndex = floor(float(i)/25.0); int LEDBright = round(float(i % 25)/25.0 * 255.0); myArduino.analogWrite(pinLEDMeter[pinIndex], LEDBright); delay(25); } }else{ for(int i = 0; i < 4; i++){ myArduino.analogWrite(pinLEDMeter[i], 255); } }

3.5 Data Analysis If current recording of movements is x, then the comparison would be comparing with either the local site previous 13th+14th hours or other site’s 13th+14th total movements (y). The comparison of x/y would provide an indicator of how much current movement would have impacted its history; this value would then be represented via the LED meter.

7

}

2 class Timer{

int tmr_savedTime; //When Timer Started int tmr_savedTime2; int tmr_saveCHECK; int tmr_totalTime; //How long Timer should last

Timer(int tempTotalTime){ tmr_totalTime = tempTotalTime; }

3.6 Data Visualization A serial of four LED are installed on the LED meter, such that each LED represents 25% of impacted movements. Modulo operation would be able to quick determines the performance of LED meter by how many LED needs to be on and its respected brightness. 3.7 Solenoid Movements As the solenoid is carefully designed and located on the device, a precise timing was required to send proper pulses of currents to the solenoid to cause the device to move. A simple for-loop and delay would be performed as the cycle finished LED determination. These repeatable cycles and delays simultaneously function as the delay time necessary for motion sensor the re-calibrate.

64

T.WU-[SP2011]-echo

} //Record current percent as the previoius d_prePercent = d_Percent; //Solenoid if(recordThis == true){ for(int pSolenoid = 0; pSolenoid < 5; pSolenoid++){ myArduino.digitalWrite(pinOUTSolenoid, Arduino.HIGH); delay(500); myArduino.digitalWrite(pinOUTSolenoid, Arduino.LOW); delay(1500); } }

//Start void start(){ tmr_savedTime = 0; tmr_saveCHECK = 0; tmr_savedTime = second(); tmr_saveCHECK = minute(); println(“New Timer Started!”); }

}

//Check if time is up void isFinished(){ int tmr_currentCHECK = minute(); int tmr_currentTime = second(); int tmr_passedTime; tmr_currentTime += (tmr_currentCHECK - tmr_saveCHECK) * 60; tmr_passedTime = tmr_currentTime - tmr_savedTime; if(tmr_passedTime > tmr_totalTime){ println(“Session Ends”); timeUP = true; }else{ println(“.”); timeUP = false; } }


echo-[SP2011]-T.WU

65


4. Conclusion The system ECHO is an extremely complex system. It attempts to accommodate multiple analyses in one device. The design of the device allows upgradable Processing codes for other analysis and performance study. ECHO best functions in the condition of an array setting, such that ECHO would work as a group. When ECHO is functioned as a group condition, proper data and analysis could truly be mapped out and analized.

66

T.WU-[TIME]-ACADEMIC


ACADEMIC-[TIME]-T.WU

67


TUNG-SHENG TONY WU GSAPP.AAD.2010-2011

GSAPP AAD 2010-11 Portfolio  

GSAPP AAD 2010-11 Portfolio

Read more
Read more
Similar to
Popular now
Just for you