31.01.2018 Views

SA_VOL1 SELF-EMPLOYED

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SELECTED WORKS //<br />

VOL.1_<strong>SELF</strong>-<strong>EMPLOYED</strong><br />

WOOJAE SUNG 성우제<br />

PRINCIPAL, LICENSED ARCHITECT IN NEW YORK, AIA<br />

ASSISTANT PROFESSOR, SEJONG UNIVERSITY<br />

E. ws@selective-amplification.net<br />

M. +82 10 4757 1353<br />

A. Suit 101, 121 Gunja-ro, Gwangjin-gu, Seoul, 05000, Korea<br />

WWW.SELECTIVE-AMPLIFICATION.NET<br />

ARCHITECTURE / INTERIOR / FACADE / PARAMETRIC DESIGN<br />

WOOJAE SUNG 성우제<br />

PRINCIPAL, LICENSED ARCHITECT IN NEW YORK, AIA<br />

ASSISTANT PROFESSOR, SEJONG UNIVERSITY<br />

E. ws@selective-amplification.net<br />

M. +82 10 4757 1353<br />

A. Suit 101, 121 Gunja-ro, Gwangjin-gu, Seoul, 05000, Korea<br />

WWW.SELECTIVE-AMPLIFICATION.NET


WOOJAE SUNG<br />

AIA / RA NY<br />

ws@selective-amplification.net | +82 10 4757 1353 | www.selective-amplification.net<br />

WORK EXPERIENCE<br />

2017 - Current<br />

2009 - Current<br />

Sejong University . Seoul, Korea . Assistant Professor<br />

Seoul, Korea<br />

Assistant Professor, Department of Architecture<br />

Design Studio and Architectural Design Courses<br />

Selective Amplification . Seoul, Korea . Principal<br />

Seoul, Korea<br />

Venture Center, Sejong University Campustown<br />

Seoul Campustown Project Winning Entry / In Progress (To Be Completed in 2019)<br />

Seoul, Korea<br />

Speech at UIA 2017 Seoul<br />

Parametric Design in Digital Design and Fabrication Session, 2017<br />

Seoul, Korea<br />

Seoul Animation Center<br />

Proposal for Seoul Animation Center, 2016<br />

Busan, Korea<br />

Secluded Island<br />

Proposal for Commercial Complex, 2016<br />

Suncheon, Korea<br />

Art Quad - Oblique Function<br />

Proposal for a Community Center, 2016<br />

Goesan, Korea<br />

Senior/Junior Center<br />

Honorable Mention, Korean Rural Architecture Competition, 2015<br />

NY, U<strong>SA</strong><br />

Vestibule +<br />

Notable Entry, Folly 2014, The Architectural League NY, Socrates Sculpture Part, NY<br />

NY, U<strong>SA</strong><br />

PV Tensegrity Forest<br />

Proposal for Installation, LAGI, Land Art Generator Initiative 2012<br />

MI, U<strong>SA</strong><br />

Parametric Design Installation<br />

Proposal for Installation, TAXFAB Digital Design Conference, 2012<br />

NY, U<strong>SA</strong><br />

Component Wall<br />

Honorable Mention, Bentley Be Inspired Awards in Computational Design, 2009<br />

2015 - 2017<br />

Grimshaw Architects . New York, NY, U.S.A. . Associate<br />

Dubai, UAE<br />

Dubai Expo 2020 Sustainable Pavilion<br />

Main Canopy Design Leader / Project Architect, Expected Completion in 2019<br />

Yeongcheon, Korea<br />

Lets Run Park<br />

Design Leader / Project Architect, Ongoing Schematic Design Phase<br />

Hainan, China<br />

Botanical Wonders Museum<br />

Design Leader / Project Architect<br />

2015<br />

OMA . New York, NY, U.S.A. . Senior Architect<br />

New York, NY<br />

515 18th Street Residential Tower<br />

Design Leader / Project Architect<br />

2013 - 2015<br />

SHoP Architects . New York, NY, U.S.A. . Senior Associate<br />

New York, NY<br />

Barclay’s Center Green Roof<br />

Design Leader / Project Architect, Completed in 2016<br />

Cleveland, OH<br />

Quicken Arena<br />

Interior Curtain Facade Design Leader / Project Architect, Ongoing Construction Documentation Phase<br />

Biscayne, Miami, FL<br />

Biscayne Residential Tower<br />

Design Leader / Project Architect<br />

2009 - 2013<br />

Grimshaw Architects . New York, NY, U.S.A. . Intermediate Architect / Leader - Computational Design Unit<br />

Shanghai, China<br />

Disney Tomorrowland<br />

Project Designer, Completed in 2015<br />

FL, U<strong>SA</strong><br />

Miami Science Museum<br />

Facade Designer, Completed in 2017<br />

Incheon, Korea<br />

Incheon International Airport Passenger Terminal 2 Competition<br />

Facade Designer<br />

4 Mile Run Pedestrian-Cyclist Bridge Competition VA<br />

Project Designer<br />

New York, NY<br />

LaGuadia Airport Competition<br />

Facade Designer<br />

Seocheon, Korea<br />

Ecorium (National Ecological Institute)<br />

Project Designer, Completed in 2012


WOOJAE SUNG<br />

AIA / RA NY<br />

ws@selective-amplification.net | +82 10 4757 1353 | www.selective-amplification.net<br />

2003 - 2006<br />

Samoo Architects & Engineers . Seoul, Korea . Junior Architect<br />

JeonJu, Korea<br />

National Nanotechnology Integration Center<br />

Project Designer, Completed in 2008<br />

GyeongGi, Korea<br />

Bio Organs Research & Production Center<br />

Designer<br />

GyeongGi, Korea<br />

College of Pharmacy, Sungkyunkwan University<br />

Project Designer, Completed in 2007<br />

PyungChang, Korea<br />

Weekend Housing for Samsung Executives<br />

Designer<br />

Seoul, Korea<br />

Guest House, Sungkyunkwan University<br />

Project Designer, Completed in 2006<br />

GyeongGi, Korea<br />

2nd Laboratory Building, Sungkyunkwan University<br />

Project Designer, Completed in 2006<br />

LECTURE & TEACHING<br />

September, 2017<br />

Spring, 2016<br />

Fall, 2015<br />

Spring, 2015<br />

Fall, 2011 - Spring, 2013<br />

April, 2010<br />

Spring, 2009 - Fall, 2009<br />

Invited Speaker . UIA 2017, Seoul<br />

Parametric Design, Digital design & Fabrication<br />

Guest Lecturer . University of Pennsylvania<br />

Parametric design lecture and workshop for M.arch design studio<br />

Guest Lecturer . The City College of New York<br />

Parametric design lecture and workshop for B.arch design studio<br />

Guest Lecturer . University of Pennsylvania<br />

Parametric design lecture and workshop for M.arch design studio<br />

Advanced Parametric Design and Scripting . Harvard University GSD<br />

Advanced parametric design lecture and workshop for Digital Media course for graduate students<br />

DIGITAL Lecture Series . Syracuse University<br />

Parametric design lecture and workshop<br />

Grasshopper Workshop . Cornell University AAP<br />

Advanced parametric design lecture and workshop for graduate studios<br />

HONORS & AWARDS<br />

April, 2014<br />

April, 2014<br />

April, 2009<br />

October, 2008<br />

October, 2008<br />

April, 2008<br />

December, 2002<br />

Honorable Mention . 10th Korean Rural Architectural Competition (UIA)<br />

Notable Entries . Folly 2014 / The Architectural League NY<br />

Honorable Mention . Bentley Academic Be Inspired Award in the Computational Design competition<br />

Featured Student . AAP, Cornell University<br />

Selected Studio Work, Spring 08 . AAP, Cornell University<br />

Selected Studio Work, Fall 07 & Spring 07 . AAP, Cornell University<br />

First Prize : Graduation Work . Yonsei University<br />

PUBLICATION<br />

April 2015 - Current<br />

May 2009<br />

Parametric Design . Korean Architects Journal (by KIRA, Korea Institute of Registered Architects)<br />

Bimonthly Article about Parametric Design on Korean Architects Journal<br />

From Top Down to Bottom Up . Interviewed by Brett Duesing, Obleo Design Media (http://obleo.net)<br />

Bottom up design methodology through parametric tools<br />

CERTIFICATIONS<br />

November, 2014<br />

Licensed / Registered Architect New York State (#37422) / AIA (#38430055)<br />

Ncarb / Office of the Professions, NY State / The American Institute of Architects


WOOJAE SUNG<br />

AIA / RA NY<br />

ws@selective-amplification.net | +82 10 4757 1353 | www.selective-amplification.net<br />

EDUCATION<br />

December, 2008<br />

February, 2003<br />

August, 2000<br />

Cornell University . Ithaca, NY<br />

Master of Architecture<br />

Yonsei University . Seoul, Korea<br />

Bachelor of Science in Architectural Engineering<br />

Yonsei University . Seoul, Korea<br />

Bachelor of Science in Civil Engineering


CONTENTS //<br />

VOL.1_<strong>SELF</strong>-<strong>EMPLOYED</strong><br />

VENTURE CENTER //<br />

SEJONG CAMPUS TOWN<br />

SYMBIOSIS & INCOMPLETENESS //<br />

RURAL ARCHITECTURE COMPETITION<br />

ART QUAD, OBLIQUE FUNCTION //<br />

SUNCHEON ART PLATFORM<br />

01_SECLUDED ISLAND<br />

Introverted space configuration helps<br />

guest intermingle toward the rotunda<br />

space at the very center of the building.<br />

Chance encounters or unexpected visual<br />

connections among wide range of guests<br />

in different programs and activities let<br />

them easily explore the entire complex.<br />

On the other hand, being above the lobby,<br />

hotel and event suites not only have quite<br />

environment but also have wide open<br />

view to the city over the mountain.<br />

PARTS TO WHOLE //<br />

SEOUL ANIMATION CENTER<br />

SECLUDED ISLAND //<br />

BUNKER REGENERATION<br />

VESTIBULE+ //<br />

FOLLY 2014 THE ARCHITECTURAL<br />

LEAGUE, NY<br />

COMPONENT ARCHITECTURE //<br />

PARAMETRIC GRADIENT WALL<br />

CUT IT, CURLING IT UP //<br />

DYNAMIC TAPESTRY<br />

CHAOS + GRID //<br />

COORDINATED RANDOM GROWTH


20<br />

DESIG<br />

SHAW<br />

PARA<br />

WOOJ<br />

@ CITY<br />

SEP 2<br />

-<br />

ULTRA LIGHT //<br />

CARBON FIBER PAVILION<br />

DIGITAL DESIGN //<br />

LECTURES & WORKSHOPS<br />

PARAMETRIC DESIGN //<br />

UIA 2017 SEOUL<br />

SKETCHES //<br />

ARCHITECTURAL IDEAS<br />

XXX //<br />

XXX XXX XXX<br />

XXX //<br />

XXX XXX XXX<br />

XXX //<br />

XXX XXX XXX<br />

XXX //<br />

XXX XXX XXX<br />

XXX //<br />

XXX XXX XXX


VENTURE CENTER //<br />

SEJONG CAMPUS TOWN<br />

@ SELECTIVE AMPLIFICATION / 2018 / SEOUL / KOREA / IN PROGRESS (TO BE COMPLETED BY 2019)


VENTURE CENTER //<br />

SEJONG CAMPUS TOWN<br />

Sejong Venture Center was a part of Sejong University’s winning entry to Campus Town Competition hosted by the city of Seoul. Located<br />

at the southern tip of the campus, the container stacked building will provide spaces for animation/VR student start-ups. It also will<br />

accommodate character market and public spaces including gallery and arcade for the local community. The project is currently on design<br />

development phase, and will be built by 2019.


ground floor<br />

On ground floor, there will be two separate buildings; one on the south will host spaces for start up and local<br />

community, and one on the north will provide suporting facilities including management office. The two buildings will have a shared<br />

outdoor space with drop off which will naturally connect the two. There will be a court yard/gallery at the center of the main building<br />

surrounded by anymation character / vr market and retail spaces.<br />

BOH<br />

COURT YARD/GALLERY<br />

ARCADE<br />

CAR ACCESS<br />

DROP OFF<br />

DROP OFF<br />

BOH/MANAGEMENT OFFICE<br />

VENTURE CENTER/OFFICE<br />

RETAIL<br />

TOTEM<br />

ANIMATION/VR MARKET<br />

RETAIL<br />

GROUND FLOOR<br />

2nd floor<br />

On 2nd floor, container boxes will be stepping as being stacked in order to provide roof terace and indoor meeting<br />

spaces. Double height arcade will provide exhibition spaces along the one of the main axis of the building.<br />

BOH<br />

OPEN DESK/MEETING RM<br />

ARCADE<br />

RETAIL<br />

BOH<br />

VENTURE CENTER<br />

ROOF DECK<br />

ROOF DECK<br />

ROOF DECK<br />

VENTURE CENTER<br />

ROOF DECK<br />

2ND FLOOR


3rd floor<br />

On 3rd floor, there will be two bridges; one connects the main building to the main campus to the right, which sits about<br />

7 meters higher in elevation. The other will connect the main building to the anex to the north.<br />

BOH<br />

OPEN DESK/MEETING RM<br />

BOH<br />

ARCADE/BRIDGE<br />

BRIDGE<br />

VENTURE CENTER<br />

ROOF DECK<br />

ROOF DECK<br />

ROOF DECK<br />

VENTURE CENTER<br />

3RD FLOOR<br />

roof<br />

The court yard at the center of the main building will have a glass roof forming an indoor atrium.<br />

BULKHEAD<br />

BULKHEAD<br />

BULKHEAD<br />

GLASS ROOF<br />

ROOF


SYMBIOSIS & INCOMPLETENESS //<br />

RURAL ARCHITECTURE COMPETITION<br />

@ SELECTIVE AMPLIFICATION / 2017 / SEOUL / KOREA / HONORABLE MENTION


SYMBIOSIS & INCOMPLETENESS //<br />

RURAL ARCHITECTURE COMPETITION<br />

We believe incompleteness of the buildings will naturally create needs forthe unfulfilled and then eventually attract users from the other<br />

building. Given the restrictions of area, budget, and predefined sets of programs, rather than designing them look complete and perfect,<br />

which we don’t believe it is achievable any ways, we wanted to help the two talk to each other and establish collaboration between them in<br />

a bigger picture. As a way of doing this, we as architects and designers took tectonic approaches basically testing out the idea of<br />

juxtaposition.


S A<br />

1 9 7 5<br />

A<br />

01. SYMBIOSIS & INCOMPLETENESS<br />

-<br />

The most important intention of the proposal is to differentiate two buildings from<br />

each other, by which we meant to make both of them incomplete in many different<br />

aspects and meanings.<br />

03<br />

04<br />

05<br />

Are you crazy? WHY?<br />

06<br />

Because we believe incompleteness of the buildings will naturally create needs for<br />

the unfulfilled and then eventually attract users from the other building. Given the<br />

restrictions of area, budget, and predefined sets of programs, rather than designing<br />

them look complete and perfect, which we don’t believe it is achievable any ways, we<br />

wanted to help the two talk to each other and establish collaboration between them<br />

in a bigger picture. As a way of doing this, we as architects and designers took tectonic<br />

approaches basically testing out the idea of juxtaposition.<br />

02<br />

10<br />

02. JUXTAPOSITION<br />

-<br />

To achieve symbiosis arising from the differences, we looked at lots of different but<br />

interesting ways of differentiation. Below are some of the most interesting but promising<br />

ideas ranging from building shapes, their relationship with the sites, transparency/opaqueness,<br />

types of human activities, etc..<br />

01<br />

12<br />

11<br />

13<br />

STEP 01 - DEDUCTIVE (HORIZONTAL) VS ADDITIVE (VERTICAL)<br />

STEP 02 - WIDE OPEN VS ENCLOSED<br />

03. SENIOR CENTER // PYUNG-<strong>SA</strong>NG &<br />

-<br />

The main concept of the senior center is Pyung-Sang (평상) which can be easily fou<br />

very interesting in that it provides flexible space for socializing especially for elderly<br />

hall as a huge Pyung-Sang where lots of different activity happens at the same tim<br />

social activities. This space also can work as a stage, for example for a fashion sh<br />

large space in a very high ceiling ware house building, we thought that sound attenu<br />

propose series of wood baffles along the spine of the building. It will naturally wor<br />

the space with warm ambient light. For better lighting condition for the guests, we<br />

north facing roof so we can take advantage of indirect illumination. A diagonal wal<br />

of densely installed bamboo batons. At the out most face of the building sit foldin<br />

into an open pavilion in a sec. As this entire space under the roof will be very flexibl<br />

senior lounges to more quite zone with minimal interruption - new extension on so<br />

the senior lounge. Also its sloped face toward the Pyung-Sang and Madang will be a<br />

on the stage. This sloping will naturally guide guests to the roof garden.<br />

SKY LIGHT ROOF ASSEMBLY<br />

FOR NORTH FACING ROOF<br />

EXISTING VENT TO STAY FOR<br />

NATURAL VENTILATION<br />

STEP 03 - TRANSPARENT VS TRANSLUCENT<br />

EXISTING WALL TO STAY<br />

BAMBOO BATTEN WALL<br />

STEP 04 - OUTDOOR ACTIVITY VS INDOOR ACTIVITY<br />

EXISTING FASCIA<br />

EXISTING COLUMNS T<br />

PYUNG-<strong>SA</strong>NG / MULTI PURPOS HALL<br />

FOLDING GLASS WALL TRACK<br />

WIDE FLANGE LINTEL BETWEEN<br />

EXISTING COLUMNS<br />

MADANG<br />

OUTDOOR SITTING AREA


07<br />

08<br />

04. JUNIOR CENTER // INTANGIBLE BOUNDARY, CURTAIN<br />

-<br />

Unlike senior center, in the junior center, child care would be the foremost goal. That being said, we thought it wants to be of more<br />

controlled space rather than wide open to the public. In an effort to create boundaries which is very subtle and intangible not to be<br />

claustrophobic but somehow works, we thought about a curtain. It’s translucency gives you a feeling of protection, and could be a<br />

good way of demarcating your area. Also the way how it sways along with wind reflecting sun lights as it moves will give beautiful<br />

experiences for kids. Imagine you are sitting on a chair with your eyes closed right behind of the curtain. Sometimes the interplay<br />

between sun and wind will let the ray hit on your eyes and it goes away right after. We thought this psychological approach will be<br />

better than to put series of heavy cage around you.<br />

09<br />

SITE PLAN - SENIOR CENTER KEY FEATURES<br />

SCAL 1:200<br />

-<br />

01. MAIN ENTRANCE TO THE SITE<br />

02. OPEN SPACE - OUTDOOR STAGE / SITTING AREA<br />

03. ENTRANCE TO MULTI-PURPOSE HALL / 평상<br />

04. SKY LIGHT FACING NORTH<br />

05. ENTRANCE TO QUITE ZONE<br />

06. EXISTING CORRUGATED ROOF<br />

07. REUSE EXISTING VENT FOR NATURAL VENTILATION<br />

08. SERVICE ENTRANCE / LOADING<br />

09. SUB ENTRANCE TO THE SITE<br />

10. MAIN ENTRANCE TO SOUTH BUILDING<br />

11. ROOF GARDEN ON THE NEW EXTENSION<br />

12. OUTDOOR SITTING AREA / GREEN BERM<br />

13. PARKING<br />

WOOD FRAME TO HOLD THE CURTAIN<br />

CURTAIN. RECYCLED PVC RIBBON<br />

ATTACHED TO WOOD FRAME BEHIND<br />

FLAT ROOF ASSEMBLY<br />

MADANG<br />

nd in a suburban city near Seoul. We found it is<br />

people. Inspired by it, we propose multi-purpose<br />

e. The wide open space will be a great place for<br />

ow, small orchestra, etc. As we are dealing with<br />

ation would be problematic. To prevent, we also<br />

k as light reflector at the same time so as to lit<br />

propose series of sky light roof assembly to the<br />

l that divide multi-purpose hall will be made out<br />

g glass walls which converts the entire building<br />

e and from time to time a bit crazy, we relocated<br />

uth. This will house admin offices in addition to<br />

perfect spot for watching performance or shows<br />

OPERABLE WINDOW ASSEMBLY<br />

EGRESS STAIR<br />

WIRE MESH FIRE STAIR ENCLOSURE<br />

FOLDING WINDOW<br />

WIDE FLANGE STRUCTURAL STEEL COLUMN<br />

OPERABLE WINDOW ASSEMBLY<br />

FOR NATURAL VENTILATION<br />

CONNECTION TO THE PROPOSED<br />

BUILDING EXTENSION<br />

MOST OF THE EXISTING<br />

BUILDING STRUCTURE TO STAY<br />

METAL DECK W/ LIGHT WEIGHT CONC'<br />

ON STEEL STRUCTURE<br />

EXISTING ROOF ASSEMBLY TO STAY<br />

EXISTING ROOF TRUSS TO STAY<br />

WOOD BAFFLE FOR SOUND ATTENUATION<br />

FOR LARGE SPACE AND ALSO AS LIGHT REFLECTOR<br />

EXISTING CLEARSTORY TO STAY<br />

01<br />

02<br />

04<br />

03<br />

SITE PLAN - JUNIOR CENTER KEY FEATURES<br />

SCAL 1:200<br />

-<br />

01. SUB ENTRANCE TO THE SITE<br />

02. ROOF GARDEN ON THE EXISTING BUILDING<br />

03. PARKING<br />

04. MAIN ENTRANCE TO THE BUILDING<br />

05. FUT<strong>SA</strong>L FIELD / COURT YARD<br />

06. FLOATING NEW EXTENSION<br />

07. CURTAIN<br />

08. MAIN ENTRANCE TO THE SITE<br />

05<br />

FOLDING GLASS WALL<br />

07<br />

TO STAY<br />

ROOF GARDEN / GREEN BERM<br />

06<br />

O STAY<br />

08


SENIOR CENTER // PLANS & RENDERS<br />

01<br />

02<br />

01. SKY LIGHT FACING NORTH<br />

02. EXISTING ROOF<br />

03. OUT DOOR STAGE<br />

04. OUT DOOR SITTING AREA (SLOPED)<br />

05. ROOF GARDEN<br />

06. PARKING<br />

03<br />

05<br />

04<br />

ROOF PLAN<br />

SCALE 1:100


S A<br />

1 9 7 5<br />

B<br />

SUB ENT.<br />

01<br />

02<br />

03<br />

06<br />

04 05<br />

07<br />

SUB ENT.<br />

SUB ENT.<br />

08<br />

17<br />

01. MULTI PURPOSE HALL (PYUNG-<strong>SA</strong>NG)<br />

02. POCKET GARDEN<br />

03. MULTI PURPOSE ROOM<br />

04/05. REST ROOMS<br />

06. CORRIDOR<br />

07. ENTRY HALL<br />

08. COMMON KITCHEN AND WORK<br />

09. OFFICE<br />

10. STORAGE<br />

11/12. RESTROOMS<br />

13. HALL<br />

14/15. LOUNGE<br />

16. OUT DOOR SITTING AREA(SLOPED)<br />

17. OUT DOOR STAGE<br />

18. PARKING<br />

MAIN ENTRIES<br />

09<br />

MAIN ENT.<br />

14<br />

03<br />

06<br />

08<br />

16<br />

10<br />

11<br />

12<br />

13<br />

15<br />

F01 PLAN<br />

SCALE 1:100<br />

SUB ENT.<br />

01<br />

04 05<br />

SUB ENT.<br />

07<br />

02


01. ROOF GARDEN<br />

02. STAIR<br />

03/04. MULTI PURPOSE<br />

05. SMALL LIBRARY<br />

06. <strong>SELF</strong> STUDY ROOM<br />

07. INTERNET ROOM<br />

08. FOREIGN LANGUAGE<br />

09. MEDIA ROOM<br />

10. STAIR<br />

11. REST ROOM<br />

13<br />

S A<br />

1 9 7 5<br />

C<br />

JUNIOR CENTER // PLANS & RENDER<br />

ROOF PLAN<br />

SCALE 1:100<br />

01<br />

0<br />

02<br />

03<br />

06<br />

04<br />

01/04. SHOWER<br />

02/03. REST ROOMS<br />

05. STORAGE<br />

06. CORRIDOR<br />

07. WASHING ROOM<br />

08. KITCHEN<br />

09. COOKING PRACTICE<br />

10. BAKERY PRACTICE<br />

11. DINING ROOM<br />

12. STAIR<br />

13. STAIR<br />

F02 PLAN<br />

SCALE 1:100


01 02<br />

01<br />

02<br />

ROOM<br />

ROOM<br />

04<br />

01. ROOF GARDEN<br />

02. STAIR<br />

03/04. MULTI PURPOSE ROOM<br />

05. SMALL LIBRARY<br />

06. <strong>SELF</strong> STUDY ROOM<br />

07. INTERNET ROOM<br />

08. FOREIGN LANGUAGE ROOM<br />

09. MEDIA ROOM<br />

10. STAIR<br />

11. REST ROOM<br />

03<br />

10<br />

08 06<br />

03<br />

05 04<br />

F03 PLAN<br />

SCALE 1:100<br />

11<br />

09<br />

07<br />

SUB ENT.<br />

13<br />

5<br />

02<br />

08<br />

08 09 10<br />

01<br />

04 05 06<br />

07<br />

03<br />

11<br />

12<br />

07<br />

09<br />

01. ENTRY HALL (SUB)<br />

02/03. REST ROOMS<br />

04. BOOK CAFE<br />

05. COUNSELLING ROOM<br />

06. OFFICE<br />

07. BOOK CAFE HALL<br />

08. STORAGE<br />

09. MAIN ENTRY HALL<br />

10. FUT<strong>SA</strong>L FIELD<br />

11. STAIR<br />

12. MADANG<br />

13. PARKING<br />

10<br />

MAIN ENT.<br />

13<br />

11 12<br />

F01 PLAN<br />

SCALE 1:100


SECTIONS, ELEVATIONS<br />

EXISTING FASCIA TO REMAIN<br />

EXISTING VENT TO STAY FOR<br />

NATURAL VENTILATION<br />

EXISTING CORUGATED ROOF ASSEMBLY<br />

ROOF S.L.<br />

400<br />

SENIOR CENTER : SOUTH ELEVATION<br />

SCALE 1:100<br />

EXISTING VENT TO STAY FOR<br />

NATURAL VENTILATION<br />

EXISTING ROOF TRUSS TO STAY<br />

SKY LIGHT ROOF ASSEMBLY<br />

FOR NORTH FACING ROOF<br />

ROOF S.L.<br />

400<br />

4500<br />

6850<br />

2100<br />

4500<br />

250<br />

6850<br />

2100<br />

1ST F.F.L.<br />

1ST S.L.<br />

G.L<br />

RADIENT FLOOR HEATING<br />

WOOD BAFFLE<br />

FOR SOUND ATTENUATION<br />

AND LIGHT DIFFUSION<br />

BAMBOO BATON WALL<br />

WIDE FLANGE LINTEL BETWEEN EXISTING COLUMNS<br />

FOLDING WINDOW WALL<br />

250<br />

1ST F.F.L.<br />

1ST S.L.<br />

G.L<br />

RADIENT FLOOR HEATING<br />

SENIOR CENTER : LONGITUDINAL SECTION<br />

SCALE 1:100<br />

BAMBOO BATON WALL<br />

WOOD BAFFLE<br />

FOR SOUND ATTENUATION<br />

AND LIGHT DIFFUSION<br />

EXISTING CLEARSTORY BEHIND<br />

TO STAY<br />

OPERABLE WINDOW<br />

/ PROJECTING<br />

CURTAIN : RECYCLED<br />

PVC STRIP<br />

3RD S.L.<br />

JUNIOR CENTER : FACADE DETAIL<br />

SCALE 1:20<br />

BOLTED TO WOOD FRAME<br />

BEHIND W/ PVC WASHER<br />

STAINLESS<br />

STEEL FASCIA<br />

WOOD FRAME ATTACHED TO THE<br />

EDGE OF SLAB


S A<br />

1 9 7 5<br />

D<br />

CURTAIN : RECYCLED PVC STRIPE<br />

ATTACHED TO WOOD FRAME BEHIND<br />

EXISTING BUILDING<br />

ROOF S.L.<br />

1160<br />

JUNIOR CENTER : SOUTH ELEVATION WITH CURTAIN<br />

SCALE 1:100<br />

OPERABLE WINDOW ASSEMBLY<br />

FOR NATURAL VENTILATION<br />

3100<br />

3RD S.L.<br />

WIDE FRANGE LINTEL<br />

BETWEEN EXISTING COLUMNS<br />

2ND S.L.<br />

3100 3100<br />

10710<br />

FOLDING WINDOW<br />

WIRE MESH SCREEN FOR<br />

FIRE EGRESS STAIR<br />

1ST S.L.<br />

G.L<br />

250<br />

WIDE FLANGE STRUCTURAL STEEL COLUMN<br />

FLAT ROOF ASSEMBLY<br />

ROOF S.L.<br />

1160<br />

EXISTING BUILDING<br />

WIDE FRANGE LINTEL<br />

BETWEEN EXISTING COLUMNS<br />

3RD S.L.<br />

2ND S.L.<br />

3100 3100<br />

3100<br />

10710<br />

COMPOSITE METAL DECK SLAB<br />

ON STEEL STRUCTURE<br />

FOLDING WINDOW<br />

JUNIOR CENTER : SOUTH ELEVATION WITHOUT CURTAIN<br />

SCALE 1:100<br />

WIRE MESH SCREEN FOR<br />

FIRE EGRESS STAIR<br />

EXISTING BUILDING<br />

TO REMAIN<br />

1ST S.L.<br />

G.L<br />

250<br />

WIDE FLANGE STRUCTURAL STEEL COLUMN<br />

ROOF S.L.<br />

1160<br />

COMPOSITE METAL DECK SLAB<br />

ON STEEL STRUCTURE<br />

FIRE EGRESS EXIT<br />

3RD S.L.<br />

2ND S.L.<br />

3100 3100 3100<br />

10710<br />

1ST S.L.<br />

G.L<br />

250<br />

CURTAIN : RECYCLED PVC STRIPE<br />

ATTACHED TO WOOD FRAME BEHIND<br />

WIRE MESH SCREEN FOR<br />

FIRE EGRESS STAIR<br />

JUNIOR CENTER : CROSS SECTION<br />

SCALE 1:100


ART QUAD, OBLIQUE FUNCTION //<br />

SUNCHEON ART PLATFORM<br />

@ SELECTIVE AMPLIFICATION / 2017 / SUNCHEON / KOREA


ART QUAD, OBLIQUE FUNCTION //<br />

SUNCHEON ART PLATFORM<br />

We imagined a great lawn – a wide open space with no obstruction that naturally lets people find their own way through it. As is often the<br />

case in many other lawns in urban contexts, quads, another interesting name implying their coexistence with and morphology into rigid<br />

urban grid systems, accumulate traces of pedestrian traffic on their surfaces. This naturally divide up areas into smaller patches that then<br />

can be mapped with different urban activities. We thought that this approach to site planning is more natural and effective in<br />

accommodating various activities than vice versa. Unlike most of quads are framed by surrounding building blocks in their specific urban<br />

contexts, the site doesn’t have any strong formal constraints in that sense. But we felt it right to connect view shed along south north<br />

direction bridging water front area all the way up to the tree on the parking lot of the adjacent building to the north of our site. This<br />

naturally gave us a good sized quad that potentially accommodate all the program requirements.


art quad, oblique function<br />

As Paul Virilio put it, “Being inclined, the wall becomes experiencable” provides a very useful<br />

mechanism for organically inter-connected space. By pulling up some of the vertices of the quad, we were able to tuck in most of the<br />

required spaces underneath and transformed the quad into continuous and occupiable green roof. In plan the circulation stays the same<br />

but is expanded vertically flowing along the series of slops. This continuous green roof stretching the entire site from south to north is<br />

supported by composite decking system composed of concrete slab and glulam, apparently inspired by Korean traditional rafter roofing<br />

system. The sedum of green roof on slopping condition will be held by guard net that keeps the soil media in stasis even in the steepest<br />

slope. As guests strolling along the oblique quad, they reach Yoenja-Ru at the southern tip of it with great view to the OK stream.<br />

01. PAL MA BI<br />

02. PARK HANG RAE MEMORIAL<br />

03. TREE TO STAY<br />

04. SUNKEN (CONNECTION TO UNDERGROUND MALL)<br />

05/08. SEATING AREA<br />

06/10. COURT YARD<br />

07. SKY LIGHT TO MAIN EXHIBITION SPACE BELOW<br />

09. RAMP TO YEONJA RU<br />

11. YEONJA RU BELOW<br />

12. OUTDOOR SCULPTURE GARDEN<br />

13. AMPI THEATER<br />

14. UNDESIGNATED LAWN FOR VARIOUS LOCAL ACTIVITIES<br />

15. CAR ACCESS / CAR PARK<br />

16. MAIN ENT. TO ADMINISTRATION OFFICE<br />

17. GROUND LEVEL ACCESS TO MAIN EXHIBITION SPACE<br />

18. CONNECTION TO UNDERGROUND MALL<br />

19. VISITOR CENTER<br />

20. VISITOR CENTER / MUSEUM ACCESS (B1 LEVEL)<br />

21. VISITOR CENTER ACCESS UNDER PORTE COCHERE<br />

22. MAIN ENT. TO CAFETERIA<br />

23. SUB ENT. TO ADMINISTRATION OFFICE<br />

24. MAIN ENT. TO YEONJA RU<br />

25. ROOF ACCESS<br />

26. MEANDERING PATH DIWB TO MAIN EXHIBITION HALL<br />

27. ACCESS TO MUSEUM/ROOF<br />

28. ACCESS TO WATER FRONT SEATING AREA


03<br />

15<br />

15<br />

05<br />

01<br />

14<br />

25<br />

23<br />

06<br />

16<br />

26<br />

14<br />

14<br />

12<br />

07<br />

17<br />

13<br />

14<br />

14<br />

27<br />

04<br />

14<br />

08<br />

09<br />

19<br />

18<br />

21<br />

14<br />

28<br />

11<br />

24<br />

10<br />

22<br />

02<br />

20


erent urban We activities. imagined We a great thought lawn that – a wide this approach open space with Unlike esting no most obstruction intersection of quads that are between naturally framed the by lets surrounding two people systems; find building recreational Then blocks we vs in thought functional. their specific about urban the underground contexts, the mall. It THE sits EDUCA E8<br />

Ive in accommodating ART their own QUAD way various through activities it. As // is than often OBLIQUE vice the versa. case in site many 01 doesn’t EXISTING other FUNCTION<br />

have lawns SITE any in strong urban FABRIC contexts, formal & ACCESS constraints quads, another<br />

interesting blocks in name their implying specific urban their coexistence contexts, the with shed and THE EDUCATIONAL<br />

in that 08 sense. a QUAD matter But - of we GREEN fact. felt it The PLATE<br />

SPACE<br />

02 CROSS PASSING PATHS right apparent to connect fix to view it is to provide 09 LIF wi<br />

nding building along morphology EXHIBITION south north into direction SPACE<br />

STORAGE<br />

rigid urban bridging grid systems, water front area sit all nicely the in way between RAMP up to the at 4 tree meters on the below parking ground. Rather We ma<br />

aints in that 02<br />

accumulate sense. CROSS But PASSING<br />

traces we felt of it PATHS<br />

pedestrian right to connect traffic on view 0309 VIEW<br />

SPACE LIFT CORRIDOR UP<br />

WORK SPACE<br />

0410 QUAD INSERT PROGRAMS UNDERNEATH<br />

ART QUAD<br />

their lot surfaces. of the adjacent This naturally building divide to the up areas north into of our smaller site. This<br />

ACTIVATING and naturally created gave a THE gentle us a<br />

UNDERGROUND<br />

good slope sized radiating quad from that the one this 11 EXH<br />

ADMINISTRATION<br />

of no th<br />

water front activating<br />

patches area all that the underground<br />

then way can up to be the mall<br />

mapped tree on with the different parking We thought MALL<br />

potentially<br />

Rather about<br />

urban activities. accommodate<br />

than the underground being a typical mall.<br />

We thought all the<br />

museum It sits<br />

that program<br />

space 8.125<br />

this approach requirements.<br />

where meters guests below were ground forced which to flow makes along it a even predefined and<br />

esting intersection between the two systems; recreatio valley, some<br />

04 QUAD<br />

f our site. This to site naturally planning gave is more us a natural good sized and quad effectIve that this 11 EXHIBITION not to be the SPACE case here AT anymore. JUNCTION<br />

VISITOR CENTER<br />

harder to access to it through the narrow stairs<br />

in accommodating<br />

as a matter of fact.<br />

various<br />

The<br />

activities<br />

apparent<br />

than<br />

fix to Chance<br />

vice<br />

it<br />

versa.<br />

is to provide encounter wide or serendipity open cut valley while which we are connects strolling around the qu<br />

requirements.<br />

We imagined a great lawn – a wide open space with no valley, obstruction is what that we are naturally trying lets to achieve people eventually find Then in<br />

CAFETERIA we thought about the underground mall. It sits 8.1<br />

Unlike the mall most into of ground quads are level framed and underground by surrounding parking<br />

their own way through it. As is often the case many 01 building EXISTING space<br />

other blocks lawns SITE can sit<br />

in urban their FABRIC nicely specific in<br />

contexts, & ACCESS between urban contexts, at 4 meters<br />

quads, another<br />

site interesting of triangular doesn’t name have patches any implying strong that their were formal coexistence derived constraints from with the in and that pedestrian morphology sense. But paths we into felt on rigid the it right urban lawn to and grid connect created systems, view a gentle sit slope nicely radiating in OPENING RAFTER<br />

the 08 below<br />

the<br />

a QUAD THE ground.<br />

project, and the pivotal point between the two has<br />

matter EXHIBITION - of GREEN fact. GLULAM We made<br />

The PLATE SPACE use of some<br />

RAMP apparent fix to it is to provide wide<br />

between from at 4 the meters one below of the ground. We made<br />

02 shed 08 CROSS QUAD along PASSING - south GREEN north PATHS PLATE direction bridging water front 09 LIFT area UP all the way up to the tree on the parking Rather than being a typical museum space where gues<br />

accumulate mall exits traces to the of other pedestrian side of traffic the site. on Overlapping their surfaces. the This valley naturally with divide the quad up areas gave us into an smaller interesting and intersection created YEONJA a gentle between RU slope the radiating two systems; from the one of the<br />

lot of the adjacent building to the north of our site. This naturally gave us a good sized quad that this not to be the case here anymore. Chance encounte<br />

patches that then can be mapped with different urban activities. We thought that this approach esting intersection<br />

EVENT SUITE<br />

between the two systems; OCCUPIABLE<br />

recreational vs functional.<br />

recreationa<br />

potentially accommodate all the program requirements.<br />

valley, (RIVER is what VIEW) we are trying to achieve eventually GREEN SLOPE in th<br />

to site planning is more natural and effectIve in accommodating ART QUAD various activities // than OBLIQUE vice versa. FUNCTION<br />

Unlike most of quads are framed by surrounding building blocks in their specific urban contexts, the THE EDUCATIONAL EXHIBITION<br />

COURT YARD<br />

SPACE<br />

STORAGE<br />

LIQUE 01 EXISTING FUNCTION<br />

SITE FABRIC & ACCESS<br />

08 QUAD - GREEN PLATE<br />

SPACE RAMP<br />

WORK SPACE<br />

site doesn’t have any strong formal constraints in that 02 sense. CROSS But PASSING we felt it PATHS right to connect view 0309 VIEW LIFT CORRIDOR UP<br />

OUTDOOR 10 INS<br />

OPENING<br />

ADMINISTRATION<br />

ART QUAD<br />

SEATING ACTIV AREA<br />

shed along south north direction bridging water front area all the way up to the tree on the parking Rather than being a typical museum space where guests<br />

03 VIEW CORRIDOR<br />

0410 QUAD INSERT PROGRAMS UNDERNEATH 05<br />

lot of the adjacent building to the north of our site. This<br />

We imagined ACTIVATING<br />

naturally gave<br />

a great THE<br />

us a<br />

lawn UNDERGROUND<br />

good sized quad that this 11 CONNECT EXHIBITION YEONJA RU<br />

not WATER to be UNDERGROUND<br />

FRONT the SPACE case here AT anymore. JUNCTION MALLChance encounter 12 VISITOR RO<br />

– a wide open space MALL<br />

EVENT SUITE<br />

o<br />

with no obstruction SEATING that AREA<br />

potentially accommodate all the program requirements.<br />

valley, (RIVER is what VIEW) we are naturally trying lets to achieve people eventually find Then in CAFETE the w<br />

05 CONNECT UNDERGROUND MALL their 12 VISITOR<br />

own ROOF CENTER<br />

way through it. As is often the case in many other lawns -8.125 Min urban contexts, -4.0 M quads, anoth-SKer interesting Then CAFETERIA we thought name implying about the their underground coexistence mall. with and It sits morphology 8.125 COURT meters YARD<br />

LIGHT<br />

a matt<br />

pace with no obstruction that naturally lets people find<br />

into below rigid ground urban grid which systems, makes it even sit hard nice<br />

ase in many 01 EXISTING other lawns SITE in urban FABRIC contexts, & ACCESS quads, anoth-0ence with and morphology into rigid urban grid systems, patches sit nicely that then in between can at mapped 4 meters with below different ground. urban We activities. made use We of some thought of triangular that this approach patches that were esting deri<br />

08 CROSS<br />

accumulate a QUAD matter PASSING -<br />

traces of GREEN fact. of pedestrian The PATHS PLATE apparent traffic fix to on it their is to surfaces. provide 09 LIFT wide UPCAFETERIA<br />

-8.125 M<br />

-4.0 M<br />

This open naturally cut valley divide which up areas connects into smaller the mall into and grou cre<br />

0309 VIEW LIFT CORRIDOR UP<br />

10 INSERT PROGRAMS UNDERNEATH<br />

their surfaces. This naturally divide up areas into smaller to site and planning created is a more gentle natural slope radiating and effectIve from in the accommodating one of the mall various exits to activities the other than side vice of the versa. site. Overlappin<br />

erent urban activities. We thought that this approach Unlike VISITOR<br />

esting most CENTER<br />

intersection of quads are between framed the by surrounding two systems; building recreational blocks vs in functional. their specific urban contexts, the THE EDUCA E<br />

Ive in accommodating ART QUAD various activities // than OBLIQUE vice versa.<br />

MALL<br />

SPACE<br />

site doesn’t CAFETERIA FUNCTION<br />

have any strong formal constraints in that sense. ENT But we felt it right to connect view<br />

nding building blocks in their specific urban contexts, the shed THE EDUCATIONAL<br />

along EXHIBITION south north direction SPACE<br />

STORAGE<br />

bridging water front area all the way up to the tree on the parking Rather<br />

RAMP<br />

RAMP<br />

aints in that 02 sense. CROSS MALL<br />

SPACE<br />

WORK SPACE<br />

But PASSING we felt it PATHS right to connect view 0309 VIEW LIFT CORRIDOR UP<br />

ART QUAD<br />

lot of the adjacent building to the north of our site. This<br />

0410 QUAD INSERT PROGRAMS UNDERNEATH<br />

ACTIVATING<br />

naturally gave<br />

THE<br />

us a<br />

UNDERGROUND<br />

good sized quad that this 11 EXH<br />

ENT<br />

OPENING<br />

ADMINISTRATION<br />

no<br />

water front area all the way up to the tree on the parking<br />

MALL<br />

E<br />

potentially<br />

Rather<br />

accommodate<br />

than being a typical<br />

all the<br />

museum<br />

program<br />

space<br />

requirements.<br />

where guests were forced to flow along a predefined and valley, some(<br />

04 QUAD<br />

05<br />

f our site. This naturally gave us a good sized quad that this 11 CONNECT EXHIBITION YEONJA<br />

not to be UNDERGROUND RU<br />

EVENT SUITE<br />

the SPACE case here AT anymore. JUNCTION MALLChance encounter 0612 CAR VISITOR ROOF or PARK CENTER<br />

serendipity ESCALATOR while we are strolling around the 13 LIF qu<br />

requirements.<br />

We imagined a great lawn – a wide open space with no valley, obstruction<br />

(RIVER is what VIEW)<br />

that we are naturally trying lets to achieve people eventually find Then in CAFETERIA the we project, thought B1 ACCESS and about the pivotal the underground point between mall. the It two sits has 8.1<br />

their 06 own CAR way PARK through it. As is often the case in many 01 EXISTING other 13 LIFT lawns -8.125 SITE Min urban FABRIC contexts, &-4.0 ACCESS M quads, another<br />

interesting name implying their coexistence with and<br />

08 a QUAD matter - of GREEN fact. GLULAM<br />

RAMP The PLATE apparent fix to it is to provide wide<br />

COURT YARD<br />

EDUCATIONAL<br />

STORAGE<br />

morphology into rigid urban grid systems, sit nicely in OPENING<br />

RAFTER<br />

between RAMP at 4 meters below ground. We made<br />

0208 CROSS QUAD PASSING - GREEN PATHS PLATE<br />

0309 VIEW<br />

SPACE LIFT CORRIDOR UP<br />

WORK SPACE<br />

10 INSERT PROGRAMS UNDERNEATH<br />

accumulate traces of pedestrian traffic on their surfaces. This naturally divide up areas ADMINISTRATION<br />

into smaller and created YEONJA a gentle RU slope radiating from the one of the<br />

patches that then can be mapped with different urban activities. We thought that this approach esting intersection EVENT SUITE between the two systems; OCCUPIABLE<br />

0410 QUAD INSERT PROGRAMS UNDERNEATH 11 EXHIBITION SPACE AT JUNCTION<br />

VISITOR CENTER<br />

recreationa<br />

(RIVER VIEW)<br />

GREEN SLOPE<br />

to site planning is more natural and effectIve in accommodating various activities than vice versa.<br />

CAFETERIA<br />

Unlike VISITOR most CENTER of quads are framed by surrounding building blocks in their specific urban contexts, the THE EXHIBITION COURT YARD<br />

OPEN STEPS<br />

EDUCATIONAL GLULAM RAMP<br />

SPACE<br />

STORAGE<br />

MALL<br />

SPACE<br />

WORK (COVERED SPACE SEATING A<br />

site doesn’t have any strong formal constraints in that sense. But we felt it right to connect view<br />

OUTDOOR<br />

CAFETERIA<br />

ENT<br />

OPENING RAFTER CAR PARK<br />

ADMINISTRATION<br />

SEATING AREA<br />

shed along south north direction bridging water front area all the way up to the tree on the parking Rather than UNDERGROUD being a typical museum space where guests<br />

03 VIEW CORRIDOR<br />

10 INSERT PROGRAMS UNDERNEATH<br />

YEONJA RU<br />

OPEN SLOPE INDOOR SCUL<br />

lot of the adjacent building<br />

CAR<br />

to<br />

PARK<br />

the north of our site. This<br />

04 QUAD<br />

naturally gave us a good sized quad that<br />

05 this 11 CONNECT EXHIBITION not WATER MALL<br />

EVENT<br />

to be UNDERGROUND ACCESS FRONT<br />

SUITE<br />

the MALL<br />

SPACE case here AT anymore. JUNCTION MALLChance (COVERED)<br />

encounter 12 ROGA<br />

o<br />

SEATING AREA ENT<br />

potentially accommodate all the program requirements.<br />

valley, (RIVER is what VIEW) we are trying to achieve eventually in the<br />

05 CONNECT UNDERGROUND MALL 0612 CAR VISITOR ROOF PARK CENTER<br />

0713 LANDSCAPE LIFT BERM<br />

14 COURT INS<br />

0107 EXISTING LANDSCAPE -8.125 SITE M FABRIC BERM &-4.0 ACCESS M<br />

EDUCATIONAL<br />

0309 VIEW<br />

SPACE LIFT CORRIDOR UP<br />

0511 CONNECT EXHIBITION UNDERGROUND SPACE AT JUNCTION MALL<br />

-8.125 M<br />

MALL<br />

ENT<br />

04 QUAD<br />

06 CAR PARK<br />

02 CROSS MALL PASSING PATHS<br />

ENT<br />

0410 QUAD INSERT PROGRAMS UNDERNEATH<br />

0612 CAR VISITOR ROOF PARK CENTER<br />

CAFETERIA<br />

05 CONNECT UNDERGROUND MALL<br />

EDUCATIONAL<br />

-8.125 M<br />

03 VIEW<br />

SPACE<br />

CORRIDOR<br />

-8.125 M<br />

MALL<br />

ENT<br />

-4.0 M<br />

0511 CONNECT EXHIBITION UNDERGROUND SPACE AT JUNCTION MALL<br />

0713 LANDSCAPE LIFT BERM<br />

06 CAR PARK 0713 LANDSCAPE LIFT BERM<br />

MALL<br />

ENT<br />

-4.0 M<br />

YEONJA CAR RUPARK<br />

STORAGE<br />

WORK SPACE<br />

ADMINISTRATION<br />

CAFETERIA<br />

0208 CROSS 14 QUAD INSERT PASSING - GREEN PROGRAM PATHS PLATEUNDERNEATH<br />

0410 QUAD INSERT RIVER VIEWPROGRAMS UNDERNEATH<br />

VISITOR CENTER<br />

CAFETERIA<br />

EDUCATIONAL GLULAM<br />

SPACE RAMP<br />

OPENING RAFTER<br />

0511 CONNECT EXHIBITION YEONJA UNDERGROUND RUSPACE AT JUNCTION MALL<br />

MALL<br />

EVENT SUITE ENT<br />

(RIVER VIEW)<br />

13 LIFT-8.125 M<br />

EDUCATIONAL COURT YARD<br />

0309 VIEW<br />

SPACE LIFT CORRIDOR UP<br />

0511 CONNECT EXHIBITION UNDERGROUND SPACE AT JUNCTION MALL<br />

WATER FRONT<br />

SEATING AREA<br />

-8.125 M<br />

MALL<br />

ENT<br />

CAFETERIA<br />

0612 CAR ROOF PARK<br />

MALL<br />

ENT<br />

0410 QUAD INSERT RIVER VIEWPROGRAMS UNDERNEATH<br />

0612 CAR ROOF PARK<br />

VISITOR CENTER<br />

ESCALATOR<br />

CAFETERIA B1 ACCESS<br />

GLULAM<br />

RAFTER<br />

YEONJA CAR RUPARK<br />

RIVER VIEW<br />

EDUCATIONAL<br />

SPACE<br />

STORAGE<br />

WORK SPACE<br />

ADMINISTRATION<br />

MALL<br />

ENT<br />

CAFETERIA<br />

RAMP<br />

ESCALATOR<br />

B1 ACCESS<br />

GLULAM<br />

RAMP RAFTER YEONJA RU<br />

VISITOR CENTER<br />

ESCALATOR<br />

CAFETERIA B1 ACCESS<br />

GLULAM RAMP<br />

OPENING RAFTER<br />

UNDERGROUD<br />

YEONJA RU<br />

EVENT WATER MALL ACCESS<br />

SUITE FRONT MALL<br />

(RIVER SEATING VIEW) AREA ENT<br />

13 LIFT OUTDOOR<br />

EDUCATIONAL COURT SEATING YARD<br />

SPACE CAFETERIA<br />

ESCALATOR<br />

B1 ACCESS<br />

STORAGE<br />

WORK SPACE<br />

RIVER VIEW<br />

RAMP YEONJA RU<br />

ADMINISTRATION<br />

INDOOR SCULPTURE<br />

GARDEN ESCALATOR<br />

B1 ACCESS<br />

COURT YARD GLULAM<br />

RAFTER<br />

YEONJA RU<br />

RIVER VIEW<br />

UNDERGROUD<br />

MALL ACCESS<br />

04 QUAD 0511 CONNECT EXHIBITION UNDERGROUND SPACE AT JUNCTION MALL 12 ROOF<br />

RAMP<br />

UNDERGROUD<br />

WATER MALL ACCESS FRONT MALL<br />

SEATING AREA ENT<br />

0612 CAR ROOF PARK 0713 LANDSCAPE LIFT BERM<br />

14 INSERT PROGRAM UNDERNEATH<br />

RIVER VIEW<br />

MALL<br />

ENT<br />

MALL<br />

ENT<br />

MALL<br />

ENT<br />

07 LANDSCAPE BERM<br />

-4.0 M<br />

CAR PARK<br />

CAR PARK<br />

STORAGE<br />

WORK SPACE<br />

ADMINISTRATION<br />

12 ROOF<br />

13 LIFT<br />

RAMP<br />

07 LANDSCAPE BERM<br />

-4.0 M<br />

14 INSERT PROGRAM UNDERNEATH<br />

MALL<br />

ENT<br />

YEONJA RU<br />

CAR PARK<br />

YEONJA RU<br />

CAR PARK<br />

-4.0 M<br />

-8.125 OUTDOOR<br />

M -4.0 M<br />

SEATING<br />

CAFETERIA<br />

STORAGE<br />

WORK SPACE<br />

ADMINISTRATION<br />

14 INSERT PROGRAM UNDERNEATH<br />

-8.125 OUTDOOR<br />

M<br />

EDUCATIONAL COURT SEATING YARD<br />

CAFETERIA<br />

09 SPACE LIFT UP<br />

11 EXHIBITION SPACE AT JUNCTION<br />

10 INSERT RIVER VIEWPROGRAMS UNDERNEATH<br />

12 ROOF<br />

UNDERGROUD<br />

WATER MALL ACCESS FRONT<br />

SEATING AREA<br />

OUTDOOR<br />

SEATING<br />

CAFETERIA<br />

11 EXHIBITION SPACE AT JUNCTION<br />

13 LIFT<br />

14 INSERT PROGRAM UNDERNEATH<br />

ADMINISTRATION<br />

WATER FRONT<br />

SEATING AREA<br />

0612 CAR ROOF PARK<br />

07 LANDSCAPE BERM<br />

-4.0 M<br />

14 INSERT PROGRAM UNDERNEATH<br />

CAR PARK<br />

14 INSERT PROGRAM UNDERNEATH<br />

SKY LIGHT<br />

STORAGE<br />

WORK SPACE<br />

RIVER<br />

ADMINISTRATION<br />

ADMINISTR<br />

E<br />

(<br />

13 LIF<br />

W<br />

SE<br />

OPEN STEPS<br />

(COVERED SEATING A<br />

OPEN SLOPE INDOOR SCUL<br />

VISITOR (COVERED)<br />

CENTER GA<br />

14 INS<br />

COURT<br />

MULTI PURPOSE<br />

STORAGE<br />

AUDITORIUM<br />

WORK SPACE<br />

RIVER<br />

ADMINISTRATION<br />

INDOOR SCULPTU<br />

ADMINISTR GARD<br />

COURT YA<br />

ADMINISTRAT<br />

U<br />

WM<br />

SE<br />

INDOOR SCUL<br />

VISITOR CENTER GA<br />

COURT


OCCUPIABLE<br />

GREEN SLOPE<br />

OUTDOOR<br />

SEATING AREA<br />

SKY LIGHT<br />

RAMP<br />

OPENING<br />

YEONJA RU<br />

EVENT SUITE<br />

(RIVER VIEW)<br />

COURT YARD<br />

GLULAM ROOF<br />

STRUCTURE<br />

OPEN STEPS<br />

(COVERED SEATING AREA)<br />

OPEN SLOPE<br />

(COVERED)<br />

RAMP<br />

DOUBLE HEIGHT<br />

EXHIBITION SPACE<br />

RAMP OPENING<br />

GLULAM<br />

RAFTER<br />

OUTDOOR<br />

SEATING AREA<br />

WATER FRONT<br />

SEATING AREA<br />

CAFETERIA<br />

VISITOR CENTER<br />

MULTI PURPOSE<br />

AUDITORIUM<br />

GLULAM<br />

RAFTER<br />

OUTDOOR SCULPTURE<br />

GARDEN<br />

EXHIBITION<br />

PLATFORM<br />

ESCALATOR<br />

B1 ACCESS<br />

MEANDERING<br />

PATH<br />

UNDERGROUD<br />

MALL ACCESS<br />

OUTDOOR<br />

SEATING<br />

INDOOR SCULPTURE<br />

GARDEN<br />

COURT YARD<br />

ADA PARKING<br />

ADMINISTRATION<br />

DROP OFF<br />

PARKING<br />

RAMP


SECTION (S-N)<br />

CAR<br />

ENT<br />

0<br />

06<br />

33<br />

OFFICE<br />

SUB ENT<br />

22<br />

05<br />

20 21<br />

05<br />

23 24<br />

19<br />

06<br />

OFFICE<br />

SUB ENT<br />

05<br />

OFFICE<br />

ENT<br />

MUSEUM<br />

ENT<br />

16<br />

06<br />

07<br />

OFFICE<br />

ENT<br />

17<br />

18<br />

08<br />

OFFICE<br />

ENT<br />

MUSEUM<br />

ENT<br />

15<br />

06<br />

07<br />

24<br />

19<br />

OFFICE<br />

SUB ENT<br />

22<br />

20 21<br />

04<br />

SECTION (W-E)<br />

25<br />

13<br />

28<br />

26<br />

27<br />

08<br />

08<br />

14<br />

22<br />

MUSEUM<br />

ENT<br />

MUSEUM<br />

ENT<br />

21<br />

OFFICE<br />

ENT<br />

17<br />

18<br />

OFFICE<br />

ENT<br />

29<br />

31<br />

MUSEUM<br />

22ENT (B1)<br />

22<br />

12<br />

30<br />

MUSEUM<br />

ENT<br />

MUSEUM<br />

ENT<br />

MUSEUM<br />

ENT<br />

MUSEUM<br />

ENT<br />

23<br />

23<br />

08<br />

11<br />

21<br />

10<br />

09<br />

09<br />

23<br />

11 10<br />

11<br />

09 12<br />

10<br />

12<br />

12<br />

MUSEUM<br />

ENT<br />

MUSEUM<br />

ENT<br />

MUSEUM 17<br />

ENT<br />

MUSEUM<br />

17<br />

ENT<br />

18<br />

01<br />

03<br />

32<br />

12<br />

07 19<br />

17<br />

07<br />

05<br />

19<br />

17<br />

06<br />

17 20<br />

06<br />

16<br />

01. UNDERGROUND MALL ENT<br />

02. 18<br />

17 20<br />

STAGE<br />

16<br />

03. OUTDOOR SEATING AREA<br />

04. 18 OUTDOOR DINNING AREA<br />

05. GALLERY<br />

06. INDOOR VISITOR SCULPTURE CENTERGARDEN<br />

07. STAGEENT<br />

08. OUTDOOR SEATING AREA<br />

09. COURT YARD<br />

10. RAMP TO YOEN JA RU<br />

14 13<br />

VISITOR CENTER<br />

14<br />

ENT13<br />

15<br />

15<br />

MUSEUM<br />

ENT<br />

MUSEUM<br />

ENT<br />

10<br />

02<br />

02<br />

03<br />

04<br />

YEONJA RU / RESTAURANT<br />

ENT<br />

09<br />

33<br />

OFFICE YEONJA RU<br />

SUB MAIN ENT ENT<br />

01<br />

27<br />

05<br />

SITOR CENTER<br />

T<br />

MUSEUM<br />

ENT<br />

MUSEUM<br />

ENT<br />

SEUM<br />

T (B1)<br />

12<br />

SEUM<br />

T (B1)<br />

12<br />

07<br />

23 24<br />

17<br />

19<br />

MUSEUM 16<br />

SYSTEMFILTER<br />

ENT<br />

YEONJA RU / RESTAURANT<br />

STYROFOAM INSULATION<br />

ENT<br />

MAT EROSION BLANKET OFFICE<br />

ENT<br />

15<br />

15<br />

MUSEUM<br />

ENT<br />

14<br />

14<br />

11<br />

11<br />

16<br />

20 21<br />

06<br />

VISITOR CENTER<br />

ROOF PLAN ENT<br />

23 OFFICE<br />

24<br />

33<br />

19 SUB ENT<br />

SCALE 1:300<br />

01. OCCUPIABLE ROOF (SEATING AREA) 22<br />

02. COURT YARD (YEONJA RU)<br />

03. RAMP TO YEONJA RU<br />

20 OFFICE 21<br />

ENT<br />

17<br />

22<br />

04. SKY LIGHT TO GALLERY BELOW<br />

05. COURT YARD (OFFICE)<br />

06. OCCUPIABLE ROOF (SEATING AREA)<br />

GROWING MEDIA<br />

DRAIN MAT<br />

TENDON STOP ASSEMBLY<br />

GARDNET<br />

SYSTEMFILTER<br />

ANCHOR UNDER MEDIA AND<br />

INSTALL UP ONTO INSIDE FACE OF<br />

GARDNET CELL<br />

DRAIN MAT EROSION BLANKET<br />

TURN DOWN AND SECURE EDGE<br />

OF 10GARDMAT ALONG FACE OF<br />

GARDNET CELL<br />

STYROFOAM INSULATION<br />

09<br />

GREEN ROOF BUILD-UP DETAIL<br />

08<br />

SCALE 1:20<br />

10<br />

07 07<br />

18<br />

OFFICE<br />

ENT<br />

18<br />

CONTINUOUS, PERFORATED<br />

ATTACHMENT BRACKET<br />

CLOSED EYEBOLT ASSEMBLY<br />

TENDON OFFICE LOOP AND OVAL<br />

STYROFOAM INSULATION<br />

ENT<br />

DRAINAGE MAT<br />

TENDON STOP ASSEMBLY<br />

GROWING MEDIA<br />

SYSTEMFILTER<br />

WATERPROOFING<br />

MUSEUM<br />

ENT<br />

GROUND FLOOR PLAN<br />

SCALE 1:300<br />

01. OUTDOOR SEATING<br />

02. RESTROOMS<br />

03. OPEN KITCHEN<br />

04. BAR/DINING AREA<br />

05. RECEPTION<br />

06. GALLERY<br />

07. AV ROOM<br />

08. MULTI-PURPOSE AUDITORIUM<br />

09. EXPERIENCE ROOM<br />

10. GREEN ROOF/SLOPE<br />

11. TEMPORARY EXHIBITION (B1)<br />

12. AMPITHEATER STAGE (B1)<br />

13. OUTDOOR SCLUPTURE GARDEN ON SLOPE<br />

14. INDOOR SCULPTURE GARDEN ON SLOPE<br />

15. FOYER<br />

16. GREEN ROOF/SLOPE<br />

17. COURT YARD<br />

18. RECEPTION<br />

19. KITCHEN/OPEN OFFICE FOR CURATORS<br />

20. MEETING ROOM<br />

21. STORAGE<br />

22. OFFICE<br />

23. WORKSHOP<br />

24. RESTROOMS<br />

25. RESTROOMS<br />

26. STAFF AREA<br />

27. DINING AREA<br />

28. OUTDOOR SEATING (STEPPED)<br />

29. RESTROOMS<br />

30. YEONJA RU (EVENT SUITE)<br />

31. CATERING ROOM<br />

32. COURT YARD/OBSERVATION DECK<br />

33. ADA PARKING<br />

SECTION (S-N)<br />

SCALE 1:300<br />

ROOF (GL +11.90)<br />

2ND FL (GL +5.50)<br />

GROUND FL (0.00)<br />

25<br />

26<br />

27<br />

01. OCCUPIABLE ROOF (SEATING AREA)<br />

02. COURT YARD (YEONJA<br />

28<br />

RU)<br />

03. RAMP TO YEONJA RU<br />

04. SKY LIGHT TO GALLERY BELOW<br />

05. COURT YARD (OFFICE)<br />

06. OCCUPIABLE 25 ROOF (SEATING AREA)<br />

26<br />

27<br />

29<br />

25<br />

29<br />

04<br />

02<br />

28<br />

2ND FLOOR<br />

3RD FLOOR<br />

31<br />

26<br />

28<br />

31<br />

03<br />

03<br />

30<br />

30<br />

01<br />

27<br />

32<br />

32<br />

SECTION<br />

SCALE 1:<br />

ROOF (GL +11<br />

2ND FL (GL +4<br />

GROUND FL (0<br />

01. UNDERGROUND MALL ENT<br />

02. STAGE<br />

05<br />

03. OUTDOOR<br />

06<br />

SEATING AREA<br />

04. OUTDOOR DINNING AREA<br />

05. GALLERY<br />

06. INDOOR SCULPTURE GARDEN<br />

07. STAGE 07<br />

08<br />

08. OUTDOOR SEATING AREA<br />

09. COURT YARD<br />

10. RAMP TO YOEN JA RU


5<br />

04<br />

02<br />

S A<br />

0 4 1 5<br />

B<br />

29 01<br />

04<br />

02<br />

29<br />

04<br />

02<br />

05<br />

MALL<br />

28 EXIT<br />

04 02<br />

25<br />

27<br />

26<br />

27<br />

01<br />

28<br />

MALL<br />

EXIT<br />

27<br />

07<br />

01<br />

01<br />

28<br />

03<br />

06<br />

07<br />

03<br />

03<br />

21<br />

03<br />

MUSEUM<br />

ENT<br />

08<br />

29<br />

31<br />

30<br />

09<br />

21<br />

32<br />

MUSEUM MUSEUM<br />

ENT ENT<br />

MUSEUM<br />

ENT<br />

19<br />

11 10<br />

12<br />

20<br />

16<br />

12<br />

14 13<br />

22<br />

MUSEUM<br />

ENT<br />

23 25<br />

09<br />

02<br />

11 10<br />

12<br />

MUSEUM<br />

ENT<br />

129<br />

01<br />

/ ELEVATION (W-E)<br />

300<br />

.90)<br />

24<br />

24<br />

25<br />

25<br />

15<br />

MUSEUM<br />

ENT<br />

MUSEUM<br />

ENT<br />

26<br />

26<br />

02<br />

02<br />

01<br />

01<br />

09<br />

17<br />

17 20<br />

24<br />

31<br />

16<br />

18<br />

30<br />

01. OUTDOOR SEATING<br />

02. RESTROOMS<br />

03. OPEN KITCHEN<br />

04. BAR/DINING AREA<br />

05. RECEPTION<br />

06. GALLERY<br />

07. AV ROOM<br />

08. MULTI-PURPOSE AUDITORIUM<br />

09. EXPERIENCE ROOM<br />

10. GREEN ROOF/SLOPE<br />

B1/B2 FLOOR PLAN<br />

11. TEMPORARY EXHIBITION (B1)<br />

12. AMPITHEATER 01. STAGE HALL<br />

SCALE (B1)<br />

13. OUTDOOR SCLUPTURE 02. STORAGE<br />

1:300<br />

GARDEN ON SLOPE<br />

14. INDOOR SCULPTURE 03. 01. HALL PARKING GARDEN 100 + ON 2 TRUCK SLOPE LOADING<br />

15. FOYER 04. 02. STORAGE PARKING RAMP<br />

16. GREEN ROOF/SLOPE 05. 03. PARKING MEP 100 + 2 TRUCK LOADING<br />

17. COURT YARD06. 04. STORAGE PARKING RAMP (WORK SPACE ANEX)<br />

18. RECEPTION 07. 05. LOADING MEP DOCK<br />

19. KITCHEN/OPEN 08. 06. STORAGE<br />

OFFICE PERMANENT (WORK<br />

FOR CURATORS COLLECTION SPACE ANEX)<br />

20. MEETING ROOM 09. 07. LOADING TEMPORARY DOCK EXHIBIT<br />

08. PERMANENT COLLECTION<br />

21. STORAGE<br />

22. OFFICE 11. 09. MULTI TEMPORARY PURPOSE EXHIBIT AUDITORIUM<br />

23. WORKSHOP 12. REST ROOMS<br />

24. RESTROOMS13. 11. MULTI STAFF PURPOSE OFFICE AUDITORIUM<br />

25. RESTROOMS14. 12. REST PREPARATION ROOMS ROOM<br />

26. STAFF AREA15. 13. STAFF CAFE/RESTAURANT<br />

OFFICE<br />

27. DINING AREA16. 14. MUSEUM PREPARATION SHOPROOM<br />

28. OUTDOOR SEATING 17. 15. SHOWER/TOILET/CHANGING CAFE/RESTAURANT<br />

(STEPPED)<br />

ROOM<br />

29. RESTROOMS18. 16. MUSEUM PANTRY SHOP<br />

17. SHOWER/TOILET/CHANGING ROOM<br />

30. YEONJA RU (EVENT SUITE)<br />

31. CATERING ROOM 20. 18. PANTRY MEETING ROOM<br />

32. COURT YARD/OBSERVATION 21. INDOOR SCULPTURE DECK GARDEN<br />

33. ADA PARKING 22. 20. OUTDOOR MEETING ROOM SCULPTURE CARDEN<br />

23. 21. INDOOR AMPI-THEATER SCULPTURE STAGE GARDEN<br />

24. 22. OUTDOOR SCULPTURE DINNING AREA CARDEN<br />

25. 23. AMPI-THEATER OUTDOOR SEATING STAGE AREA<br />

26. 24. STAGE OUTDOOR (LEVEL DINNING B2) AREA<br />

25. OUTDOOR SEATING AREA<br />

26. STAGE (LEVEL B2)<br />

01<br />

19<br />

32 26<br />

14 13<br />

10. EXPERIENCE ROOM WITH RETRACTABLE SEATING<br />

10. EXPERIENCE ROOM WITH RETRACTABLE SEATING<br />

19. STORAGE (LOCAL INFORMATIONAL MATERIALS)<br />

19. STORAGE (LOCAL INFORMATIONAL MATERIALS)<br />

15<br />

MALL<br />

EXIT<br />

27<br />

25<br />

01. HALL<br />

02. STORAGE<br />

03. MUSEUM PARKING 100 + 2 TRUCK LOADING<br />

04. ENT PARKING RAMP<br />

05. MEP<br />

06. STORAGE (WORK SPACE ANEX)<br />

07. LOADING DOCK<br />

08. PERMANENT COLLECTION 24<br />

09. TEMPORARY EXHIBIT<br />

10. EXPERIENCE ROOM WITH RETRACTABLE SEATING<br />

11. MULTI PURPOSE AUDITORIUM<br />

12. REST ROOMS<br />

13. STAFF OFFICE<br />

14. PREPARATION ROOM<br />

15. CAFE/RESTAURANT<br />

16. MUSEUM SHOP<br />

17. SHOWER/TOILET/CHANGING ROOM<br />

18. PANTRY<br />

19. STORAGE (LOCAL INFORMATIONAL MATERIALS)<br />

20. MEETING ROOM<br />

21. INDOOR SCULPTURE GARDEN<br />

22. OUTDOOR SCULPTURE CARDEN<br />

23. AMPI-THEATER STAGE<br />

24. OUTDOOR DINNING AREA<br />

25. OUTDOOR SEATING AREA<br />

26. STAGE (LEVEL B2)<br />

27. ENTRY TO UNDERGROUND SHOPPING MALL<br />

28. HALL<br />

29. STORAGE<br />

30. STAGE / OUTDOOR SEATING AREA<br />

31. OUTDOOR SEATING AREA<br />

32. TAKE OUT CAFE<br />

26<br />

02<br />

01<br />

31<br />

32<br />

30<br />

29<br />

MALL<br />

EXIT<br />

27<br />

01. HALL<br />

2ND FL (GL +4.00)<br />

02. STORAGE<br />

03. PARKING 100 + 2 TRUCK LOADING<br />

04. PARKING RAMP<br />

05. MEP<br />

ROOF (GL +11.90)<br />

GROUND FL (0.00)<br />

06. STORAGE (WORK SPACE ANEX)<br />

07. LOADING DOCK<br />

08. PERMANENT COLLECTION<br />

09. TEMPORARY EXHIBIT<br />

10. EXPERIENCE ROOM WITH RETRACTABLE SEATI<br />

11. MULTI PURPOSE AUDITORIUM01<br />

12. REST ROOMS<br />

13. STAFF OFFICE<br />

14. PREPARATION ROOM<br />

15. CAFE/RESTAURANT<br />

16. MUSEUM SHOP<br />

17. SHOWER/TOILET/CHANGING ROOM<br />

18. PANTRY<br />

19. STORAGE (LOCAL INFORMATIONAL MATERIALS<br />

20. MEETING ROOM<br />

21. INDOOR SCULPTURE GARDEN<br />

22. OUTDOOR SCULPTURE CARDEN<br />

23. AMPI-THEATER STAGE<br />

24. OUTDOOR DINNING AREA<br />

25. OUTDOOR SEATING AREA<br />

01.<br />

26.<br />

UNDERGROUND<br />

STAGE (LEVEL B2)<br />

MALL ENT<br />

02. STAGE<br />

03. OUTDOOR SEATING AREA<br />

04. OUTDOOR DINNING AREA<br />

05. GALLERY<br />

06. INDOOR SCULPTURE GARDEN<br />

07. STAGE<br />

08. OUTDOOR SEATING AREA<br />

09. COURT YARD<br />

10. RAMP TO YOEN JA RU<br />

27.<br />

28.<br />

29.<br />

30.<br />

31.<br />

32.<br />

.00)<br />

.00)<br />

10<br />

06<br />

08<br />

04 05<br />

07<br />

01 02 03<br />

09<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15 15 15<br />

01<br />

16<br />

ROOF (GL +8.50)<br />

2ND FL (GL +4.00)<br />

GROUND FL (0.00)<br />

01. OCCUPIABLE ROOF<br />

02. YEON JA RU<br />

03. RESTAURANT/BAR<br />

04. OUTDOOR SEATING AREA<br />

05. RAMP UP TO YEON JA RU<br />

06. VISITOR CENTER<br />

07. CAFE/LOCAL INFO GALLERY<br />

08. PREPARATION ROOM/STAFF AREA<br />

09. EXPERIENCE ROOM<br />

10. TEMPORARY EXHIBITION<br />

11. INDOOR SCLUPTURE GARDEN<br />

12. PERMANANT COLLECTION<br />

13. CAR PARK<br />

14. COURT YARD TO OFFICE<br />

15. OPEN OFFICE / MEETING ROOM / OFFICE<br />

16. DROP OFF


PARTS TO WHOLE //<br />

SEOUL ANIMATION CENTER<br />

@ SELECTIVE AMPLIFICATION / 2017 / SEOUL / KOREA


PARTS TO WHOLE //<br />

SEOUL ANIMATION CENTER<br />

The programs of Seoul Animation Center shall be rendered into three major sections – ‘Creative Factory,’ ‘Market Convention’ and ‘Imagery<br />

Playground.’ ‘Creative Factory’ shall become a productive section as a space for creative companies, with the aim to perform rearrangement<br />

and alteration of functions of Animation Town, a core figure of Seoul Imagination Industry. ‘Market Convention’ is a communicative section<br />

as a circulation platform in which the ‘market,’ signifying the long-term goal of industrial function, is joined with ‘Convention,’ a spatial idea<br />

with a modern reinterpretation of a market that serves as a temporary and integrated event space. ‘Imagery Playground’ is an enjoyment<br />

(play) section that shall attract citizens and experiences, composed of a theatre, contents playground, a library and many more.<br />

- competition brief -


site planning<br />

소파로에 면한 대지의 북측 및 서측의 고저차가 2개층의 높이에 해당하기에 이를 적극적으로 활용하는 공간 배치 및 접근에<br />

대한 고려. 대지 북측으로 명동방면에서 유입되는 보행자 접근(지하2층 레벨), 대지 서측으로 버스 및 자가용을 이용한 접근 (지상 1층 레벨), 그리고 향후<br />

예장자락 개발이 됨을 고려했을 때 남산 예술센터의 위를 지나는 대지 동측으로의 접근(지하1층 레벨)의 큰 세가지 접근을 고려. 각기 다른 레벨의 세개의<br />

진입공간이 연결되는 연속적인 동선의 흐름은 자연히 대지를 남북의 두개의 영역으로 구획하며 남측은 건폐율 30%에 해당하는 건물의 영역으로 북측은 인접한<br />

소파로및 보행자 동선과 연결되는 야외 놀이및 전시 공간과 오픈스페이스로 전용하게 됨.


LV. B2<br />

OUTDOOR EXHIBITION<br />

FRAME/CANOPY<br />

ENTRY<br />

PLAZA<br />

PLAY GROUND<br />

OUTDOOR SEATING<br />

UNDER CANOPY<br />

BUS STOP<br />

LV. F1<br />

DN<br />

OUTDOOR<br />

STAGE<br />

DN<br />

LV. B1<br />

ENTRY<br />

PLAZA<br />

DROP OFF<br />

DN


AXONOMETRIC DIAGRAM I<br />

7-○. ○○○○○<br />

VOXEL<br />

OUTDOOR EXHIBITION<br />

PLAYGROUND<br />

CONVENTION<br />

EVENT<br />

MODULAR PLAY STRUCTURE<br />

FORMAL OFFICES<br />

INFORMAL<br />

OFFICES<br />

FORMAL OFFICES<br />

EXHIBITION<br />

SMALL CONVENTION<br />

THEATER<br />

• 기존 애니메이션 센터에 있는 정방형의 프레임 구조는 작게는 캐릭터의 전시를 위한 용도로 사용될<br />

CAR PARK<br />

MEP<br />

수도 있고 확장될시에는 놀이 시설을 설치하거나 외부 캐노피로 활용될 수 있는 유연한 플랫폼으로<br />

활용 가능하기에 재미있을뿐 아니라 실용적인 헤리티지임.<br />

• 저마다 유연성을 가진 작은 모듈들이 서로 조합되어 확장될 때 전체적인 시스템이 다양한 필요성의<br />

변화에 조금 더 유연하게 대처할수 있을것이라 생각됨.<br />

• 작은 입방체인 복셀은 크기에 따라 여러가지 프로그램을 수용할수 있으며 또한 삼차원으로 배치시<br />

대지의 고저차 및 층간의 수직적인 이동을 도울뿐 아니라 건물/랜드스케이프 전체가 일관된 디자인<br />

언어로서 프로그램상의 요구조건을 만족하면서 하나로 융합되도록 도와주는 매개체가 됨.<br />

• 전체적으로 두개의 큰 복셀이 자리잡게 되며 놀이터, 야외 극장, 야외 전시시설등의요소를 포함하는<br />

열린 프레임 구조로서의 입방체와, 필요한 프로그램을 수용하는 구획된 공간들의 집합체로서의 건<br />

물로 구현됨.<br />

PLAZA<br />

LOBBY / ATRIUM<br />

EXHIBITION


AXONOMETRIC DIAGRAM II<br />

프로그램<br />

• 건폐율및 높이와 층수의 제한으로 인하여 상당부분의 프로그램을 지하층에서 소화하여야 함.<br />

• 대규모 컨벤션센터는 오픈 플랜과 높은 층고를 위해 지하 2층에 계획하고 대지 고저차를 이용<br />

한 북측 광장을 통해 진입하도록 계획함.<br />

• 창작팩토리는 채광이 유리한 지상 2-3층에 계획하고 이와 수직적으로 연결되는 소규모 전시<br />

공간을 지하 1층과 지상 1층에 계획하여 입주회사들이 상시 이용할수 있도록 계획함.<br />

• 일반 대중및 창작자들이 많이 이용하게 될 아카데미와 임시 전시시설 및 카페등은 1층에 배치<br />

하여 메인 로비로 진입시 바로 접근할수 있도록 함.<br />

• 대지 북측 지하 2층레벨에 위치한 진입광장과 대지 서측 소파로를 면한 지상 1층레벨에 위치한<br />

진입광장의 중간지점에 지하 1층 레벨의 또다른 광장을 제안하고 이들의 연속적인 연결을 통<br />

해 각각의 프로그램들을 유기적으로 연결해줌. 복셀로 만들어진 경사로는 중간중간 전시나 작<br />

은 규모의 모임을 할수 있는 참을 중간 중간 제안함으로써 상층부의 작업공간과 하층부의 관람<br />

공간을 시각적/물리적으로 연결하는 중간적인 성격을 가지게 됨.<br />

• 대지 북서측의 경사지형을 이용, 보도에서 직접적으로 접근이 가능한 리테일 공간을 마련함.<br />

FORMAL/INFORMAL OFFICES<br />

PLAYGROUND / OUTDOOR EXHIBITION<br />

PLAZA / EVENT<br />

LOBBY<br />

EDUCATION<br />

THEATER<br />

CONVENTION<br />

CAR PARK<br />

MEP<br />

OUTDOOR EXHIBITION<br />

FORMAL OFFICES<br />

INFORMAL<br />

OFFICES<br />

FORMAL OFFICES<br />

PLAYGROUND<br />

CONVENTION<br />

EDUCATION<br />

EVENT<br />

PLAZA<br />

LOBBY / ATRIUM<br />

EXHIBITION<br />

EXHIBITION<br />

SMALL CONVENTION<br />

THEATER<br />

CAR PARK<br />

MEP


ground floor 우측으로 야외 전시공간및 놀이터가 위치하며 대지 중간에 위치한 지하 1층 레벨의 야외 플라자로 경사로를 통해 연결이됨. 1<br />

층에는 주민과 학생들의 접근이 용이하도록 아카데미와 카페, 그리고 작은 전시공간및 안내데스크가 위치하게됨. 놀이터는 격자형식의 오픈 프레임으로<br />

덥혀있어서 기존의 에니메이션 센터가 그러하듯 캐릭터를 야외에 전시할수 있으며 차양의 역할도 하게 됨. 격자 프레임을 이용하여 다양한 놀이기구또한<br />

설치가능함.<br />

TRUCK<br />

MANEUVERING<br />

SPACE<br />

ACADEMY (L)<br />

ACADEMY (S)<br />

DN<br />

UP<br />

ENTRY PLAZA BELOW<br />

PIXELATED STAIR/RAMP<br />

FOR SEATING / TEMP. EXHIBITION<br />

ACADEMY (M)<br />

REST<br />

RMS<br />

OUTDOOR ENTRY EXHIBITION PLAZA FRAME<br />

/CANOPY<br />

LV. B2<br />

CHARACTER<br />

SHOP<br />

UP<br />

DN<br />

PREP. DN AREA / BOH<br />

LV. B1<br />

PLAZA<br />

/ OUTDOOR STAGE<br />

LV. B1<br />

OPEN TO<br />

BELOW<br />

LOADING<br />

OPEN TO<br />

STORAGE<br />

BELOW<br />

OPEN TO<br />

BELOW<br />

PIXELATED STAIR/RAMP<br />

FOR SEATING / EXHIBITION<br />

LOBBY<br />

THEATER<br />

AV<br />

RM<br />

INFO<br />

INFO<br />

CHARACTER<br />

REST<br />

RMS<br />

TICKET<br />

OFFICE<br />

EXHIBITION<br />

PIXELATED OUTDOOR<br />

PLAYGROUND<br />

DN<br />

PIXELATED OUTDOOR<br />

SEATING AREA<br />

PLAZA / PLAY GROUND<br />

LV. F1<br />

INFO / GALLERY<br />

DN<br />

LOBBY<br />

UP<br />

CAFE / BAR<br />

DN<br />

DROP OFF<br />

2nd floor<br />

지하 1층에서 1층을 거쳐 2층에 이르는 경사로는 서로 작은 크기의 박스로 디자인 되어 있어서 이동뿐 아니라 임시전시를 위한 장소로도<br />

사용 가능함. 2층에는 우측과 좌측으로 회사들의 입주를 위한 공간이 마련되어 있으며 중간에 미팅공간과 코어가 배치 되어있음. 경사로가 사적/공적의 공간을<br />

전이해주는 역할을 하게됨.<br />

DINING<br />

REST<br />

RM<br />

REST KIT.<br />

RM<br />

INFORMAL<br />

OFFICE<br />

STO. PRINT<br />

MAIL<br />

ELV. LOBBY<br />

DN<br />

LV. F2<br />

OUTDOOR EXHIBITION FRAME<br />

/CANOPY<br />

LV.B1<br />

FORMAL<br />

OFFICE (M)<br />

MEETING<br />

ROOMS<br />

FORMAL<br />

OFFICE (S)<br />

CHARACTER<br />

OPEN TO<br />

BELOW<br />

CHARACTER<br />

LV. F1


3rd floor<br />

제공하고있음.<br />

2층의 평면과 비슷하나 3층에는 대규모의 사무실을 위한 공간이 마련되어 있으며 예비작가나 일인 기업을 위한 인포멀한 오피스 공간을<br />

DINING<br />

REST<br />

RM<br />

ELV. LOBBY<br />

REST<br />

RM<br />

STO.<br />

KIT.<br />

PRINT<br />

MAIL<br />

LV. F3<br />

FORMAL<br />

OFFICE (M)<br />

FORMAL<br />

OFFICE (L)<br />

INFORMAL<br />

OFFICE<br />

FORMAL<br />

OFFICE (S)<br />

OPEN TO<br />

BELOW<br />

b1st floor<br />

좌측의 소파로를 마주하는 면에는 지면의 경사를 이용하여 지하 1층에서 지상레벨에 걸쳐 리테일 공간이 마련되어 있음. 지하 2층레벨의<br />

경사로를 따라 올라오면 지하 1층 레벨의 플라자가 대지의 중간에 마련되어 있으며 이공간을 통해 건물의 로비로 진입하거나 아니면 또다른 경사로를 타고 1층<br />

레벨의 야외 놀이터및 전시공간으로 이동할수있음. 최우측으로는 애니메이션 관련된 상설 전시공간을 마련하여 입주한 기업이 적극적으로 이용할수 있도록 함.<br />

MEETING RM<br />

STORAGE/PREP. AREA<br />

OFFICE<br />

SERVICE CORRIDOR<br />

PIXELATED STAIR/RAMP<br />

FOR SEATING / TEMP. EXHIBITION<br />

REST<br />

RMS<br />

LV. B2<br />

DN<br />

LOBBY<br />

UP<br />

RETAIL<br />

PLAZA<br />

CARTOON LIBLARY<br />

OUTDOOR STAGE<br />

UP<br />

OPEN TO<br />

BELOW<br />

EXHIBITION<br />

RETAIL<br />

RETAIL<br />

OPEN TO<br />

BELOW


2nd floor<br />

대규모 컨벤션장으로 바로 들어갈수 있는 로비및 매표소가 지하 2층 레벨에 위치한 진입광장에 면하고 있음. 우측으로 메인<br />

로비가 있으며 이는 극장및 엘리베이터 코어와 연결됨. 전시물의 설치및 기획을 위해 준비공간과 창고가 로딩독 좌우로 배치되어 있음.<br />

TRUCK<br />

MANEUVERING<br />

SPACE<br />

DN<br />

UP<br />

REST<br />

RMS<br />

ENTRY PLAZA<br />

UP<br />

PREP. AREA / BOH<br />

LOADING<br />

STORAGE<br />

CHARACTER<br />

SHOP<br />

LOBBY<br />

THEATER<br />

AV<br />

RM<br />

INFO<br />

INFO<br />

REST<br />

RMS<br />

TICKET<br />

OFFICE<br />

EXHIBITION<br />

b3rd floor<br />

주차 가능 대수 122의 주차장및 parking office와 기계 전기실이 위치.<br />

PARKING<br />

OFFICE<br />

PARKING (132 CARS)<br />

MEP


CANOPY / TEMP. EXHIBITION<br />

HIGHLIGHT MT. NAM<strong>SA</strong>N<br />

SKYLIGHT<br />

RF (GL +12.00)<br />

ROOF GARDEN<br />

ROOF GARDEN<br />

3RD FL (GL +8.00)<br />

HIGHLIGHT MYUNG-DONG<br />

OFFICE<br />

OFFICE<br />

INFORMAL OFFICE<br />

OFFICE<br />

2ND FL (GL +4.00)<br />

EGRESS EXIT<br />

OFFICE<br />

MEETING ROOM<br />

OFFICE<br />

GL (EL +68.00)<br />

B1ST FL (GL -4.00)<br />

RETAIL<br />

CARTOON LIBLARY BEHIND<br />

CONVENTION<br />

EXHIBITION<br />

PARKING RAMP<br />

B2ND FL (GL -8.00)<br />

RF RF (GL (GL +12.00)<br />

STORE<br />

LOBBY<br />

CONVENTION<br />

ENTRY PLAZA (F01)<br />

HIGHLIGHT MT. NAM<strong>SA</strong>N<br />

CANOPY / TEMP. EXHIBITION<br />

THEATER<br />

3RD 3RD FL FL (GL (GL +8.00)<br />

ANIMATION CENTER<br />

PARKING<br />

OUTDOOR SEATING AREA<br />

MEP HIGHLIGHT MYUNG-DONG<br />

2ND 2ND FL FL (GL (GL +4.00)<br />

EGRESS EXIT<br />

GL GL (EL (EL +68.00)<br />

B1ST B1ST FL FL (GL (GL -4.00)<br />

PLAYGROUND / CANOPY<br />

CONVENTION CENTER ENT<br />

RETAIL<br />

LONGITUDINAL SECTION<br />

ENTRY PLAZA (B2)<br />

B2ND B2ND FL FL (GL (GL -8.00)<br />

RF (GL +12.00)<br />

PARKING RAMP<br />

LOADING DOCK<br />

ENTRY PLAZA (F01)<br />

HIGHLIGHT MT. NAM<strong>SA</strong>N<br />

ENTRY PLAZA (B1) / OUTDOOR STAGE<br />

CANOPY / TEMP. EXHIBITION<br />

3RD FL (GL +8.00)<br />

ANIMATION CENTER<br />

OUTDOOR SEATING AREA<br />

HIGHLIGHT MYUNG-DONG<br />

2ND FL (GL +4.00)<br />

EGRESS EXIT<br />

e<br />

GL (EL +68.00)<br />

B1ST FL (GL -4.00)<br />

SOPA RO<br />

ENTRY PLAZA<br />

PLAYGROUND / CANOPY<br />

HIGHLIGHT MYUNG-DONG<br />

CONVENTION CENTER ENT<br />

RETAIL<br />

ENTRY PLAZA (B2)<br />

B2ND FL (GL -8.00)<br />

RF (GL +12.00)<br />

PARKING RAMP<br />

LOADING DOCK<br />

RF (GL +12.00)<br />

3RD FL (GL +8.00)<br />

ENTRY PLAZA (F01)<br />

HIGHLIGHT MT. NAM<strong>SA</strong>N<br />

ENTRY PLAZA (B1) / OUTDOOR STAGE<br />

ANIMATION CENTER<br />

CANOPY / TEMP. EXHIBITION<br />

3RD FL (GL +8.00)<br />

ANIMATION CENTER<br />

2ND FL (GL +4.00)<br />

OUTDOOR SEATING AREA<br />

HIGHLIGHT MYUNG-DONG<br />

e<br />

2ND FL (GL +4.00)<br />

GL (EL +68.00)<br />

B1ST FL (GL -4.00)<br />

B2ND FL (GL -8.00)<br />

RF (GL +12.00)<br />

GL (EL +68.00)<br />

B1ST FL (GL -4.00)<br />

B2ND FL (GL -8.00)<br />

CANOPY / TEMP. EXHIBITION<br />

HIGHLIGHT MT. NAM<strong>SA</strong>N<br />

PLAYGROUND / CANOPY<br />

EGRESS EXIT<br />

ENTRY PLAZA (B2)<br />

PARKING RAMP<br />

EAST ELEVATION<br />

CONVENTION CENTER ENT<br />

RETAIL<br />

3RD FL (GL +8.00)<br />

PARKING HIGHLIGHT RAMPMYUNG-DONG<br />

LOADING DOCK<br />

ENTRY PLAZA (B1) / OUTDOOR STAGE<br />

ANIMATION CENTER<br />

2ND FL (GL +4.00)<br />

EGRESS EXIT<br />

PLAYGROUND / CANOPY<br />

ENTRY PLAZA (F01)<br />

e<br />

GL (EL +68.00)<br />

B1ST FL (GL -4.00)<br />

B2ND FL (GL -8.00)<br />

RETAIL<br />

s<br />

CANOPY / TEMP. EXHIBITION<br />

HIGHLIGHT MT. NAM<strong>SA</strong>N<br />

CAR ENT<br />

DROP OFF<br />

RF (GL +12.00)<br />

3RD FL (GL +8.00)<br />

HIGHLIGHT MYUNG-DONG<br />

ANIMATION CENTER<br />

w<br />

2ND FL (GL +4.00)<br />

GL (EL +68.00)<br />

B1ST FL (GL -4.00)<br />

RETAIL<br />

EGRESS EXIT<br />

PLAYGROUND / CANOPY<br />

ENTRY PLAZA (F01)<br />

ENTRY PLAZA (B1)<br />

CANOPY / TEMP. EXHIBITION<br />

WEST ELEVATION<br />

ENTRY PLAZA<br />

CAR ENT<br />

DROP OFF<br />

B2ND FL (GL -8.00)<br />

RF (GL +12.00)<br />

3RD FL (GL +8.00)<br />

ANIMATION CENTER<br />

2ND FL (GL +4.00)<br />

GL (EL +68.00)<br />

w<br />

B1ST FL (GL -4.00)<br />

B2ND FL (GL -8.00)<br />

ENTRY PLAZA (B2)<br />

RETAIL RETAIL RETAIL<br />

SOPA-RO<br />

NORTH ELEVATION<br />

n<br />

SOPA RO<br />

ENTRY PLAZA<br />

HIGHLIGHT MYUNG-DONG<br />

RF (GL +12.00)<br />

3RD FL (GL +8.00)<br />

ANIMATION CENTER<br />

2ND FL (GL +4.00)<br />

GL (EL +68.00)<br />

B1ST FL (GL -4.00)<br />

B2ND FL (GL -8.00)<br />

PARKING RAMP<br />

s<br />

SOUTH ELEVATION


SECLUDED ISLAND //<br />

BUNKER REGENERATION<br />

@ SELECTIVE AMPLIFICATION / 2017 / BU<strong>SA</strong>N / KOREA


SECLUDED ISLAND //<br />

BUNKER REGENERATION<br />

We imagined an upside-down island at the center of Mt Hwangnyoengsan – surrounded by beautiful trees and natural elements which<br />

isolate the project from the ongoing urban conflicts in the context. By minimizing its visual presence from around its neighborhood<br />

and providing dedicated small foot-print access points to it rather than proposing grand entry that this type of developments typically<br />

accompanied by, we wanted to achieve two contradictory goals; to try not to contribute in creating further source of conflict; and at the<br />

same time to design what fulfills the community’s needs in utilizing the given site condition including the bunkers.


access<br />

With no major cultural/recreational facilities in proximity to the site, it is no questionable to build a facility of<br />

the kind. To gauge its appropriate scale, we eyeballed some of open/public indoor/outdoor spaces nearby. Two major accesses were<br />

considered; pedestrian access through the existing road to the bunker, which will house bars, pubs, wineries, eateries and small event<br />

spaces; vehicular access over the mountain to an underground parking lot for families, business, large events, conventions and exhibitions.<br />

PEDESTRIAN ACCESS TO THE BUNKER<br />

SITE


CAR ACCESS<br />

PEDESTRIAN ACCESS TO THE BUNKER


INTERVENSION<br />

Existing bunkers mostly remain as they<br />

are except for a rotunda space at the<br />

center that removes just fraction of the<br />

existing bunker space. Also we propose<br />

two additional service bunkers, one<br />

stretches entire width of the mountain,<br />

and the other one only covers half to the<br />

rotunda. Underground cut-and-cover<br />

parking space sits right next to the elevated<br />

lobby that feeds guest vertically to<br />

either hotel/event suite above or mixed<br />

use complex below. On the opposite side<br />

of hotel resides office for the building.<br />

Series of elevated bunkers radiate from<br />

the lobby poking out of the mountain<br />

at the other end for dramatic experience<br />

of bunker and spectacular view to the<br />

city and adjacent mountains and ocean.<br />

On the top two floors of the hotel are<br />

event suites to accommodate big events<br />

like BIFF. Below the lobby sit mixed use<br />

including family restaurants, cafe, boutique<br />

retails, gallery, exhibition spaces,<br />

convention halls and multiplex theaters<br />

for various range of guests.<br />

2 : OFFIC<br />

1-B3 : PARKIN<br />

(+300 CARS<br />

PARKING<br />

ENT<br />

SERVICE ENT<br />

SERVICE BUN<br />

15<br />

01


01<br />

8-9 : EVENT SUITE<br />

VIEW<br />

2-7 : HOTEL<br />

E<br />

1 : LOBBY<br />

VIEW<br />

ELEVATED BUNKER<br />

(OBSERVATION)<br />

G<br />

)<br />

02<br />

VIEW<br />

ENT<br />

03<br />

VIEW<br />

B1 : FAMILY RESTAURANT<br />

B2 : CAFE<br />

B3 : BOUTIQUE RETAIL<br />

B4 : GALLERY / EXHIBITION<br />

B5 : CONVENTION HALL<br />

B6 : MULTIPLEX THEATER<br />

KER<br />

05<br />

04<br />

ROTUNDA / STAGE<br />

B7 : THE BUNKER<br />

BARS / PUBS / PARTY VENUES<br />

SERVICE ENT<br />

ENT<br />

SERVICE ENT


01_SECLUDED ISLAND<br />

Introverted space configuration helps<br />

guest intermingle toward the rotunda<br />

space at the very center of the building.<br />

Chance encounters or unexpected visual<br />

connections among wide range of guests<br />

in different programs and activities let<br />

them easily explore the entire complex.<br />

On the other hand, being above the lobby,<br />

hotel and event suites not only have quite<br />

environment but also have wide open<br />

view to the city over the mountain.


02_ELEVATED LOBBY<br />

Elevated lobby separate two distinctive<br />

parts of the building. Very active 24/7<br />

mixed use zone below the lobby and calm<br />

and quite zone for hotel and event suites<br />

above. Wide and tall lobby space and<br />

terrace space toward the center of rotunda<br />

is an ideal place to celebrate beautiful<br />

night sky or fireworks.


03_ELEVATED BUNKERS<br />

Elevated bunkers radiating from the<br />

lobby provide guest very unique visual experience.<br />

Short walk to the other side of<br />

the bunkers from the lobby gives guests<br />

wide open view to the city, mountain and<br />

ocean. This cantilevered balcony spaces<br />

potentially can connect to the existing<br />

mountain trekking path for alternative<br />

accessibility.


04_ROTUNDA/O<br />

Being at the center of the building, rotunda not only provide natural ventilation and day li<br />

The rotunda, surrounded by stacks of balconies as in a form of an am


UTDOOR STAGE<br />

ght down to the lowest level but also connects the existing bunkers with its new addition.<br />

phitheater, is an ideal spot to host concert, fashion show, and etc.


05_THE B<br />

The existing bunker will be a hippest and coolest event venue in Busan. Utilizing its origina<br />

ings, ventilation and AV systems, this place will accommodate bars, pubs, wineries and eate<br />

small e


UNKER<br />

l condition of dark and consistent temperature and humidity with additional artistic lightries<br />

on its pocket spaces along with the existing corridor which can host private parties and<br />

vents.


car access road<br />

high rise apartment<br />

car access road


LEVEL (GL +139)<br />

LEVEL (GL +109)<br />

day light<br />

cut-and-cover parking<br />

LEVEL (GL +54)<br />

GL<br />

new service bunker<br />

existing bunker<br />

existing bunker<br />

rotunda/stage<br />

new service bunker


VESTIBULE+ //<br />

FOLLY 2014<br />

THE ARCHITECTURAL LEAGUE, NY<br />

@ SELECTIVE AMPLIFICATION IN COLLABORATION WITH KSHARCH / 2014 / SOCRATES PARK / NY / NOTABLE ENTRY


VESTIBULE+ //<br />

FOLLY 2014<br />

THE ARCHITECTURAL LEAGUE, NY<br />

Looking at the gate on Broadway a few blocks away from it, we already knew the park was there.<br />

Seeing through the gate over the park at the end of the road, we felt the park had come to us too fast and naked.<br />

The thin gate was standing still there whispering very low that we were about to cross the intangible boundary.<br />

We trespassed. Everything happened so fast and painless.<br />

Thinking about Folly, we imagined a never realized vestibule<br />

that should have captured the grand moment of entering into the park.<br />

VERNON BLVD.


SOCRATES PARK<br />

VERNON BLVD.<br />

SITE<br />

BROADWAY<br />

11TH ST.


site<br />

The site sits right behind the gate at the intersection of the extension of Broadway and pedestrian path within the park.<br />

Broadway, the visual corridor, guides people towards to the park’s gate even from a distance. The gate converts visual stimulus into physical<br />

experiences. This change of phase happens sudden even though the existence of huge gate which is clearly visible couple of blocks away.<br />

existing gate<br />

When you visit the park, you can first confront with the Gateway with billboard on top. Since 1999, this 10’ by<br />

28’ sized billboard has changed its face once or twice a year showcasing what’s happening inside the park. Comparing to its simple gesture<br />

toward the city, this had been performed very important role regarding to activation of the park and its events inside.


process<br />

The gate projected onto the site. A vestibule, floating somewhere in between the two, captures head space for a person<br />

entering in and out of the park. The initial projection is pinched in toward to the vestibule, then again modified to accommodate pedestrian<br />

path to the park. Series of ribbon spanning between the frames of the gate, site and vestibule visualize the projection.


fabrication<br />

The project consists of three major parts; galvanized steel pipes, tension cables, and polyethylene tapes. Steel<br />

frame at both ends are secured back to the gate and ground. Tension cables hold the vestibule frame up in the air. And densely spaced<br />

polyethylene tapes span in between frames. Because the dimension of each corresponding edges of the frame differs from each other, it<br />

naturally creates wrinkle and twist visualizing the effect of convergence. Tape can be either one with different colors on both side or one<br />

with demarcation pattern.<br />

ELEVATIONS


POLYETHYLENE TAPE (W 3”) : 10,500’<br />

$50 (L:1000’) X 11EA = $550.00<br />

EXISTING GATE<br />

GALVANIZED TENSION CABLE : 230’<br />

$22(L:170’) X 2EA = $44.00<br />

TURN BUCKLE AND CLAMP : 20EA<br />

$30 X 20EA = $600.00<br />

GALVANIZED STEEL TUBE : 310’<br />

$20(L:10’) X 31EA = $620.00<br />

TEE, ELBOW, COUPLING : 31EA<br />

$8 X 31EA = $248.00<br />

TOTAL : $2,062.00<br />

Doesn’t include contingency<br />

FABRICATION QTO AXON<br />

VANISHING FRAME


COMPONENT ARCHITECTURE //<br />

PARAMETRIC GRADIENT WALL<br />

@ SELECTIVE AMPLIFICATION IN COLLABORATION WITH ADVANCED FACADE / 2008 / ITHACA / NY / HONORABLE MENTION


COMPONENT ARCHITECTURE //<br />

PARAMETRIC GRADIENT WALL<br />

One of key issues of this workshop was to exploit computational power and to investigate some of low tech mass-customization techniques<br />

to build a responsive component-based system which reacts to certain environmental variables. This system, as a computational model,<br />

wants to be very flexible and sophisticated in order to interact with continuously changing parameters from the surrounding conditions<br />

and user’s behavior, while the physical embodiment wants to be very easy to construct with minimum efforts and material yet wants to be<br />

sturdy enough to self-support.


module definition<br />

As a way to control visibility through a wall, a simple modular system was defined with just two simple<br />

variables: thickness of the module and size of aperture that penetrates the module. A module with shallow thickness(depth) with wide<br />

aperture will provide visual transparency and let direct light come through the wall. On the other hand, a thicker module with tight<br />

aperture will block the view and only have ambient light pass through. Here in the module, thickness is a primary parameter that responds<br />

to the eye level of users, and then it controls the aperture size of the module.<br />

D<br />

R<br />

RD<br />

D<br />

DR<br />

RD<br />

D<br />

D<br />

R<br />

R<br />

D<br />

D<br />

R<br />

D<br />

R<br />

D<br />

D<br />

MODULE WITH VARIABLES, R AND D<br />

PACKING MODULES IN A HEXAGONAL GRID<br />

OVERALL SYSTEM<br />

USER INPUT<br />

TWO SURFACES<br />

WITH VARIABLE DISTANCES<br />

HEXAGRID FUNCTION<br />

APERTURE VALUE<br />

+<br />

U/V RESOLUTION<br />

BYPRODUCTS<br />

EXTERNAL POINT CLOUD DATA [X,Y,Z]<br />

GENERATIVE COMPONENT<br />

SURFACES<br />

GENERATIVE COMPONENT<br />

HEXA GRID POLYGON SURFACES<br />

GENERATED PRODUCTS<br />

GENERATIVE COMPONENT<br />

POINT CLOUD<br />

GENERATIVE COMPONENT<br />

HEXA GRID ON SURFACES<br />

GENERATIVE COMPONENT<br />

HEXA WALL SYSTEM<br />

GENERATIVE COMPONENT<br />

HEXA WALL SYSTEM<br />

SURFACE SUBSYSTEM<br />

HEXAGRID SUBSYSTEM COMPONENT SUBSYSTEM FINAL PRODUCT<br />

PARAMETRIC MODEL FLOW CHART


parametric module<br />

Modules with built in aperture size as dependent variable. The variable is controlled and governed by the<br />

thickness of the wall system.<br />

COMPONENT ID B.07<br />

APERTURE SIZE 34.0<br />

HEIGHT 82.5<br />

COMPONENT ID<br />

APERTURE SIZE<br />

HEIGHT<br />

E.04<br />

53.4<br />

63.3<br />

COMPONENT ID J.07<br />

APERTURE SIZE 85.0<br />

HEIGHT 34.5<br />

C.03.PT.B.01<br />

C.03.PT.B.02<br />

C.03.PT.B.03<br />

C.03.PT.B.04<br />

C.03.PT.B.05<br />

C.03.PT.B.06<br />

C.03.PT.T.01<br />

C.03.PT.T.02<br />

C.03.PT.T.03<br />

C.03.PT.T.04<br />

C.03.PT.T.05<br />

C.03.PT.T.06<br />

MODULE UNFOLD


aperture size<br />

connection with the other side of the wall.<br />

Each cell has its own aperture size depending on various eye level presets, either allowing or blocking visual


CUT IT, CURLING IT UP //<br />

DYNAMIC TAPESTRY<br />

@ SELECTIVE AMPLIFICATION IN COLLABORATION WITH KSHARCH/ 2013 / NEW YORK / NY


CUT IT, CURLING IT UP //<br />

DYNAMIC TAPESTRY<br />

The goal of the research was to observe physical behavior of a certain material through a series of sample tests, and understand how the<br />

behavior changes by minimal alterations on its physical properties. Based on the founding, the sample units were re-interpreted and<br />

converted into digital model using parametric tools and physical engine to simulate and forecast holistic behavior of the entire system<br />

composed of the units. The dynamic surface is a combination of 7 by 7 diagonally arranged plastic sheet units. Because of its homogeneous<br />

material property, the system doesn’t produce any significant changes in its appearance before individual panels get cut differently. The<br />

cuts and self-weight of the each panel will drive initial deform through the interaction of pulls and pushes between units. The initial deform<br />

can be further exaggerated by supplementary weights at some connecting nodes between panels in a certain area.


material study<br />

The base material was Mylar, because it is homogeneous composite material which is very predictable on its<br />

physical behavior. Base on our mockup experiments, longer cut tended to generate more curvature changes within a unit, when the cut is<br />

perpendicular to the direction of pulling forces. Also the amount of load applied to each node of a panel caused significant differences in its<br />

surface shape.<br />

MYLAR, NO CUT, PULLED DIAGONALLY<br />

MYLAR, PARALLEL CUTS, PULLED DIAGONALLY<br />

MYLAR, PERPENDICULAR CUTS, PULLED DIAGONALLY


digitalizing model<br />

Deformation of a module depends on two variables, amount of force/load at each corner and size and<br />

directionality of open cut. In other words, the strength of pulling force and the length of the cut affect the amount of deformation of the<br />

module.<br />

DIGITALIZING MODULE WITH TWO PARAMETERS<br />

elastic behavior<br />

To simulate the elastic nature of the material, we developed two simple rules. First, all the lines in the module<br />

want to stay in the same length, and second, all the surfaces of the module want to relax flat.<br />

DIGITALIZING MODULE WITH TWO PARAMETERS


module interaction<br />

What was interesting was that as the module get stretched, it bents in elevation, and shrink in its<br />

width. As a consequence, when a module got stretched, it pulls modules right next to it, and curls up the lower vertex. Naturally I sensed<br />

that this would create some interesting geometric deformation when the modules get hooked up side by side, but couldn’t get around it<br />

visually.<br />

INTERACTION BETWEEN MODULES<br />

OVERALL GRASSHOPPER DEFINITION


compiling parametric model<br />

Individual modules were laid out using physical simulation engine in parametric tool to visualize<br />

“parts to whole” relationship. Two parameters tested out; cutting pattern and point load pattern.<br />

OVERALL SYSTEM WITH TWO PARAMETERS ; CUTTING PATTERN AND POINT LOAD PATTERN


simulation process<br />

Individual modules were laid out in 7 x 7 grid. In the initial relaxed state of the whole system, it is hung from<br />

anchor points at the top of the system to the ceiling. Then cutting pattern applied to individual modules using gradient pattern. Then<br />

combined with self weight of the module and cut pattern, the system further deforms before it finds equilibrium. Then added point loads<br />

to some of the nodes, based on point load pattern map, will exaggerate system deformation further. Final state of equilibrium between<br />

elasticity of material, cutting pattern, self weight of modules, and additional point loads.<br />

SEQUENTIAL DIAGRAM OF THE SYSTEM


pattern tests<br />

implication over the overall system’s behavior.<br />

Lots of different combinations of load and cutting patterns have been tested out to better understand their


CHAOS + GRID //<br />

COORDINATED RANDOM GROWTH<br />

@ SELECTIVE AMPLIFICATION / 2008 / ITHACA / NY


CHAOS + GRID //<br />

COORDINATED RANDOM GROWTH<br />

This experiment is to investigate how microscale chaoses can coexist within a rigid grid system in a continuous yet discreet manner. The<br />

entire system is composed of bunch of small surfaces and each of them is driven by four randomly generated edge curves. Once an initial<br />

surface created by four random curves, the next one become exist by sharing one of the edge curves from the previous surface. When this<br />

one-directional mutation ends, the system repeats another batch of mutations right next to the existing one, but this time mostly sharing<br />

two edge curves, one with the previous and the other with the existing surface. The resulting surface is striated yet continuously patched<br />

surface.


growth rule<br />

An initial patch is made out of four bounding curves with two variables for each curves: profile scale along z<br />

O Z<br />

-60 +60 O<br />

axis and profile rotation Z along x or y axis, which are random numbers in per-defined ranges.<br />

GRID<br />

ELEMENT 004<br />

ELEMENT 001<br />

X/Y<br />

O Z O ZO<br />

O<br />

Z<br />

-60 +60 O Z<br />

-60<br />

-60 -60 +60 +60 O O<br />

+60 O O<br />

Y/X<br />

Z Z<br />

Z Z<br />

CURVE SHAPE SCALE ALONG Z AXIS ROTATE ALONG X/Y AXIS ALIGN TO GRID PERIMETER<br />

X/Y X/Y<br />

X/Y X/Y<br />

GRID GRID<br />

GRID GRID<br />

ELEMENT 003<br />

ELEMENT ELEMENT 004 ELEMENT 004<br />

004 004<br />

SQUARE SURFACE<br />

ELEMENT ELEMENT 001 ELEMENT 001<br />

001 001<br />

ELEMENT 002<br />

SQUARE SQUARE SURFACE SQUARE SURFACE<br />

SURFACE<br />

Y/X<br />

Y/X<br />

Y/X Y/X<br />

ELEMENT ELEMENT 003 ELEMENT 003<br />

003 003<br />

ELEMENT ELEMENT 002 ELEMENT 002<br />

002 002<br />

CURVE CURVE SHAPE CURVE CURVE SHAPE SHAPE SHAPE SCALE SCALE ALONG SCALE SCALE ALONG Z ALONG AXIS ALONG Z AXIS Z AXIS Z AXIS ROTATE ROTATE ALONG ROTATE ALONG X/Y ALONG ALONG AXIS X/Y X/Y AXIS X/Y AXIS AXIS ALIGN ALIGN TO ALIGN GRID ALIGN TO TO GRID PERIMETER<br />

GRID TO PERIMETER<br />

GRID PERIMETER<br />

MODULE WITH VARIABLES<br />

INITIAL ROW<br />

INITIAL<br />

CONDITIONS<br />

+<br />

INITIAL INITIAL ROW INITIAL ROW<br />

ROW ROW<br />

SURFACE<br />

EXPANSION - Y AXIS<br />

INITIAL<br />

SURFACE<br />

INITIAL<br />

CONDITIONS<br />

INITIAL<br />

INITIAL CONDITIONS<br />

CONDITIONS<br />

INITIAL<br />

CONDITIONS<br />

INITIAL<br />

SURFACE<br />

INITIAL<br />

INITIAL SURFACE<br />

SURFACE INITIAL<br />

SURFACE<br />

E004<br />

E004<br />

E004<br />

E004 BASE ELEMENT<br />

BASE E004<br />

ELEMENT<br />

BASE ELEMENT<br />

BASE ELEMENT<br />

CURVE SHAPE<br />

BASE CURVE ELEMENT<br />

SHAPE<br />

CURVE SHAPE<br />

CURVE SHAPE<br />

CURVE SHAPE<br />

+<br />

=<br />

+<br />

+ = + =<br />

= =<br />

E001<br />

E001 E001<br />

E001 E001<br />

E003<br />

=<br />

E204<br />

E002<br />

E003 E003<br />

E003 E003<br />

E002<br />

=<br />

SURFACE<br />

EXPANSION<br />

- X AXIS<br />

E008<br />

E005<br />

SURFACE<br />

EXPANSION<br />

- SURFACE X AXIS<br />

SURFACE EXPANSION<br />

EXPANSION<br />

SURFACE - X AXIS<br />

- EXPANSION<br />

X AXIS<br />

- X AXIS<br />

E008<br />

E008<br />

E008<br />

E002<br />

E002 E008<br />

E002<br />

=<br />

=<br />

= =<br />

E005 E005<br />

E005 E005<br />

E007<br />

=<br />

E208<br />

E006<br />

E007 E007<br />

E007 E007<br />

E006<br />

=<br />

E012<br />

E012<br />

E012<br />

E012<br />

E006<br />

E012<br />

E006<br />

E006<br />

=<br />

=<br />

= =<br />

E009<br />

E009 E009<br />

E009 E009<br />

E011<br />

=<br />

E212<br />

E010<br />

E011 E011<br />

E011 E011<br />

E010<br />

=<br />

E016<br />

E016<br />

E016<br />

E016<br />

E010<br />

E016<br />

E010<br />

E010<br />

=<br />

=<br />

= =<br />

E013<br />

E013 E013<br />

E013 E013<br />

E015<br />

E014<br />

=<br />

E216<br />

E015 E015<br />

E015 E015<br />

=<br />

E014<br />

E014<br />

E014<br />

E014<br />

=<br />

=<br />

= =<br />

=<br />

E196<br />

=<br />

E193<br />

E197<br />

E194<br />

E196<br />

E193 E193<br />

E193 E193<br />

E196<br />

E196<br />

E196<br />

=<br />

= =<br />

E195<br />

E194 =<br />

E396<br />

=<br />

E200<br />

E200<br />

E200<br />

E194<br />

E200<br />

E194<br />

E194<br />

=<br />

=<br />

= =<br />

E198<br />

E200<br />

E197 E197<br />

E197 E197<br />

E199<br />

E198<br />

E198<br />

E198<br />

=<br />

E198<br />

E400<br />

E195 E195<br />

E195 E195<br />

E199 E199<br />

E199 E199<br />

SURFACE SURFACE<br />

SURFACE<br />

EXPANSION EXPANSION - Y AXIS - Y - AXIS<br />

Y - AXIS Y AXIS<br />

E203<br />

=<br />

E201<br />

=<br />

=<br />

=<br />

E204 E204<br />

E204 E204<br />

=<br />

E207<br />

=<br />

=<br />

=<br />

=<br />

E208 E208<br />

E208 E208<br />

E205<br />

=<br />

E211<br />

=<br />

=<br />

=<br />

=<br />

E212 E212<br />

E212 E212<br />

E209<br />

=<br />

=<br />

E215<br />

=<br />

=<br />

=<br />

E216 E216<br />

E216 E216<br />

E213<br />

=<br />

=<br />

E395 =<br />

=<br />

=<br />

=<br />

E396 E396<br />

E396 E396<br />

E393<br />

=<br />

=<br />

=<br />

=<br />

E399<br />

=<br />

E400 E400<br />

E400 E400<br />

E397<br />

E203<br />

E203<br />

E203<br />

E203<br />

E202<br />

=<br />

E201<br />

E207<br />

E207<br />

E207<br />

E201<br />

E207<br />

E201<br />

E201<br />

=<br />

=<br />

= =<br />

E206<br />

=<br />

E205<br />

E211<br />

E211<br />

E211<br />

E205<br />

E211<br />

E205<br />

E205<br />

=<br />

=<br />

= =<br />

E210<br />

=<br />

E209<br />

E215<br />

E215<br />

E215<br />

E209<br />

E215<br />

E209<br />

E209<br />

=<br />

=<br />

= =<br />

E214<br />

E213<br />

=<br />

E213<br />

E213<br />

E213<br />

=<br />

=<br />

= =<br />

=<br />

E395<br />

E395<br />

E395<br />

E395<br />

=<br />

= =<br />

E394<br />

=<br />

E393 =<br />

E399<br />

E399<br />

E399<br />

E393<br />

E399<br />

E393<br />

E393<br />

=<br />

= =<br />

E398<br />

E397<br />

E397<br />

E397<br />

=<br />

E397<br />

E202 E202<br />

E202 E202<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

E206 E206<br />

E206 E206<br />

E210 E210<br />

E210 E210<br />

E214 E214<br />

E214 E214<br />

E394 E394<br />

E394 E394<br />

E398 E398<br />

E398 E398<br />

=<br />

E604<br />

=<br />

E608<br />

=<br />

E612<br />

=<br />

E616<br />

=<br />

E796<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

E800<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

=<br />

E603<br />

E604 E604<br />

E604 E604<br />

E601<br />

=<br />

E607<br />

E608 E608<br />

E608 E608<br />

E605<br />

=<br />

E611<br />

E612 E612<br />

E612 E612<br />

E609<br />

=<br />

E615<br />

E616 E616<br />

E616 E616<br />

E613<br />

=<br />

E795<br />

=<br />

E796 E796<br />

E796 E796<br />

E793<br />

E799<br />

=<br />

E800 E800<br />

E800 E800<br />

E797<br />

E603<br />

E603<br />

E603<br />

E603<br />

E602<br />

E601<br />

E607<br />

E607<br />

E607<br />

E601<br />

E601 E607<br />

E601<br />

=<br />

=<br />

= =<br />

E606<br />

E605<br />

E611<br />

E611<br />

E611<br />

E605<br />

E611<br />

E605<br />

E605<br />

=<br />

=<br />

= =<br />

E610<br />

E609<br />

E615<br />

E615<br />

E615<br />

E609<br />

E615<br />

E609<br />

E609<br />

=<br />

=<br />

= =<br />

E614<br />

E613<br />

E613<br />

E613<br />

E613<br />

=<br />

=<br />

= =<br />

=<br />

E795<br />

E795<br />

E795<br />

E795<br />

=<br />

= =<br />

E794=<br />

E793<br />

E799<br />

E799<br />

E799<br />

E793<br />

E799<br />

E793<br />

E793<br />

=<br />

= =<br />

E798<br />

E797<br />

E797<br />

E797<br />

E797<br />

GROWTH RULE DIAGRAM<br />

E602 E602<br />

E602 E602<br />

E606 E606<br />

E606 E606<br />

E610 E610<br />

E610 E610<br />

///////////////////////////////////////////////////////////////////////////////<br />

///////////////////////////////////////////////////////////////////////////////<br />

//////////////////////// //////////////////////////////<br />

//////////////////////// SURFACE GENERATOR //////////////////////////////<br />

//////////////////////// WOO JAE SUNG //////////////////////////////<br />

//////////////////////// M.ARCH 1 2ND YR //////////////////////////////<br />

//////////////////////// //////////////////////////////<br />

///////////////////////////////////////////////////////////////////////////////<br />

///////////////////////////////////////////////////////////////////////////////<br />

///////////////////////////////////////////////////////////////////////////////<br />

//////// VARIABLES ////////////////////////////////////////////////////////////<br />

///////////////////////////////////////////////////////////////////////////////<br />

string $currentelement;<br />

string $lastelement = "BaseEle";<br />

string $currentelement = "A";<br />

string $elementname;<br />

string $prevelement1;<br />

string $prevelement2;<br />

string $prevelement3;<br />

string $prevelement4;<br />

float $rndnum;<br />

int $elementNo = 1;<br />

int $rotationNo;<br />

int $start;<br />

int $end;<br />

int $itrnum;<br />

int $startele;<br />

int $endele;<br />

int $itrnumV;<br />

int $lastelementNo;<br />

int $lastelementNoprev;<br />

///////////////////////////////////////////////////////////////////////////////<br />

//////// INITIAL SURFACE //////////////////////////////////////////////////////<br />

///////////////////////////////////////////////////////////////////////////////<br />

while ( $elementNo < 5 )<br />

{<br />

//////// SCALING ALONG THE Z AXIS /////////////////////////////////////////////<br />

$rndnum = rand(-2,2);<br />

setAttr ($currentelement + ".scaleZ") $rndnum;<br />

//////// ROTATION ABOUT THE Z AXIS ////////////////////////////////////////////<br />

$rotationNo = 90 * $elementNo;<br />

setAttr ($currentelement + ".rotateZ") $rotationNo;<br />

MEL SCRIPT @ MAYA<br />

//////// CODE THAT ALIGNS SEGMENTS TO SURFACE BOUNDARY ////////////////////////<br />

alignCurve -ch off -rpo off -at false -kmk false -pct<br />

2 -tc false -cc false $lastelement $currentelement;<br />

$lastelement = $currentelement + "shapealignedCurve1";<br />

$elementname = "E" + $elementNo;<br />

E614 E614<br />

E614 E614<br />

E794 E794<br />

E794 E794<br />

E798 E798<br />

E798 E798<br />

///////////////////////////////////////////////////////////////////////////////<br />

//////// SURFACE EXPANSION ALONG THE X AXIS ///////////////////////////////////<br />

///////////////////////////////////////////////////////////////////////////////<br />

//////// ITTERATION SETTING ///////////////////////////////////////////////////<br />

for ( $itrnum = 1 ; $itrnum < 50 ; $itrnum++ )<br />

{<br />

$start = ( ( $itrnum ) * 4 ) + 1;<br />

$end = ( ( $itrnum + 1 ) * 4 ) + 1;<br />

$startele = $start - 3;<br />

$endele = $end - 3;<br />

while ( $elementNo < $end )<br />

{<br />

//////// SCALING ALONG THE Z AXIS /////////////////////////////////////////////<br />

$rndnum = rand(-2,2);<br />

setAttr ($currentelement + ".scaleZ") $rndnum;<br />

//////// ROTATION ABOUT THE Y AXIS ////////////////////////////////////////////<br />

$rndnum = rand(-60,60);<br />

setAttr ($currentelement + ".rotateY") $rndnum;<br />

//////// ROTATION ABOUT THE Z AXIS ////////////////////////////////////////////<br />

$rotationNo = 90 * ( $elementNo - ( 4 * ( $itrnum ) ) );<br />

setAttr ($currentelement + ".rotateZ") $rotationNo;<br />

//////// CODE THAT ALIGNS SEGMENTS TO SURFACE BOUNDARY ////////////////////////<br />

alignCurve -ch off -rpo off -at false -kmk false -pct<br />

2 -tc false -cc false $lastelement $currentelement;<br />

$lastelement = $currentelement + "shapealignedCurve1";<br />

$elementname = "E" + $elementNo;<br />

rename $lastelement $elementname;<br />

$lastelement = $elementname;<br />

//////// CODE THAT ASSIGN NEW NAMES TO SEGMENTS ///////////////////////////////<br />

if ( $elementNo == $start )<br />

{<br />

$prevelement1 = $lastelement;<br />

}<br />

else if ( $elementNo == $start + 1 )<br />

{<br />

$prevelement2 = $lastelement;<br />

}<br />

else if ( $elementNo == $start + 2 )<br />

{<br />

$prevelement3 = $lastelement;<br />

}<br />

else if ( $elementNo == $start + 3 )<br />

{<br />

$prevelement4 = "E" + $startele ;


The next patch then inherits one of its bounding curves from the previous one so as it keeps one-degree surface continuity. This neighboring<br />

one generates three other bounding curves in a similar way to create its own surface. When this process hits the maximum limit to expand<br />

to either y or x axis, then it changes its direction to 90 degrees, and repeat the process to finish up the whole system with patches.<br />

STEP01 STEP01 INITIAL INITIAL SURFACE SURFACE<br />

STEP03 STEP03 SURFACE SURFACE EXPANSION EXPANSION ALONG ALONG Y AXISY AXIS<br />

Y<br />

Y<br />

STEP02 STEP02 SURFACE SURFACE EXPANSION EXPANSION ALONG ALONG X AXISX AXIS<br />

STEP04 STEP04 SURFACE SURFACE EXPANSION EXPANSION ALONG ALONG X AXISX AXIS<br />

X<br />

X<br />

X<br />

X<br />

GROWTH RULE EXPLAINED<br />

OVERALL AXON


ULTRA LIGHT //<br />

CARBON FIBER PAVILION<br />

@ SELECTIVE AMPLIFICATION / 2007 / ITHACA / NY


ULTRA LIGHT //<br />

CARBON FIBER PAVILION<br />

Carbon fiber composite material has an woven structure of carbon fiber tapes. This characteristic of carbon fiber composite material as<br />

a fabric gives it various textures or grains on its surface. Considering that carbon fiber tapes are very strong at tensile strengths, textures<br />

or grains are an index of strength flow along its surface. The textures or grains necessarily generate various moire patterns based on the<br />

arrangement and density of carbon fiber tapes, which are closely related to light penetration performance. Moire pattern represents<br />

structural and light penetration performance of the material. In this sense, moire pattern of this project is not merely a by-product, rather<br />

it is an ornament actively interacting with structural performance as well as program inside of the structure especially in terms of light<br />

penetration.


visual effect<br />

When layering carbon fiber tapes layer by layer, their density and directionality naturally generated the<br />

opacity/transparency of the resulting surface. It could also add interesting visual by product, Morie to the surface of the structure.<br />

HOW TO MAKE - CARBON FIBER COMPOSITE MATERIAL STRUCTURE<br />

COMPOSITE STRUCTURE MAKING PROCESS<br />

Tape Placement on the Rotating Mandrel<br />

1. rotating mandrel<br />

1. Rotating Mandrel<br />

2. Carbon Fiber Tape<br />

3. Moving Arm<br />

4. Carbon Fiber Tape Placing and Bonding<br />

2. carbon fiber tape<br />

3. moving arm<br />

4. tape placing and bonding<br />

WOVEN + LAYERED STRUCTURE<br />

COMPOSITE STRUCTURE CHARACTERISTICS<br />

Woven + Layered Structure = Moire Pattern<br />

Tensile Stress<br />

+ + + =<br />

Carbon fiber tape is incredibly strong against<br />

tensile strength. As mandrel rotates, taping<br />

patterns become layered creating woven<br />

structure. The woven structure generate<br />

Moire pattern perpendicular with the tensile<br />

strength direction.<br />

1st Taping Iteration<br />

2nd Taping Iteration 3rd Taping Iteration 4th Taping Iteration Taping Pattern w/ Moire<br />

STRUCTURAL STRENGTH, LIGHT PENETRATION AND MOIRE PATTERN<br />

Taping Pattern<br />

MOIRE PATTERN AS AN INDEX OF<br />

STRUCTURAL STRENGTH & LIGHT<br />

PENETRATION<br />

Moire pattern indicates which part of the<br />

structure is strong at tensile or compressive<br />

strength, as well as which part has more<br />

light penetration. Moire pattern is an index<br />

of structural strength and light penetration<br />

(transparency and opaqueness).<br />

Taping Geometry at Center Line<br />

Tensile Strength Direction<br />

Moire Pattern Direction<br />

No Moire Pattern : Better Visibility<br />

Taping Layer Thickness (Compressive Stress Strength)<br />

Solid (Opaque), Strong at Compressive Strength<br />

Void (Light Penetration), Strong at Tensile Strength


mapping<br />

or vice versa.<br />

The opacity/transparency can then be mapped on the light level requirements of various programs within the pavilion<br />

SITE + STRUCTURE<br />

Floating Box on Site (Cornell Art Quad)<br />

Gallery<br />

Gallery<br />

Circulation - Connection<br />

Gallery<br />

Gallery<br />

Gallery<br />

Gallery<br />

Floating Box & Site Connection<br />

Site : Cornell Art Quad<br />

SITE + PROGRAM<br />

Gallery<br />

Gallery Space : Solid Wall + Solid Floor<br />

Gallery<br />

Gathering, Shelter or Multi Purpose space : Solid Roof<br />

Gallery<br />

Gallery<br />

Gallery<br />

Gallery<br />

Solid Surface Variation<br />

Unfolded Surface


124<br />

carbon fiber taping pattern A<br />

requirement; transparency and visual connectivity.<br />

First set of carbon fiber taping pattern was created based on light condition based on program<br />

208 188 168 144 124 104 84 64 40 20 0<br />

208 188 168 144 124 104 84 64 40 20 0<br />

208 188 168 144 124 104 84 64 40 20 0<br />

0<br />

0<br />

0<br />

20<br />

208 188 168 144 124 104 84 64 40 20 0<br />

20<br />

208 188 168 144 124 104 84 64 40 20 0<br />

20<br />

208 188 168 144 104 84 64 40 20 0<br />

40<br />

0<br />

40<br />

0<br />

40<br />

0<br />

60<br />

20<br />

60<br />

20<br />

60<br />

20<br />

80<br />

40<br />

80<br />

40<br />

80<br />

40<br />

100<br />

60<br />

100<br />

60<br />

100<br />

60<br />

120<br />

80<br />

120<br />

80<br />

120<br />

80<br />

140<br />

100<br />

140<br />

100<br />

140<br />

100<br />

160<br />

120<br />

160<br />

120<br />

160<br />

120<br />

180<br />

140<br />

180<br />

140<br />

180<br />

140<br />

200<br />

160<br />

200<br />

160<br />

200<br />

160<br />

220<br />

180<br />

220<br />

180<br />

220<br />

180<br />

240<br />

200<br />

240<br />

200<br />

240<br />

200<br />

260<br />

220<br />

260<br />

220<br />

260<br />

220<br />

280<br />

240<br />

280<br />

240<br />

280<br />

240<br />

300<br />

260<br />

300<br />

260<br />

300<br />

260<br />

320<br />

280<br />

320<br />

280<br />

320<br />

280<br />

340<br />

300<br />

340<br />

300<br />

340<br />

300<br />

360<br />

320<br />

360<br />

320<br />

360<br />

320<br />

380<br />

340<br />

380<br />

340<br />

380<br />

340<br />

400<br />

360<br />

400<br />

360<br />

400<br />

360<br />

420<br />

380<br />

420<br />

380<br />

420<br />

380<br />

440<br />

400<br />

440<br />

400<br />

440<br />

400<br />

420<br />

420<br />

420<br />

440<br />

UNFOLDED GEOMETRY<br />

440<br />

GALLERY SPACE<br />

SOLID WALL & FLOOR<br />

440<br />

GATHERING SPACE<br />

SOLID ROOF<br />

208 188 168 144 124 104 84 64 40 20 0<br />

208 188 168 144 124 104 84 64 40 20 0<br />

208 188 168 144 124 104 84 64 40 20 0<br />

0<br />

0<br />

000<br />

000 000<br />

0<br />

20<br />

208 188 168 144 124 104 84 64 40 20 0<br />

20<br />

008<br />

012<br />

208 188 168 144 124 104 84 64 40 20 0<br />

20<br />

208 188 168 144 124 104 84 64 40 20 0<br />

40<br />

0<br />

40<br />

0<br />

000<br />

036<br />

000 000<br />

40<br />

0<br />

60<br />

20<br />

60<br />

20<br />

008<br />

056<br />

012<br />

60<br />

20<br />

80<br />

40<br />

80<br />

40<br />

084<br />

036<br />

084<br />

80<br />

40<br />

100<br />

60<br />

100<br />

60<br />

104<br />

056<br />

096<br />

100<br />

60<br />

120<br />

80<br />

120<br />

80<br />

084<br />

084<br />

120<br />

80<br />

140<br />

100<br />

140<br />

100<br />

104<br />

136<br />

096<br />

140<br />

100<br />

160<br />

120<br />

160<br />

120<br />

160<br />

160<br />

120<br />

180<br />

140<br />

180<br />

140<br />

136<br />

180<br />

180<br />

140<br />

200<br />

160<br />

200<br />

160<br />

208<br />

212<br />

160<br />

200<br />

200<br />

160<br />

220<br />

180<br />

220<br />

180<br />

224<br />

180<br />

220<br />

180<br />

240<br />

200<br />

240<br />

200<br />

248<br />

200<br />

240<br />

200<br />

260<br />

220<br />

260<br />

220<br />

208<br />

212<br />

264<br />

272<br />

224<br />

260<br />

220<br />

280<br />

240<br />

300<br />

260<br />

280<br />

240<br />

300<br />

260<br />

264<br />

248<br />

292<br />

304<br />

280<br />

240<br />

300<br />

260<br />

320<br />

280<br />

320<br />

280<br />

272<br />

320<br />

320<br />

280<br />

340<br />

300<br />

340<br />

300<br />

352<br />

340<br />

292<br />

304<br />

340<br />

300<br />

360<br />

320<br />

360<br />

320<br />

364<br />

320<br />

360<br />

320<br />

380<br />

340<br />

380<br />

340<br />

340<br />

380<br />

340<br />

400<br />

360<br />

400<br />

360<br />

352<br />

364<br />

396<br />

412<br />

400<br />

360<br />

420<br />

380<br />

420<br />

380<br />

432<br />

420<br />

380<br />

440<br />

400<br />

440<br />

400<br />

440<br />

440<br />

440<br />

396<br />

440<br />

400<br />

412<br />

420<br />

420<br />

420<br />

432<br />

440<br />

440<br />

440<br />

440<br />

440<br />

440<br />

SUPERIMPOSING<br />

CENTER LINES FOR TAPING PATTERN<br />

BASED ON KEY POINTS<br />

TAPING PATTERN EXPANSION<br />

BASED ON SINE CURVE


124<br />

carbon fiber taping pattern B<br />

Then another set of taping pattern was generated base on structural analysis of the geometry; stress<br />

curve on the face of the hollow box. Then the two were overlapped to finalize the taping pattern.<br />

208 188 168 144 124 104 84 64 40 20 0<br />

208 188 168 144 124 104 84 64 40 20 0<br />

208 188 168 144 124 104 84 64 40 20 0<br />

0<br />

0<br />

0<br />

000<br />

000<br />

008<br />

20<br />

208 188 168 144 104 84 64 40 20 0<br />

20<br />

208 188 168 144 124 104 84 64 40 20 0<br />

20<br />

208 188 168 144 124 104 84 64 40 20 0<br />

40<br />

0<br />

40<br />

0<br />

40<br />

0<br />

044<br />

000<br />

044<br />

000<br />

008<br />

60<br />

20<br />

60<br />

20<br />

60<br />

20<br />

80<br />

40<br />

80<br />

40<br />

80<br />

40<br />

044<br />

044<br />

100<br />

60<br />

100<br />

60<br />

100<br />

60<br />

108<br />

108<br />

120<br />

80<br />

120<br />

80<br />

120<br />

80<br />

140<br />

100<br />

140<br />

100<br />

140<br />

100<br />

140<br />

140<br />

160<br />

120<br />

160<br />

120<br />

160<br />

120<br />

108<br />

164<br />

108<br />

164<br />

180<br />

140<br />

180<br />

140<br />

180<br />

140<br />

140<br />

140<br />

200<br />

160<br />

200<br />

160<br />

200<br />

160<br />

164<br />

164<br />

220<br />

180<br />

220<br />

180<br />

220<br />

180<br />

224<br />

224<br />

240<br />

200<br />

240<br />

200<br />

240<br />

200<br />

260<br />

220<br />

260<br />

220<br />

260<br />

220<br />

256<br />

224<br />

256<br />

224<br />

280<br />

240<br />

280<br />

240<br />

280<br />

240<br />

300<br />

260<br />

300<br />

260<br />

300<br />

260<br />

256<br />

256<br />

320<br />

280<br />

320<br />

280<br />

320<br />

280<br />

324<br />

324<br />

340<br />

300<br />

340<br />

300<br />

340<br />

300<br />

360<br />

320<br />

360<br />

320<br />

360<br />

320<br />

324<br />

324<br />

380<br />

340<br />

380<br />

340<br />

380<br />

340<br />

400<br />

360<br />

400<br />

360<br />

400<br />

360<br />

396<br />

396<br />

420<br />

380<br />

420<br />

380<br />

420<br />

380<br />

420<br />

440<br />

400<br />

440<br />

400<br />

440<br />

400<br />

440<br />

396<br />

440<br />

396<br />

420<br />

420<br />

420<br />

420<br />

440<br />

UNFOLDED GEOMETRY<br />

440<br />

STRUCTURAL KEY POINTS<br />

MEETING POINTS WITH COLUMNS<br />

440<br />

440<br />

CENTER LINES FOR TAPING PATTERN<br />

LEFT TO RIGHT<br />

440<br />

208 188 168 144 124 104 84 64 40 20 0<br />

208 188 168 144 124 104 84 64 40 20 0<br />

208 188 168 144 124 104 84 64 40 20 0<br />

0<br />

0<br />

000<br />

000<br />

0<br />

20<br />

208 188 168 144 124 104 84 64 40 20 0<br />

20<br />

012<br />

208 188 168 144 124 104 84 64 40 20 0<br />

20<br />

208 188 168 144 124 104 84 64 40 20 0<br />

40<br />

0<br />

40<br />

0<br />

044<br />

000<br />

044<br />

000<br />

40<br />

0<br />

60<br />

20<br />

60<br />

20<br />

012<br />

60<br />

20<br />

80<br />

40<br />

80<br />

40<br />

084<br />

044<br />

084<br />

044<br />

80<br />

40<br />

100<br />

60<br />

100<br />

60<br />

100<br />

60<br />

120<br />

80<br />

120<br />

80<br />

084<br />

084<br />

120<br />

80<br />

140<br />

100<br />

140<br />

100<br />

148<br />

148<br />

140<br />

100<br />

160<br />

120<br />

160<br />

120<br />

160<br />

120<br />

180<br />

140<br />

180<br />

140<br />

180<br />

140<br />

200<br />

160<br />

200<br />

160<br />

148<br />

148<br />

200<br />

160<br />

220<br />

180<br />

220<br />

180<br />

224<br />

224<br />

220<br />

180<br />

240<br />

200<br />

240<br />

200<br />

240<br />

200<br />

260<br />

220<br />

260<br />

220<br />

264<br />

224<br />

264<br />

224<br />

260<br />

220<br />

280<br />

240<br />

280<br />

240<br />

280<br />

240<br />

300<br />

260<br />

300<br />

260<br />

264<br />

264<br />

300<br />

260<br />

320<br />

280<br />

320<br />

280<br />

320<br />

320<br />

320<br />

280<br />

340<br />

300<br />

340<br />

300<br />

340<br />

340<br />

340<br />

300<br />

360<br />

320<br />

360<br />

320<br />

320<br />

320<br />

360<br />

320<br />

380<br />

340<br />

380<br />

340<br />

340<br />

392<br />

340<br />

392<br />

380<br />

340<br />

400<br />

360<br />

400<br />

360<br />

400<br />

360<br />

420<br />

380<br />

420<br />

380<br />

420<br />

420<br />

380<br />

440<br />

400<br />

440<br />

400<br />

392<br />

392<br />

440 440<br />

440<br />

400<br />

420<br />

420<br />

420<br />

420<br />

440<br />

440<br />

440 440<br />

440<br />

TAPING PATTERN EXPANSION<br />

BASED ON SINE CURVE<br />

CENTER LINES FOR TAPING PATTERN<br />

RIGHT TO LEFT<br />

TAPING PATTERN EXPANSION<br />

BASED ON SINE CURVE


final pattern<br />

Final pattern was created by overlapping two sets of patterns. For the sake of physical model, due to the<br />

limited resource, carbon fiber placement pattern was transformed into lasercut cutting pattern for visualization purpose.<br />

FINAL PATTERN


EL<br />

dn<br />

dn<br />

dn<br />

dn<br />

EL


dn<br />

dn<br />

dn<br />

dn


DIGITAL DESIGN //<br />

LECTURES & WORKSHOPS<br />

@ SELECTIVE AMPLIFICATION / 2009 - 2017 / HARVARD, CORNELL, U-PENN, SYRACUSE, CCNY


TRIANGULATED FABRIC //<br />

PARAMETRIC WORKSHOP, CCNY 2017


TRIPOD PAVILION //<br />

PARAMETRIC WORKSHOP, 2009<br />

step00_01<br />

www.woojsung.com


RESPONSIVE TOTEM //<br />

PARAMETRIC WORKSHOP, CORNELL AAP 2009


RESPONSIVE FLOWER //<br />

PARAMETRIC WORKSHOP, SYRACUSE 2009


UNDULATING BRIDGE //<br />

PARAMETRIC WORKSHOP, 2009


GRAPH CONTROLLER //<br />

PARAMETRIC WORKSHOP, CORNELL AAP 2009


DIFFUSION LIMITED AGGREGATION //<br />

DIGITAL MEDIA CLASS, HARVARD GSD 2012<br />

The process whereby particles undergoing a random walk due to Brownian motion cluster together to form aggregates of such particles<br />

GRASSHOPPER (from Wikipedia). This can VB be WORKSHOP simply break down into - Diffusion two main processes; Limited Aggregation System<br />

Digital Media and Material Practice, Fall 2012, Harvard, GSD<br />

gradually approaches toward the attractor over time.<br />

GH version 0.9.0014<br />

1) Diffusion (Wandering Particle) - Start with two points. One as a static working as an attractor, and the other as a wandering particle that<br />

2) Aggregation (Sticking Particles within threshold) - Constantly check if those two points are close enough. If yes, stop wandering and<br />

merge two points by connecting them with a single line. Otherwise, let the particle wander until it gets in to the threshold.<br />

woojae sung . woojae.sung@yahoo.com . www.woojsung.com


Diffusion Limited Aggregation in VB Grasshopper - http://woojsung.com 1<br />

algorithm design<br />

Prior to jump on scripting, very clear definition of DLA system needs to be thought out step by step. Key things<br />

were how to mimic Brownian motion and aggregation process in Visual Basic.<br />

DIFFUSION-LIMITED AGGREGATION<br />

The process whereby particles undergoing a random walk due to Brownian motion cluster together to form aggregates of such particles<br />

(from Wikipedia). This can be simply break down into two main processes;<br />

Diffusion (Wandering Particle) - Start with two points. One as a static working as an attractor, and the other as a wandering particle<br />

that gradually approaches toward the attractor over time.<br />

PROCESS<br />

step 01<br />

Get a random point on a given boundary.<br />

This point will gradually approach to an attractor<br />

as it wander within the boundary.<br />

The attractor will be the first aggregate as<br />

it still serve as an attractor.<br />

step 02<br />

When wandering a particle, keep the random<br />

angle less than 180 degrees to force<br />

the particle move toward the attractor.<br />

Otherwise, the particle might be lost in the<br />

space.<br />

Aggregation (Sticking Particles within threshold) - Constantly check if those two points are close enough. If yes, stop wandering and<br />

merge two points by connecting them with a single line. Otherwise, let the particle wander until it gets in to the threshold.<br />

step 03<br />

Every time moving the particle, check the<br />

distance between the two points to see if<br />

they are close enough to get merged.<br />

Diffusion Limited Aggregation in VB Grasshopper - http://woojsung.com 1<br />

Diffusion Limited Aggregation in VB Grasshopper - http://woojsung.com 2<br />

DIFFUSION-LIMITED AGGREGATION<br />

The process whereby particles undergoing a random walk due to Brownian motion cluster together to form aggregates of such particles<br />

(from Wikipedia). This can be simply break down into two main processes;<br />

Diffusion (Wandering Particle) - Start with two points. One as a static working as an attractor, and the other as a wandering particle<br />

that gradually approaches toward the attractor over time.<br />

PROCESS<br />

step 01<br />

Get a random point on a given boundary.<br />

This point will gradually approach to an attractor<br />

as it wander within the boundary.<br />

The attractor will be the first aggregate as<br />

it still serve as an attractor.<br />

step 02<br />

When wandering a particle, keep the random<br />

angle less than 180 degrees to force<br />

the particle move toward the attractor.<br />

Otherwise, the particle might be lost in the<br />

space.<br />

Aggregation (Sticking Particles within threshold) - Constantly check if those two points are close enough. If yes, stop wandering and<br />

merge two points by connecting them with a single line. Otherwise, let the particle wander until it gets in to the threshold.<br />

step 03<br />

Every time moving the particle, check the<br />

distance between the two points to see if<br />

they are close enough to get merged.<br />

Diffusion Limited Aggregation in VB Grasshopper - http://woojsung.com 2


aggregation process<br />

it grows to a bunch of points aggregated at around the seed.<br />

Movie clip captures of DLA process simulated in Grasshopper/VB. Starting from a seed at the center


REACTION DIFFUSION SYSTEM //<br />

DIGITAL MEDIA CLASS, HARVARD GSD 2012<br />

Reaction–diffusion systems are mathematical models which explain how the concentration of one or more substances distributed in space<br />

changes under the influence of two processes: local chemical reactions in which the substances are transformed into each other, and<br />

diffusion which causes the substances to spread out over a surface in space (from Wikipedia).<br />

The system can be simply break down into two main processes; Diffusion and Reaction.<br />

1) Diffusion (Wandering Particles) Unlike DLA system’s, particles wandering in Reaction Diffusion system don’t have any dominant direction.<br />

They move in a random fashion spreading over time.<br />

2) Reaction (Aggregation - Sticking Particles within threshold) One of the most challenging thing about the system is on its complexity.<br />

Unlike DLA system where there is only one moving particle at a time, all particles in the Reaction Diffusion system move randomly all<br />

together at the same time. So in each iteration, we have to calculate and check every possible combination of distances between points.<br />

Constantly check if there is a set of two points close enough to each other. If yes, stop wandering and merge the two points into a single line,<br />

and stop moving those points. Otherwise, let the particle wander until they get close enough to the threshold.


Reaction Diffusion system in VB Grasshopper - http://woojsung.com 3<br />

algorithm design<br />

Prior to jump on scripting, very clear definition of R-D system needs to be thought out step by step. Key things<br />

were how to mimic Brownian motion and reaction and all associated processes in Visual Basic.<br />

REACTION DIFFUSION SYSTEM<br />

Reaction–diffusion systems are mathematical models which explain how the concentration of one or more substances distributed in<br />

space changes under the influence of two processes: local chemical reactions in which the substances are transformed into each other,<br />

and diffusion which causes the substances to spread out over a surface in space (from Wikipedia).<br />

Reaction Diffusion system in this material is not describing exactly what it really is. Rather, this is my own interpretation of the system.<br />

The system can be simply break down into two main processes; Diffusion and Reaction<br />

PROCESS<br />

step 01<br />

Wander points / random direction.<br />

Diffusion (Wandering Particles)<br />

Unlike DLA system’s, particles wandering<br />

in Reaction Diffusion system don’t<br />

have any dominant direction. They<br />

move in a random fashion spreading<br />

over time.<br />

step 02<br />

Check all possible cases of distance from<br />

the a point (A).<br />

Reaction (Aggregation - Sticking Particles<br />

within threshold)<br />

One of the most challenging thing<br />

about the system is on its complexity.<br />

Unlike DLA system where there<br />

is only one moving particle at a time,<br />

all particles in the Reaction Diffusion<br />

system move randomly all together<br />

at the same time. So in each iteration,<br />

we have to calculate and check every<br />

possible combination of distances between<br />

points.<br />

Constantly check if there is a set of<br />

two points close enough to each other.<br />

If yes, stop wandering and merge the<br />

two points into a single line, and stop<br />

moving those points. Otherwise, let<br />

the particle wander until they get close<br />

enough to the threshold.<br />

step 03<br />

Check all possible cases of distance from<br />

the a point (N).<br />

Reaction Diffusion system in VB Grasshopper - http://woojsung.com 1<br />

Reaction Diffusion system in VB Grasshopper - http://woojsung.com 2<br />

step 04<br />

Get the list of shortest distances between<br />

points and compare the list to threshold to<br />

merge points if the number is smaller than<br />

the threshold.<br />

step 06<br />

Basically there are 6 sets of points. At a<br />

certain point of process, there should be<br />

two input point sets, (a)pts_wander_in<br />

and (b)pts_frozen_in. Then to check every<br />

possible cases of distance between points,<br />

we create two additional sets of points,<br />

(c)pts_from and (d)pts_to. (c)pts_from is<br />

from (a)pts_wander_in and (d)pts_to is a<br />

mixture of both (a)pts_wander_in and (b)<br />

pts_frozen_in. After checking distances<br />

with threshold, we lose some points close<br />

enough to other points from (a) or (c),<br />

forming (e)pts_wander_out. At the same<br />

time, we get some points from (a) or (c)<br />

growing size of fronzen point set (f)pts_frozen_out.<br />

Reaction Diffusion system in VB Grasshopper - http://woojsung.com 4


-d process<br />

Movie clip captures of R-D process simulated in Grasshopper/VB. Starting from a point cloud, it forms pattern<br />

depend on proximity between points as the particles do Brownian motion.


SURFACE RUN OFF //<br />

DIGITAL MEDIA CLASS, HARVARD GSD 2011<br />

The goal of the definition is to simulate the way how water flows downwards on a hilly terrain. Let’s start by dividing the process into<br />

three parts;<br />

Part 1 - Define a drain slope vector at an arbitrary point, called ‘input point’ in our definition, on a give surface, then decide possible<br />

position of an ‘output point’ on the surface. When we are given a vector at a specific time and position, by multiplying a factor, we<br />

can predict what next position would be. In our case, we call the factor ‘distance_factor’ and this number will decide how precise the<br />

process would be.<br />

Part 2 - In Part 1, we got an ‘output point’ from an initial ‘input point’. If we use the ‘output point’ as another ‘input point’, we can get<br />

another ‘output point’. By repeating this until we cannot get a valid ‘output point’, we can get a water flow curve from the series of<br />

points.<br />

Part 3 - By supplying multiple ‘input points’ to the process explained in the previous steps, we can simulate water flow from multiple<br />

source on a given surface.


IDEA<br />

The goal of the definition is to simulate the way how water flows downwards on a hilly terrain. Let’s start by dividing the process into<br />

three parts;<br />

Part 1 - Define a drain slope vector at an arbitrary point, called ‘input point’ in our definition, on a give surface, then decide possible<br />

position of an ‘output point’ on the surface. When we are given a vector at a specific time and position, by multiplying a factor, we<br />

can predict what next position would be. In our case, we call the factor ‘distance_factor’ and this number will decide how precise the<br />

process would be.<br />

Part 2 - In Part 1, we got an ‘output point’ from an initial ‘input point’. If we use the ‘output point’ as another ‘input point’, we can get<br />

another ‘output point’. By repeating this until we cannot get a valid ‘output point’, we can get a water flow curve from the series of<br />

points.<br />

Part 3 - By supplying multiple ‘input points’ to the process explained in the previous steps, we can simulate water flow from multiple<br />

source on a given surface.<br />

Z VECTOR<br />

NORMAL VECTOR<br />

Z VECTOR<br />

SURFACE VECTOR<br />

CROSS PRODUCT VECTOR<br />

(UNITIZED)<br />

DISTANCE FACTOR<br />

INPUT POINT<br />

DRAIN VECTOR<br />

OUTPUT POINT<br />

CROSS PRODUCT VECTOR<br />

(UNITIZED)<br />

INPUT POINT<br />

Part 1 Part 2<br />

IF AN OUTPUT POINT IS OUT OF THE<br />

SURFACE, PULL IT BACK BY GETTING THE<br />

CLOSEST POINT ON THE SURFACE<br />

INPUT POINTS<br />

INPUT POINT<br />

/OUTPUT POINT<br />

INPUT POINT<br />

/OUTPUT POINT<br />

INPUT POINT<br />

/OUTPUT POINT<br />

INPUT POINT<br />

/OUTPUT POINT<br />

THERE IS ONLY ONE CONDITION WHEN<br />

THIS PROCESS STOPS; Z VALUE OF<br />

INPUT AND OUTPUT POINTS ARE <strong>SA</strong>ME<br />

INPUT POINT<br />

/OUTPUT POINT<br />

Part 2 OUTPUT POINT<br />

Part 3<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 1


COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 4<br />

PART 1 FINDING AN ‘OUTPUT POINT’<br />

PART 2 DEFINING A ‘FLOW LINE’<br />

Z VECTOR<br />

SURFACE VECTOR<br />

Z VECTOR<br />

SURFACE VECTOR<br />

Z VECTOR<br />

SURFACE VECTOR<br />

step 01<br />

Repeat the process by continuously replacing an ‘input point’ in<br />

current iteration with an ‘output point’ in the previous one. If an<br />

‘output point’ is out of the surface, we always can pull it back<br />

onto the surface by finding the closest point on it.<br />

INPUT POINT<br />

CROSS PRODUCT VECTOR<br />

(UNITIZED)<br />

INPUT POINT<br />

CROSS PRODUCT VECTOR<br />

(UNITIZED)<br />

INPUT POINT<br />

step 01<br />

Get a normal vector at an arbitrary point (input point) on<br />

a given surface. Get a Z vector at the point.<br />

step 02<br />

Get a cross product vector by<br />

two vectors in the step 02.<br />

Right hand rule shows that<br />

the direction of a cross product<br />

vector always wants to be<br />

perpendicular to the direction<br />

of drain slope.<br />

RIGHT-HAND RULE<br />

WWW.WIKIPEDIA.ORG<br />

IF AN OUTPUT POINT IS OUT OF THE<br />

SURFACE, PULL IT BACK BY GETTING THE<br />

CLOSEST POINT ON THE SURFACE<br />

step 02<br />

There is only one case when this chain reaction stops; when z<br />

value of both an ‘input’ and ‘output’ point are same. This means<br />

for whatever reason, an output point is not moving any further<br />

from an input point.<br />

INPUT POINT<br />

/OUTPUT POINT<br />

Z VECTOR<br />

SURFACE VECTOR<br />

Z VECTOR<br />

SURFACE VECTOR<br />

CROSS PRODUCT VECTOR<br />

(UNITIZED)<br />

INPUT POINT<br />

CROSS PRODUCT VECTOR<br />

(UNITIZED)<br />

INPUT POINT<br />

INPUT POINT<br />

/OUTPUT POINT<br />

DRAIN VECTOR<br />

(UNITIZED)<br />

DRAIN VECTOR<br />

(MULTIPLIED BY DISTANCE FACTOR)<br />

INPUT POINT<br />

/OUTPUT POINT<br />

ROTATE “CROSS PRODUCT VECTOR” 90 DEGREES<br />

AROUND “SURFACE VECTOR”<br />

step 03<br />

Rotate ‘cross product vector’ 90 degrees count clock wise<br />

around ‘surface normal vector to get ‘drain slope vector’<br />

step 04<br />

Multiply a certain number to the unitized ‘drain slope vector’<br />

to get a output point. We call the number ‘distance_factor’<br />

and it determines how accurate this process would be.<br />

THERE IS ONLY ONE CONDITION WHEN<br />

THIS PROCESS STOPS; Z VALUE OF<br />

INPUT AND OUTPUT POINTS ARE <strong>SA</strong>ME<br />

OUTPUT POINT<br />

INPUT POINT<br />

/OUTPUT POINT<br />

INPUT POINT<br />

/OUTPUT POINT<br />

PART 3 APPLYING TO MULTIPLE WATER SOURCES<br />

step 01<br />

We can get multiple flow lines by supplying series of input points<br />

depending on one’s design intent.<br />

Z VECTOR<br />

SURFACE VECTOR<br />

Z VECTOR<br />

SURFACE VECTOR<br />

INPUT POINTS<br />

CROSS PRODUCT VECTOR<br />

(UNITIZED)<br />

INPUT POINT<br />

CROSS PRODUCT VECTOR<br />

(UNITIZED)<br />

INPUT POINT<br />

OUTPUT POINT<br />

OUTPUT POINT<br />

(PROJECTED ONTO THE SURFACE,<br />

BY CLOSEST POINT ON THE SURFACE)<br />

INPUT POINT<br />

INPUT POINT<br />

OUTPUT POINT<br />

OUTPUT POINT<br />

step 05<br />

Because of the surface curvature, an ‘output point’ most<br />

likely not on the surface.<br />

step 06<br />

So we want to pull the point back onto the surface<br />

by finding closest point from the point.<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 2<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 3<br />

CODE REVIEW<br />

PART 1 FINDING AN ‘OUTPUT POINT’<br />

Refer to ‘VB workshop part1.gh’ and ‘VB workshop.3dm’ attached.<br />

scene setting<br />

Set up the scene as illustrated below.<br />

step 1 In this step we want to get a ‘normal vector’ and a ‘z vector’ on a ‘base surface’ at an ‘input point’. We start by defining an<br />

empty 3d vector.<br />

91 Dim normal_vector as Vector3d<br />

When we declare something by ‘Dim A as B’, A is a name of the variable and B is a type of the variable such as point3d, integer,<br />

vector3d, surface, etc.. We call these ‘classes’ instead of ‘types’. So integer can be a class and surface can be another.<br />

A class is, as you may feel, very abstract concept like dog, cat, or rhino(without indefinite article maybe?). For example, vector3d<br />

as a class doesn’t even have a real name and we don’t know anything about it; direction, magnitude, etc..<br />

By giving it a name, ‘normal_vector’, we get a vector3d out of vector3d class. Now ‘normal_vector’ is an object. An object is<br />

like a dog, a cat, or a rhino(with indefinite article maybe?). However it is still bodiless and doesn’t have any physical characteristics.<br />

‘normal_vector’ still can be any vector3d, as a dog can represent DiCaprio, my dog, or Pitt, your dog.<br />

If you want to be more specific about your vecter3d, ‘normal_vector’, you can do that by defining an instance. ‘Dim A as<br />

New B(C)’ is a typical way of defining an instance. A is a name of the instance, B is a name of the class, and C is specific<br />

condition that gives physicality to A. For example, a ‘normal_vector’ in line 91 is an object in vector3d class, but we don’t<br />

know where it is and how big it is, etc.. But if we define a ‘normal_vector’ by ‘Dim normal_vector as New Vector3d(pointA,<br />

pointB)’, the vector comes alive in a space with physicalities such as a starting and ending point as well as length.<br />

Class - Dog Object - A dog Instance - A blue dog<br />

dog has four legs and<br />

a tail, covered with fur,...<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 5


COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 8<br />

Z VECTOR<br />

SURFACE VECTOR<br />

Z VECTOR<br />

SURFACE VECTOR<br />

INPUT POINT<br />

INPUT POINT<br />

93 normal_vector = base_srf.NormalAt(u, v)<br />

Now we want to get a ‘normal_vector’ on a ‘base_surface’ at a ‘input_point’. It is clear that a normal vector cannot even<br />

exist without a surface. If so, there should be some kind of protocol that enable us to find a normal vector from a surface.<br />

Of course there are. Every class, object, and instance has lower level services; ‘constructor, methods, and properties’.<br />

‘Constructor’ is the way how we build new instances/objects out of classes. For example, when we draw a line by two<br />

points, we can code it in this way; ‘Dim A as New Line(pointA, pointB)’.<br />

While ‘constructor’ is more about defining an instance/object itself, ‘methods’ has to do with manipulating, evaluating or<br />

analyzing the instance/object to get something else other than its inherited properties. For example, if you want to get a<br />

surface normal vector at a certain point on a surface, you probably can find a ‘method’ that does this for you from a list of<br />

‘methods’ in surface class.<br />

89 base_srf.ClosestPoint(input_pt, u, v)<br />

Now we want to get (u,v) POINT coordinate of the ‘input_point’ on the ‘base_surface’. We all know from our experiences in Grasshopper<br />

ORIGIN that the easiest<br />

LOCAL COORDINATE SYSTEM<br />

(U,V)<br />

way to convert a global coordinate, (x,y,z), into local one, (u,v) is to use ‘finding the closest point on<br />

LOCAL COORDINATE SYSTEM<br />

ON SURFACE<br />

a (0,0) surface’ method. This is sort of pre-defined/built-in function in Grasshopper that returns you (u,v) coordinate when you<br />

supply a surface and a point. Since this method will clearly be part of surface class, browse in to surface class and there you<br />

will find the below in method tab.<br />

Surface.ClosestPoint (testPoint As Point3d, ByRef u As Double, ByRef v As Double)<br />

This method requires a testPoint from which it calculates the closest point, and then pass the local coordinate of the closest<br />

point by two output references, u and v. When you decipher a code in the SDK, ByRef usually means something you get not<br />

something you supply.<br />

‘Properties’ are inherited characteristics of an instance. Unlike ‘methods’, ‘properties’ can be retrieved free directly from an<br />

instance/object. For example, unlike a surface normal vector at a specific point, area of the surface doesn’t change as long<br />

as the surface stays same, and we always can ask the surface like “how big are you?”.<br />

Good thing about these protocols are that you can always call them with a ‘dot’ connector. Whenever you want to ask an<br />

instance/object, simply type in a dot right next to its name then you will see promptly whatever would be available at that<br />

moment. So, in our case, since we have no idea how to find a ‘method’ that extracts a ‘normal_vector’ from a surface, we<br />

can just type in ‘base_srf’ and add ‘.’ right next to it. Then you will see a list of possible ‘methods’. In this case, we want to<br />

select ‘NormalAt’ from the drop down list.<br />

POINT<br />

GLOBAL COORDINATE SYSTEM<br />

(X,Y,Z)<br />

ORIGIN<br />

LOCAL COORDINATE SYSTEM<br />

ON SURFACE<br />

(0,0)<br />

POINT<br />

LOCAL COORDINATE SYSTEM<br />

(U,V)<br />

If you are not sure what do you need, or simply want to browse what is available, you can find useful reference/bible here<br />

at the Rhino Common SDK(Software Development Kit) in this page, http://www.rhino3d.com/5/rhinocommon/index.html.<br />

There you might want to browse in to Rhino.Geometry Namespace, where all of accessible rhino classes are listed up for<br />

you. There you can get this;<br />

ORIGIN<br />

GLOBAL COORDINATE SYSTEM<br />

(0,0,0)<br />

Surface.NormalAt (u As Double, v As Double) As Vector3d<br />

‘NormalAt’ method, as you see it, needs two variables; u as double, and v as double. u and v or (u,v) is a local coordinate<br />

systme that represents a location of a point on a surface. Because we don’t know yet how and where we can get both u and<br />

v, let’s just put ‘u’ and ‘v’ as variables.<br />

87 Dim u, v As Double<br />

Although we don’t know anything about them, one thing for sure is that they are double. And also they want to be declared<br />

before they are called in in order to avoid an error. Declare ‘u’ and ‘v’ as double in line 87.<br />

POINT<br />

GLOBAL COORDINATE SYSTEM<br />

(X,Y,Z)<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 6<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 7<br />

ORIGIN<br />

GLOBAL COORDINATE SYSTEM<br />

(0,0,0)<br />

Z VECTOR<br />

SURFACE VECTOR<br />

Z VECTOR<br />

SURFACE VECTOR<br />

Z VECTOR<br />

SURFACE NORMAL VECTOR<br />

CROSS PRODUCT VECTOR<br />

(UNITIZED)<br />

INPUT POINT<br />

CROSS PRODUCT VECTOR<br />

(UNITIZED)<br />

INPUT POINT<br />

DRAIN VECTOR<br />

(UNITIZED)<br />

CROSS PRODUCT VECTOR<br />

INPUT POINT<br />

(UNITIZED)<br />

DRAIN VECTOR<br />

DISTANCE FACTOR OUTPUT POINT<br />

(PROJECTED ONTO THE SURFACE,<br />

BY<br />

OUTPUT<br />

CLOSEST<br />

POINT<br />

POINT ON THE SURFACE)<br />

ROTATE “CROSS PRODUCT VECTOR” 90 DEGREES<br />

AROUND “SURFACE VECTOR”<br />

INPUT POINT<br />

OUTPUT POINT<br />

RIGHT-HAND RULE<br />

WWW.WIKIPEDIA.ORG<br />

step 3 In this step, we will get an ‘output_point’ by multiplying a number, ‘distance_factor’, to the ‘drain vector’.<br />

step 2 In this step, we want get a ‘drain_vector’ by a ‘normal_vector’ and a ‘z_vector’ at the ‘input_point’.<br />

95 Dim drain_vector As vector3d = vector3d.CrossProduct(normal_vector, vector3d.ZAxis)<br />

We have two vectors springing from the ‘input_point’; a ‘normal_vector’ from the previous step and a ‘z_vector’. From<br />

the illustration above, I believe that you can predict the direction of water flow very easily. Yes, the ‘drain_vector’ is always<br />

perpendicular to the ‘cross product vector’ of two input vectors. In other words, we can rotate the ‘cross product vector’<br />

90 degrees CCW around ‘normal_vector’ to get the ‘drain_vector’. We can compute the cross product of these vectors with<br />

vector3d.crossproduct method. Unlike ‘NormalAt’ or ‘ClosestPoint’ methods in the previous steps, this particular methods<br />

cannot be subordinate to any instance or object, because this method wants to calculate two inputs vectors in the same<br />

level. In this case, we can start with generic term, ‘Vector3d’ instead of any instance/object name.<br />

Vector3d.CrossProduct (a As Vector3d, b As Vector3d) As Vector3d<br />

This method requires two vectors as inputs, and the method itself becomes another vector3d instance. Although the ‘crossproduct<br />

vector’ is not a ‘drain_vector’, we can assign this vector to a ‘drain_vector’ for now.<br />

97 drain_vector.Unitize<br />

101 Dim moved_pt As point3d = input_pt + distance_factor * drain_vector<br />

Line 101 is straight forward. This is to move an ‘input_point’ by amplifying the ‘drain_vector’ with<br />

‘distance_factor’. We save this to a temporary space called ‘moved_point’.<br />

103 base_srf.ClosestPoint(moved_pt, u, v)<br />

Then we pull this temporary point back to the surface. Surface.closestpoint method gives (u,v) coordinates<br />

of the ‘moved_point’.<br />

105 Dim output_pt As Point3d = base_srf.PointAt(u, v)<br />

107 A = output_pt<br />

Then by supplying (u,v) values to surface.pointat method, we get an ‘output_point’. Then, export the<br />

point through an output tab, A.<br />

In line 97, we unitize the vector, so we can have better control on its length. Otherwise, sometimes it will cause an unexpected<br />

error because of uncertainty in vector length.<br />

99 drain_vector.Transform(Transform.Rotation(Math.PI * 0.5, normal_vector, input_pt))<br />

In line 99, we want to rotate the vector 90 degrees counter clock wise around a ‘normal_vector’ to get a ‘drain_vector’. We<br />

can use vector3d.transform method.<br />

Vector3d.Transform (transformation As Transform)<br />

This method requires ‘transform’ (transform is a class) as a variable.<br />

Transform.Rotation (angleRadians As Double, rotationAxis As Vector3d, rotationCenter As Point3d) As Transform<br />

Transform class has a rotation method, and it requires three variables. Now we get a ‘drain_vector’!<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 9


COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 12<br />

PART 2 DEFINING A ‘FLOW LINE’<br />

Refer to ‘VB workshop part2.gh’ and ‘VB workshop.3dm’ attached.<br />

input<br />

INPUT POINT<br />

function name<br />

OUTPUTPOINT<br />

output<br />

OUTPUT POINT<br />

CROSS PRODUCT VECTOR<br />

(UNITIZED)<br />

Z VECTOR<br />

SURFACE VECTOR<br />

INPUT POINT<br />

INPUT POINT<br />

/OUTPUT POINT<br />

INPUT POINT<br />

/OUTPUT POINT<br />

INPUT POINT. Z VALUE<br />

><br />

OUTPUT POINT. Z VALUE<br />

YES<br />

INPUT POINT<br />

/OUTPUT POINT<br />

INPUT POINT<br />

/OUTPUT POINT<br />

NO<br />

PROCESS END<br />

IF AN OUTPUT POINT IS OUT OF THE<br />

SURFACE, PULL IT BACK BY GETTING THE<br />

CLOSEST POINT ON THE SURFACE<br />

THERE IS ONLY ONE CONDITION WHEN<br />

THIS PROCESS STOPS; Z VALUE OF<br />

INPUT AND OUTPUT POINTS ARE <strong>SA</strong>ME<br />

OUTPUT POINT<br />

INPUT POINT<br />

/OUTPUT POINT<br />

step 1 In the part 1, we defined a simple system that returns an output by a certain logic. And now we want to convert this process<br />

into a modular system that keeps repeating its cycle until it satisfies a certain condition. For example, a recursive function; an output<br />

of current iteration becomes an input for the next iteration.<br />

After copy and paste, we might need to change some part of the code.<br />

Private Sub RunScript(..., ..., ..., ByRef A As Object)<br />

119 Private Function outputpoint(..., ..., ..., ByRef output_pt As Object) As Boolean<br />

Above red is the first line of the code that you’ve just paste. And we will change the code like in blue.<br />

Private means this portion of code doesn’t share any name with the rest of code. You also can make it public if you want.<br />

However we don’t want any naming conflictions, so we keep it private.<br />

Runscript is a name of this portion of code. We change the name to something meaningful, ‘outputpoint’.<br />

Copy all the code from the step 1, from line 85 to 109. Then paste it to a place for custom script like below.<br />

We change Sub to Function. Both of them refer to segments of code that are separate from main code. The difference<br />

between the two is ‘sub’ doesn’t return a value, while ‘function’ does. And we want this function, ‘outputpoint’, to store a<br />

boolean value for validity check. Confused? I found this link very useful for reference. http://www.homeandlearn.co.uk/NET/<br />

vbNet.html<br />

139 If output_pt.Z >= input_pt.Z Then<br />

141 outputpoint = False<br />

143 Else<br />

145 outputpoint = True<br />

147 End If<br />

This portion of code is to check if we want to repeat the process again or stop.<br />

As we can see from the diagram on the right hand side, we want to quit finding<br />

‘output_point’ process when input and output points are on the same elevation.<br />

So when this happens, we want to tell the main part of the code to stop this sub<br />

process. And we obviously need a messenger that delivers the message. That is<br />

why we wanted to make this portion of code to be ‘function’ instead of ‘sub’. So<br />

depending on the validity, it assigns ‘True’ or ‘False’ to the function, so the main<br />

part of the code can decide if it wants to keep going or not.<br />

input<br />

INPUT POINT<br />

function name<br />

OUTPUTPOINT<br />

YES<br />

INPUT POINT. Z VALUE<br />

><br />

OUTPUT POINT. Z VALUE<br />

NO<br />

PROCESS END<br />

output<br />

OUTPUT POINT<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 10<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 11<br />

If (conditional statement) Then<br />

(do this)<br />

Else<br />

(do that)<br />

End If<br />

This is how ‘if statements’, one of conditional logic of VB works. For more information on VB, you can visit http://www.<br />

homeandlearn.co.uk/NET/vbNet.html<br />

87 Dim pt As point3d = input_pt<br />

93 Dim output_pt As point3d<br />

89 Dim output_pts As New List(Of Point3d)<br />

91 output_pts.Add(pt)<br />

step 2 In step 1, we defined a funtion ‘outputpoint’. In step 2, we call the function and run it until the function returns ‘false’.<br />

95 Do<br />

109 Loop While outputpoint(base_srf, pt, distance_factor, output_pt) = True<br />

First off, we want to repeat the sub portion of the code, function or ‘outputpoint’ as long as its value is ‘True’.<br />

Do<br />

(do this)<br />

Loop While (conditional statement)<br />

This is how ‘Do ~ Loop’, one of loop logics in VB, works. Note that ‘while ()’ part can be either after ‘Do’ or after ‘Loop’.<br />

And also note that the way how we call the function ‘outputpoint’. It is pretty much same as the way we use methods in the<br />

previous steps.<br />

97 outputpoint(base_srf, pt, distance_factor, output_pt)<br />

In line 97, finally we call the function. We have to supply this function with 4 parameters; first three as inputs and the last<br />

one as an output. It is exactly the same as the way we did in Grasshopper canvas.<br />

We put ‘base_surface’ and ‘distance_factor’ as they are since they are pretty<br />

solid during the process unless we want to change them for some reasons.<br />

However, due to its nature as a recursive process, points tend to change frequently<br />

as it repeat process over the time. So we can start with two temporary<br />

spaces for both input and output points.<br />

In line 87, we declare a temporary space ‘pt’ for an input point, and then assign the ‘input_point’ to ‘pt’. Also in line 93,<br />

we declare an empty point3d for output point, ‘output_point’. And in line 89, we declare a space to store a list of points,<br />

‘output_points’. Then in line 91, we might want to add the initial input point ‘pt’ to the output point list, so at the end of the<br />

process, polyline curve can start from the ‘input_point’.<br />

95 Do<br />

97 outputpoint(base_srf, pt, distance_factor, output_pt)<br />

99 output_pts.add(output_pt)<br />

101 pt = output_pt<br />

103 If output_pts.Count > 100 Then<br />

105 Exit Do<br />

107 End If<br />

109 Loop While outputpoint(base_srf, pt, distance_factor, output_pt) = True<br />

Back to the ‘Do ~ Loop’ part, in line 99, we add the first output of function ‘outputpoint’. And in the next line, we switch<br />

output point of the current iteration with ‘pt’, a temporary location for an input point.<br />

From line 103 to 107, we check if total number of points in the output point list, ‘output_pts’, is more than 100. Otherwise,<br />

without this, your code might crash because of unexpected heavy load.<br />

111 Dim output_crv As New PolylineCurve(output_pts)<br />

113 A = output_crv<br />

Get a polyline curve from the ‘output_points’ list, and export the curve to A.<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 13


COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 14<br />

PART 3 APPLYING TO MULTIPLE WATER SOURCES<br />

Refer to ‘VB workshop part3.gh’ and ‘VB workshop.3dm’ attached.<br />

In the part 3, we apply the previously defined component to multiple points.<br />

INPUT POINTS<br />

step 1 Now we want to repeat the process for every input point.<br />

87 Dim output_crvs As New List(Of PolylineCurve)<br />

Because, at the end of the process, we might want to get multiple polyline curves, we start off by declaring a place to store<br />

polyline curve list.<br />

89 For Each pt As point3d In input_pt<br />

....<br />

115 output_crvs.Add(output_crv)<br />

117 Next<br />

This is another form of loop logic in VB, and unlike ‘do ~ Loop’, ‘for ~ next’ is unconditional. It simply do whatever it wants to<br />

do until there is no point left in the point list. In line 115, add ‘output_curve’ to the output curve list.<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 15


t (start point or initial point if you like) and check if the slope is within the range of s<br />

ctor. Otherwise, we rotate the vector along with the normal vector at the point until<br />

e the start point by the vector. This point will be the product of part 1 and, at the sam<br />

SHORTEST PATH ON A CURVED SURFACE //<br />

DIGITAL MEDIA CLASS, HARVARD GSD 2012<br />

g this process, we continue to find another next point until it is close enough to the de<br />

cluding The goal start of the definition and end is to find ones the shortest to path get between a shortest two points on path a topography which that does doesn’t not exceed a exceed specific slope; a specific slo<br />

Part 1 - Define a shortest path between two points on a given surface regardless of its slope(geodesic). Evaluate the slope vector on the path<br />

at the point (start point or initial point if you like) and check if the slope is within the range of safe slope. If yes, we move the start point by<br />

the vector. Otherwise, we rotate the vector along with the normal vector at the point until the slope would be within the range. Then we<br />

move the start point by the vector. This point will be the product of part 1 and, at the same time, another start point of the next iteration.<br />

Part 2 - By repeating this process, we continue to find another next point until it is close enough to the destination point. Then we connect<br />

all the points including start and end ones to get a shortest path which doesn’t exceed a specific slope.


afe slope. If yes, we move the<br />

the slope would be within the<br />

e time, another start point of<br />

algorithm design<br />

Prior to jump on scripting, very clear definition of the system needs to be thought out step by step. Key things<br />

were how to evaluate a slope at a certain point on the surface and iterate to find the optimal path between the two points.<br />

stination point. Then we conpe.<br />

PROCESS<br />

step 01<br />

Get the shortest path between two points<br />

on a surface (geodesic).<br />

step 03<br />

1) within the range<br />

2) steeper than maximum<br />

3) steeper than minimum<br />

step 03<br />

step 02<br />

Get a tangetn vector on the path at the<br />

point to get a slope angle. Slope can be calcuated<br />

by the angle between the tangent<br />

and Z-axis at the point.<br />

1) within the range<br />

2) steeper than maximum<br />

3) steeper than minimum<br />

step 03<br />

Check if the slope at the point is within the<br />

range between maximum and minimum<br />

slope. There might be three possible cases.<br />

step 04<br />

In this case, the tangent vector is steeper<br />

than the maximum so we want to find alternative<br />

route.<br />

1) within the range<br />

2) steeper than maximum<br />

3) steeper than minimum<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 2<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 3<br />

step 05<br />

Rotate the tangent vector along with the<br />

normal vector of the point 5 degrees at a<br />

time clock wise until the vector gets within<br />

the range between max and min slope.<br />

step 08<br />

Move the starting point by the vector (vector<br />

multiplied by a factor. The smaller the<br />

factor, the more accurate the process will<br />

be). Then we might need to pull the point<br />

back to the surface.<br />

step 06<br />

Do the same thing this time in count clock<br />

wise.<br />

step 09<br />

Repeat the process with the point that<br />

we’ve just got form the previous step.<br />

Do the iteration over until the output point<br />

is close enough to the destination point.<br />

step 07<br />

Compare the two to pick closer one to the<br />

destination point.<br />

step 10<br />

By connecting all those points including<br />

start and end ones, we get the path.<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 4<br />

COMPONENT ORIENTED DESIGN IN GRASSHOPPER VB - http://woojsung.com 5


GRASSHOPPER VB WORKSHOP - Unrolling Surface<br />

UNFOLDING CURVED SURFACE //<br />

DIGITAL MEDIA CLASS, HARVARD GSD 2013<br />

(re)fabricating tectonic prototypes, Spring 2013, Harvard, GSD - Leyre Asensio Villoria<br />

GH version 0.9.0014<br />

woojae sung . woojae.sung@yahoo.com . www.woojsung.com<br />

The goal of the definition is to generate curved surfaced approximation with triangles and automate unfolded map of the triangles on to<br />

x-y plane for digital fabrication.


Unrolling Surface - http://woojsung.com 3<br />

algorithm design<br />

Prior to jump on scripting, very clear definition of the system needs to be thought out step by step. Key things<br />

were how to approximate a curved surface using triangulation, and orient individual patches to xy plane for digital fabrication.<br />

PROCESS<br />

step 01<br />

Build a surface.<br />

step 04<br />

Triangulate patches.<br />

step 02<br />

Subdivide the surface into series of strips.<br />

step 05<br />

Keep a particular order so we can handle<br />

points and segments of each triangle easily<br />

in scripting.<br />

step 03<br />

Subdivide strips into series of patches.<br />

step 06<br />

Set a reference point for unrolling.<br />

Unrolling Surface - http://woojsung.com 1<br />

Unrolling Surface - http://woojsung.com 2<br />

step 07<br />

Move the reference point along with -y<br />

vector and the length of the first segment<br />

of the first triangle to get the 2nd point.<br />

step 10<br />

This time, use the 2nd segment of the first<br />

triangle as a starting point for the next iteration.<br />

Use the 3rd point of the first triangle<br />

as a reference point of second triangle.<br />

Then set a movement vector using the<br />

2nd segment of the flattened first triangle.<br />

Based on the length of the 2nd segment of<br />

the 2nd triangle and the movement vector,<br />

move the reference point.<br />

step 08<br />

Move the 2nd point along with y axis in<br />

the amount equal to the length of 2nd segment<br />

of the first triangle.<br />

step 11<br />

Rotate the point using the angle, this time<br />

clockwise, to get the 2nd point of the second<br />

triangle. 3rd point of the second triangle<br />

will be 2nd point of the first flattened<br />

triangle.<br />

step 09<br />

Rotate 2nd point with the angle between<br />

the first and second segments of the first<br />

triangle to get the 3rd point. Then using<br />

the 3 points, get a closed polyline which<br />

represents flatten 1st triangle.<br />

step 12<br />

Repeat the process but this time rotate<br />

point counter clockwise.<br />

Note that when index number of input triangle<br />

is 0, or even number or odd number,<br />

the process are slightly differ from each<br />

other in terms of rotation angle and setting<br />

up reference point.<br />

Unrolling Surface - http://woojsung.com 4


CELL PACKING //<br />

PARAMETRIC WORKSHOP, 2011<br />

The goal of the definition is to find an optimal combination of variables that meets the pre-defined requirements. Galapagos, built in<br />

equation solver in Grasshopper was used.


IDEA<br />

The idea was to create four component types, and then array / pack them together. Each component has only one variable, the angle between<br />

two lines, which are represented by solid red lines tangent to a circle in the center. Each angle varies within a predefined range, for example,<br />

TYPE A’s angle is in a range between 5 to 10 degrees, TYPE B’s in between 7 to 12, etc.. In the second step we array them based on a certain<br />

order, which we can modify later. Then in the last step we want to minimize the sum of distance D1 and D2 so the array can be packed as tight<br />

as possible. Since we have four independent variables, it seems quite tough to get the optimum angle value for each component by moving<br />

number sliders. To solve the optimum value for each number sliders, we will use Galapagos, built-in algorithm solver in Grasshopper.<br />

STEP01 COMPONENTS<br />

STEP02 INITIAL ARRAY<br />

VARIABLE<br />

ANGLE 01<br />

VARIABLE<br />

ANGLE 02<br />

VARIABLE<br />

ANGLE 03<br />

VARIABLE<br />

ANGLE 04<br />

TYPE A<br />

TYPE B<br />

TYPE C<br />

TYPE D<br />

STEP03 PACKED<br />

D1<br />

D2<br />

COMPONENT PACKING VB + GALAPAGOS - http://woojsung.com 01


COMPONENT PACKING VB + GALAPAGOS - http://woojsung.com 04<br />

DEFINING A COMPONENT<br />

In the first place, we are going to define a component using only Grasshopper’s built-in objects (then we will convert it to a custom VB scripting<br />

object). The first thing is to draw a line (we call it as Start Line) in Rhino in length of 20 and connect it to Grasshopper Curve Object. Then we<br />

get a mid point of the line to get a perpendicular line (we call it as Start Leg) in length of 2.5. Now we can get a tangential circle at the end of<br />

the perpendicular line. Then we rotate geometries including the Start Line and the Start Leg by a certain amount of angle to get the “End line”<br />

and “End Leg”.<br />

CUSTOM VB COMPONENT<br />

As you can see from the screenshot below, the custom VB component has three inputs and seven outputs, which are pretty familiar with us. If<br />

not, refer to the component process diagram in the previous page. What it does is basically same thing with the GH definition in the previous<br />

page. We supply a curve as the initial input geometry, radius of a circle as fixed number (though it is from a number slider), and pivot angle as<br />

a variable. Then we get series of outputs such as End Curve, End Leg, etc.. (002 component VB.ghx)<br />

INPUT GEOMETRY<br />

Start Line<br />

Circle /<br />

Pivot Cell<br />

End Leg<br />

End Line<br />

L = 0.5<br />

Start Leg Pt<br />

LENGTH = 2.5<br />

Center Pt<br />

RADIUS = 2.5<br />

ANGLE<br />

Start Leg<br />

Pivot Point<br />

End Leg Pt<br />

Why do we use VB component over GH Objects? If you don’t bother with the length definition like below, you don’t have to. However, you will<br />

find it much easier to do whatever you want to do as you get to know about VB Scripting better (Such a fantastic excuse!).<br />

01 A CENTER POINT 02 A PERPENDICULAR LINE 03 A CIRCLE 04 ROTATE BY ANGLE 05 ROTATE BY ANGLE<br />

GH DEFINITION<br />

Below is the screenshot of the definition ( 001 component GH objects.ghx ).<br />

COMPONENT PACKING VB + GALAPAGOS - http://woojsung.com 02<br />

COMPONENT PACKING VB + GALAPAGOS - http://woojsung.com 03<br />

CODE REVIEW<br />

Double click on the VB object, you will get a new window to edit VB script.<br />

L = 0.5<br />

INPUT GEOMETRY<br />

Start Line<br />

Start Leg Pt<br />

LENGTH = 2.5<br />

'defines start_leg_pt //////////////////////////////////////////////////////////////////////////////////////////<br />

End Line<br />

Circle /<br />

Dim s_pt As New point3d(start_crv.PointAt(0.5))<br />

Pivot Cell<br />

End Leg<br />

Center Pt<br />

L = 0.5<br />

start_leg_pt = s_pt<br />

Start Leg Pt<br />

RADIUS = 2.5<br />

• Any line that starts with ‘ means that the line is just a note / comment. This does not do anything. Start Leg<br />

• The second line defines variable “s_pt” as a new point, and assign a mid point of the input curve (“start_<br />

crv”) to it. Then assign “s_pt” to “start_leg_pt”, the output of the VB object.<br />

ANGLE<br />

Start Leg<br />

Pivot Point<br />

INPUT GEOMETRY<br />

Start Line<br />

LENGTH = 2.5<br />

Center Pt<br />

RADIUS = 2.5<br />

Circle /<br />

Pivot Cell<br />

Pivot Point<br />

'defines pivot_pt //////////////////////////////////////////////////////////////////////////////////////////////<br />

End Line<br />

Dim p_pt End Leg As New point3d(line_start.PointAt(1.0))<br />

pivot_pt = p_pt<br />

'defines pivot_cell ////////////////////////////////////////////////////////////////////////////////////////////<br />

Dim pivot_circle As New Circle(line_start.PointAt(1.0), pivot_cell_radius)<br />

ANGLE<br />

pivot_cell = pivot_circle<br />

• Define “p_pt” as a new point object, then assign the end point of “start leg (line_start)” to it.<br />

• Then we assign “p_pt” to ““pivot_pt”, the output of the VB object.<br />

• Define End Leg Pt “pivot_circle” as a new circle object, then assign a circle with given center(“pivot_pt”) and<br />

radius(“pivot_cell_radius”, the input of the VB object).<br />

• Assign it to “pivot_cell”, the output of the VB object.<br />

End Leg Pt<br />

01 A CENTER POINT 02 A PERPENDICULAR LINE 03 A CIRCLE 04 ROTATE BY ANGLE 05 ROTATE BY ANGLE<br />

L = 0.5<br />

INPUT GEOMETRY<br />

Start Line<br />

Start Leg Pt<br />

'defines End Line end_leg ///////////////////////////////////////////////////////////////////////////////////////////////<br />

INPUT GEOMETRY<br />

Start Line<br />

Circle /<br />

01 A CENTER POINT 02 A PERPENDICULAR LINE 03 A CIRCLE 04 ROTATE BY ANGLE 05 ROTATE BY ANGLE<br />

Pivot Cell<br />

End Leg<br />

Dim rot As transform = transform.Rotation(pivot_ang * math.PI / 180, vector3d.ZAxis, line_start.PointAt(1.0))<br />

'defines start_leg /////////////////////////////////////////////////////////////////////////////////////////////<br />

End Line<br />

Center Pt<br />

Dim rotated_leg As line = line_start<br />

Circle /<br />

Dim start_crv_start Pivot Cell As New Point3d(start_crv.PointAt(0.0))<br />

End Leg<br />

Center Pt<br />

Dim start_crv_end As New Point3d(start_crv.pointat(1.0))<br />

rotated_leg.Transform(rot)<br />

L = 0.5<br />

Start Leg Pt<br />

Dim original_vector As New Vector3d(start_crv_start - start_crv_end)<br />

end_leg = rotated_leg<br />

ANGLE<br />

Dim rotation_ang_start_leg As Double = math.PI / 2<br />

'defines end_leg_pt ////////////////////////////////////////////////////////////////////////////////////////////<br />

Start Leg<br />

Pivot Point<br />

Dim rotation_axis_start_leg As New Vector3d(0, 0, 1)<br />

s_pt.Transform(rot)<br />

ANGLE<br />

original_vector.Rotate(rotation_ang_start_leg, rotation_axis_start_leg)<br />

Start Leg<br />

Pivot Point<br />

end_leg_pt = s_pt<br />

End Leg Pt<br />

Dim line_start As New line(start_leg_pt, original_vector, pivot_cell_radius)<br />

'defines end_crv ///////////////////////////////////////////////////////////////////////////////////////////////<br />

start_leg = line_start<br />

End Leg Pt<br />

Dim st_line As line = start_crv<br />

01 A CENTER POINT 02 A PERPENDICULAR LINE 03 A CIRCLE 04 ROTATE BY ANGLE 05 ROTATE BY ANGLE<br />

st_line.Transform(rot)<br />

End Line<br />

Dim end_line_st_pt As New Point3d(st_line.PointAt(1.0))<br />

Dim end_line_end_pt As New Point3d(st_line.PointAt(0.0))<br />

Dim end_line As New line(end_line_st_pt, end_line_end_pt)<br />

end_crv = end_line<br />

LENGTH = 2.5<br />

RADIUS = 2.5<br />

• Define two points variables one at the start and the other at the end of the input curve (“start_crv”).<br />

• Then defines a vector, “original_vector”, using two points (We don’t care about the actual length of the<br />

1 A CENTER POINT 02 A PERPENDICULAR LINE 03 A CIRCLE vector).<br />

04 ROTATE BY ANGLE 05 ROTATE BY ANGLE<br />

INPUT GEOMETRY<br />

Start Line<br />

• We need to rotate the vector(blue arrow) 90 degrees clock wise to get a perpendicular Circle / vector (green arrow)<br />

in order to draw a perpendicular line, “Start Leg”.<br />

Pivot Cell<br />

End Leg<br />

Center Pt<br />

• To use ‘rotate method’, we first need to define rotation axis and angle. The angle should be 90 degrees<br />

(PI/2 in radians). And Z-direction vector will serve as a rotation axis.<br />

• Apply ‘rotate method’ to the existing vector. Methods can be applied followed by dot connector. Rotate<br />

method consist of two input variables such as rotation angle and axis. For more information, visit http://<br />

L = 0.5<br />

Start Leg Pt<br />

www.rhino3d.com/5/rhinocommon/<br />

• Then we define a line, “line_start”, by three variables; start point of line segment, direction of line ANGLE segment<br />

and length of line segment.<br />

Start Leg<br />

Pivot Point<br />

• Assign the line to “start_leg”, the output of the VB object.<br />

LENGTH = 2.5<br />

LENGTH = 2.5<br />

RADIUS = 2.5<br />

01 A CENTER POINT 02 A PERPENDICULAR LINE 03 A CIRCLE 04 ROTATE BY ANGLE 05 ROTATE BY ANGLE<br />

RADIUS = 2.5<br />

End Leg Pt<br />

• In this step, we will rotate “start line”, “start leg” and “start leg point” in a given angle, then assign them<br />

to the corresponding output variable: “end line”, “end leg”, and “end leg point”.<br />

• Define a rotation matrix. This will be handy since we will need to repeat the exact same transformation<br />

couple of times. A rotation matrix consists of angle, axis, and center point of rotation. Supply corresponding<br />

value from previously defined variable.<br />

• Define “rotated_leg” as a line and assign “line_start” to it. Then, rotate it by the rotation matrix.<br />

• Do the same thing for leg point and end line.<br />

• Unlike others, “end line / start line” is direction-sensitive. When we rotate “start line”, its direction will be<br />

reversed, so we need to flip the line.<br />

• Get the start and end point of the rotated line, “st_line”, and make another line, “end_line”, out of the<br />

points. Note how we supply start and end points to reverse the line.<br />

COMPONENT PACKING VB + GALAPAGOS - http://woojsung.com 05


COMPONENT PACKING VB + GALAPAGOS - http://woojsung.com 08<br />

USING A SUBROUTINE (FUNCTION) IN VB COMPONENT<br />

Now that we have a working custom object, we can copy and paste it multiple times to array all the components. However, copy and paste will<br />

cause the same problem that we had before. (003 subroutine component VB.ghx)<br />

Let’s open up the script editor and copy from “Private Sub ~” to “End Sub” as is shown below.<br />

We can be smart to use a subroutine in VB scripting. The idea is to define a subroutine, which is kind of a custom function within VB script, and<br />

call it whenever we need it, just as we use “line” function.<br />

line(start point, direction vector, distance)<br />

Let’s say that we want to make a subroutine called “FunctionA” which do something with two inputs and one output. Then one thing we should<br />

do is to define how it works, and the other is to call it and ask it to do whatever it supposes to do. The second part should be somewhere in VB<br />

scripting area, and the first part should be in “custom additional code” space (not sure how scripters call these). Also note that when we define<br />

a subroutine, “ByVal” means that it is an input variable, and “ByRef” means it is an output variable.<br />

FunctionA (ByVal input1, ByVal input2, ByRef output1)<br />

‘<br />

Sub FunctionA (ByVal input1, ByVal input2, ByRef output1)<br />

......<br />

End Sub<br />

‘<br />

Then paste it in between ‘ and ‘<br />

COMPONENT PACKING VB + GALAPAGOS - http://woojsung.com 06<br />

COMPONENT PACKING VB + GALAPAGOS - http://woojsung.com 07<br />

Then change the first part of the script as shown below. In this case, we call the subroutine as “component”.<br />

CODE REVIEW<br />

Double click on the VB component, you will get a new window to edit VB script.<br />

‘defines output parameters //////////////////////////////////////////////////////////////////////////////////////<br />

Dim pivot_cell_list As New List(Of circle)<br />

Dim pivot_pt_list As New List(Of point3d)<br />

Dim start_leg_list As New List(Of Line)<br />

Dim start_leg_pt_list As New List(Of point3d)<br />

Dim end_leg_list As New List(Of Line)<br />

Dim end_leg_pt_list As New List(Of point3d)<br />

Dim end_crv_list As New List(Of Line)<br />

• The first part defines main outputs. Since we want to visualize all the components, we should define the variables in the form of list.<br />

And we need to change inputs / outputs as shown below.<br />

We have same inputs such as input curve, circle radius, and pivot angles. In the mean time, we also need an additional string input that defines<br />

component type (A/B/C/D).<br />

‘defines output parameters of “component” subroutine /////////////////////////////////////////////////////////////<br />

Dim pivot_cell As circle<br />

Dim pivot_pt As point3d<br />

Dim start_leg As line<br />

Dim start_leg_pt As point3d<br />

Dim end_leg As line<br />

Dim end_leg_pt As point3d<br />

Dim end_crv As line<br />

• Those variables are the output of “component” subroutine. If we do not define these before we call “component” subroutine, Grasshopper<br />

will spit out error messages. Unlike outputs, we don’t have to worry about inputs of the subroutine, because they are already<br />

defined within the subroutine.<br />

‘defines rotation_ang ///////////////////////////////////////////////////////////////////////////////////////////<br />

Dim rotation_ang As Double<br />

• This defines “rotation_angle”. Why? Because this angle may vary depend on the type of component (A/B/C/D). So we first define the<br />

angle as an empty variable, then we assign specific value later based on component types.<br />

COMPONENT PACKING VB + GALAPAGOS - http://woojsung.com 09


COMPONENT PACKING VB + GALAPAGOS - http://woojsung.com 12<br />

‘checks component types and computes output based on the types /////////////////////////////////////////////////<br />

For i As Integer = 0 To celltype.Count - 1<br />

If i = 0 Then<br />

If celltype(i) = “A” Then<br />

rotation_ang = A_ang<br />

Else If celltype(i) = “B” Then<br />

rotation_ang = B_ang<br />

pivot_cell_list.Add(pivot_cell)<br />

pivot_pt_list.Add(pivot_pt)<br />

start_leg_list.Add(start_leg)<br />

start_leg_pt_list.Add(start_leg_pt)<br />

end_leg_list.Add(end_leg)<br />

end_leg_pt_list.Add(end_leg_pt)<br />

end_crv_list.Add(end_crv)<br />

Next<br />

• Add every single output for the current iteration to the lists, before the next iteration.<br />

Else If celltype(i) = “C” Then<br />

rotation_ang = C_ang<br />

Else If celltype(i) = “D” Then<br />

rotation_ang = D_ang<br />

End If<br />

component(int_line, r, rotation_ang, pivot_cell, pivot_pt, start_leg, start_leg_pt, end_leg, end_leg_pt, end_crv)<br />

• Now we multiply component based on component types supplied in the form of a list of strings (A/B/C/D).<br />

• Do iteration for a certain amount of times depends on the length of characters list. That is what “For i As ~ “ do.<br />

• If this is the first path of the iteration(if i = 0 then), we use “int_line” (one that we made in Rhino and supplied as an input geometry of<br />

VB object) as our input geometry for the subroutine. Else, we use “end_crv” from the previous iteration as the input curve.<br />

• Assign type specific rotation angle to variable “rotation_ang”. A_ang / B_ang / C_ang / D_ang are input parameters that we can adjust<br />

in number sliders.<br />

• Then finally we call the subroutine, “component”. Note that we supply “int_line”(input geometry), “r”(radius of a circle) and “rotation_ang”<br />

and we get “pivot_cell”, “start_leg”, “start_leg_pt”, “end_leg”, “end_leg_pt”, and “end_crv”.<br />

• As is mentioned, “end_crv” will be an input geometry for the next iteration.<br />

‘output /////////////////////////////////////////////////////////////////////////////////////////////////////////////<br />

A = pivot_cell_list<br />

B = pivot_pt_list<br />

C = start_leg_list<br />

D = start_leg_pt_list<br />

E = end_leg_list<br />

F = end_leg_pt_list<br />

G = end_crv_list<br />

• Put list variables to the corresponding output parameters so we can see the result in Rhino viewport.<br />

Else<br />

If celltype(i) = “A” Then<br />

rotation_ang = A_ang<br />

Else If celltype(i) = “B” Then<br />

rotation_ang = B_ang<br />

Else If celltype(i) = “C” Then<br />

rotation_ang = C_ang<br />

Else If celltype(i) = “D” Then<br />

rotation_ang = D_ang<br />

End If<br />

int_line = end_crv<br />

component(int_line, r, rotation_ang, pivot_cell, pivot_pt, start_leg, start_leg_pt, end_leg, end_leg_pt, end_crv)<br />

End If<br />

• Note that “end_crv” in the current iteration is assigned as “int_line” for the next iteration.<br />

COMPONENT PACKING VB + GALAPAGOS - http://woojsung.com 10<br />

COMPONENT PACKING VB + GALAPAGOS - http://woojsung.com 11<br />

STEP03 PACKED<br />

OPTIMUM SOLUTION BY GALAPAGOS<br />

To pack the components as tight as possible, firstly, we need to<br />

define two distance variables. As the sum of two gets smaller,<br />

the components will be packed tighter.<br />

(004 galapagos.ghx)<br />

D1<br />

• We get the first and last lines.<br />

• Then we get start and end points of<br />

them<br />

• Calculate distances, D1, D2.<br />

• Add two values.<br />

• Inverse the value, since Galapagos tries<br />

to find the maximum value.<br />

• Connect angle sliders to Galapagos’ Genome<br />

tab, and connect the inversed distance<br />

value to Fitness tab.<br />

• Double click on Galapagos object and go<br />

to the solver tab and hit start solver button<br />

on top.<br />

• Wait until it finished the calculation.<br />

D2


PARAMETRIC TOOL BASIC CONCEPTS //<br />

DIGITAL SERIES, SYRACUSE ARCHITECTURE 2010


Grasshopper Learning Material<br />

Syracuse Architecture / Apr 10th 2010<br />

by Woojae Sung / woojsung.com<br />

GH Version 0.6.0059<br />

ROTATION AXIS<br />

TYPE ‘REVOLVE’<br />

ENTER<br />

PROFILE CRV<br />

- TYPE ‘REVOLVE’<br />

- HIT ENTER<br />

- PICK PROFILE CRV<br />

- HIT ENTER<br />

- PICK ROTATION AXIS<br />

- HIT ENTER<br />

- TYPE ‘0’ AS START ANGLE<br />

- HIT ENTER<br />

- TYPE ‘360’ AS END ANGLE<br />

ENTER<br />

YOUR APPLE<br />

Chapter01<br />

Grasshopper Introduction<br />

ENTER<br />

PICK PROFILE CRV PICK ROTATION AXIS ‘0’ AS START ANGLE ‘360’ AS END ANGLE YOUR APPLE<br />

ENTER<br />

ENTER<br />

ROTATION AXIS<br />

PROFILE CRV<br />

- TYPE ‘REVOLVE’<br />

- HIT ENTER<br />

- PICK PROFILE CRV<br />

- HIT ENTER<br />

- PICK ROTATION AXIS<br />

- HIT ENTER<br />

- TYPE ‘0’ AS START ANGLE<br />

- HIT ENTER<br />

- TYPE ‘90’ AS END ANGLE<br />

YOUR APPLE<br />

TYPE ‘REVOLVE’<br />

ENTER<br />

PICK PROFILE CRV<br />

ENTER<br />

PICK ROTATION AXIS<br />

ENTER<br />

‘0’ AS START ANGLE<br />

ENTER<br />

‘90’ AS END ANGLE<br />

ENTER<br />

YOUR APPLE<br />

BUILD A TABLE WITH 10000 POINTS ON IT<br />

BUILD APPLES<br />

ARRAY THEM ON THE TABLE<br />

x 1250<br />

10000 POINTS<br />

x 1250<br />

10000 APPLES<br />

x 2500<br />

x 5000<br />

Chapter01 Grasshopper Introduction<br />

Basic Concept<br />

Grasshopper is a graphical algorithm editor. We work on real 2D/3D geometries with Rhino. With Grasshopper, we work on the algorithm<br />

behind those real geometries.<br />

Basic Concept : Apple Making Process<br />

In Rhino<br />

Below is an usual work process to make an apple in Rhino work environment. First we need to draw a profile curve and a rotation axis.<br />

Then, type in ‘Revolve’ then pick the profile and rotation curves with starting and ending angles. In this case, we supply 0 as the starting<br />

angle and 360 as the ending angle to get a whole apple.<br />

PROFILE CRV<br />

- TYPE ‘REVOLVE’<br />

YOUR APPLE<br />

- HIT ENTER<br />

PROFILE CRV<br />

- TYPE ‘REVOLVE’<br />

- PICK PROFILE CRV<br />

YOUR APPLE<br />

- HIT ENTER<br />

PROFILE CRV<br />

TYPE ‘REVOLVE’ - HIT ENTER<br />

YOUR APPLE<br />

- PICK PROFILE HIT ENTER - PICK ROTATION<br />

CRV<br />

AXIS<br />

- HIT ENTER<br />

PICK PROFILE - HIT ENTER CRV<br />

ROTATION AXIS<br />

- PICK ROTATION AXIS<br />

HIT ENTER - TYPE ‘0’ AS START ANGLE<br />

- HIT ENTER<br />

PICK ROTATION - HIT ENTER AXIS<br />

ROTATION AXIS<br />

- TYPE ‘0’ AS START ANGLE<br />

HIT ENTER - TYPE ‘360’ AS END ANGLE<br />

ROTATION AXIS<br />

- HIT ENTER<br />

TYPE ‘0’ AS START ANGLE<br />

- TYPE ‘360’ AS END ANGLE<br />

HIT ENTER<br />

- TYPE ‘360’ AS END ANGLE<br />

ENTER ENTER<br />

ENTER<br />

ENTER ENTER<br />

ENTER<br />

ENTER ENTER<br />

TYPE ‘REVOLVE’ PICK PROFILE CRV PICK ROTATION AXIS ‘0’ AS START ANGLE ‘360’ AS END ANGLE YOUR APPLE<br />

TYPE ‘REVOLVE’ PICK PROFILE CRV PICK ROTATION AXIS ‘0’ AS START ANGLE ‘360’ AS END ANGLE YOUR APPLE<br />

TYPE ‘REVOLVE’ PICK PROFILE CRV PICK ROTATION AXIS ‘0’ AS START ANGLE ‘360’ AS END ANGLE YOUR APPLE<br />

ENTER<br />

ENTER ENTER<br />

ENTER<br />

ENTER ENTER<br />

ENTER<br />

Your boss is not happy with this. He wants to change the mixing ratio of apples. You have two choices; do it again, or find another job.<br />

DO IT AGAIN, OR KILL YOUR BOSS AND GET A NEW JOB<br />

In Grasshopper<br />

In Grasshopper, you don’t work on the real geometries. Rather, you work on the logic behind the geometries. Once the apple making<br />

logic has been set up, you can change parameters such as starting and ending angles. Also you can change the shape of apples by supplying<br />

different profile curves as well as rotation axis. Or you can make multiple apples out of just one definition by supplying multiple<br />

angle values and/or profile/rotation curves to the definition.<br />

ROTATION AXIS<br />

TYPE ‘REVOLVE’<br />

ENTER<br />

PROFILE CRV<br />

PICK PROFILE CRV<br />

INPUTS<br />

ENTER<br />

PICK ROTATION AXIS<br />

ENTER<br />

- TYPE ‘REVOLVE’<br />

- HIT ENTER<br />

- PICK PROFILE CRV<br />

- HIT ENTER<br />

- PICK ROTATION AXIS<br />

- HIT ENTER<br />

- TYPE ‘0’ AS START ANGLE<br />

- HIT ENTER<br />

- TYPE ‘360’ AS END ANGLE<br />

‘0’ AS START ANGLE<br />

ENTER<br />

‘360’ AS END ANGLE<br />

ENTER<br />

YOUR APPLE<br />

YOUR APPLE<br />

What if we want to have only a quarter of an apple? Basically, we need to do the same thing again, but this time, we supply 0 as the starting<br />

angle and 90 as the ending angle.<br />

ROTATION AXIS<br />

ROTATION AXIS<br />

ROTATION AXIS<br />

ENTER ENTER<br />

PROFILE CRV<br />

PROFILE CRV<br />

PROFILE CRV<br />

ENTER<br />

ENTER ENTER<br />

ENTER<br />

- TYPE ‘REVOLVE’<br />

- HIT ENTER<br />

- TYPE ‘REVOLVE’<br />

- PICK PROFILE CRV<br />

- HIT ENTER<br />

TYPE ‘REVOLVE’ - HIT ENTER<br />

- PICK PROFILE HIT ENTER - PICK ROTATION<br />

CRV<br />

AXIS<br />

- HIT ENTER<br />

PICK PROFILE - HIT ENTER CRV<br />

- PICK ROTATION HIT ENTER - TYPE ‘0’<br />

AXIS<br />

AS START ANGLE<br />

- HIT ENTER<br />

PICK ROTATION - HIT ENTER AXIS<br />

- TYPE ‘0’ AS START ANGLE<br />

HIT ENTER - TYPE ‘90’ AS END ANGLE<br />

- HIT ENTER<br />

TYPE ‘0’ AS START ANGLE<br />

- TYPE ‘90’ AS END ANGLE<br />

HIT ENTER<br />

- TYPE ‘90’ AS END ANGLE<br />

TYPE ‘REVOLVE’ PICK PROFILE CRV PICK ROTATION AXIS ‘0’ AS START ANGLE ‘90’ AS END ANGLE<br />

TYPE ‘REVOLVE’ PICK PROFILE CRV PICK ROTATION AXIS ‘0’ AS START ANGLE ‘90’ AS END ANGLE<br />

TYPE ‘REVOLVE’ PICK PROFILE CRV PICK ROTATION AXIS ‘0’ AS START ANGLE ‘90’ AS END ANGLE<br />

ENTER ENTER<br />

ENTER<br />

ENTER ENTER<br />

ENTER<br />

ENTER ENTER<br />

ENTER<br />

YOUR APPLE<br />

YOUR APPLE<br />

YOUR APPLE<br />

YOUR APPLE<br />

YOUR APPLE<br />

YOUR APPLE<br />

OUTPUTS<br />

PARAMETERS<br />

SUPLY MULTIPLE INPUTS<br />

MODIFY INPUTS<br />

Now, your boss wants to have a table on which 5,000 apples, 2,500 three quarter apples, 1,250 two quarter apples, and 1,250 one quarter<br />

apples are distributed randomly. First you should make a table which has 10,000 reference points on it. Then make 4 different types<br />

of apple, copy and move one by one to the reference points. Don’t forget to count apples so as to make your boss happy.<br />

INPUTS<br />

10000 APPLES ARE<br />

UNDER YOUR CONTROL<br />

BUILD A TABLE WITH 10000 POINTS ON IT<br />

BUILD A TABLE WITH 10000 POINTS ON IT<br />

BUILD A TABLE WITH 10000 POINTS ON IT<br />

10000 POINTS<br />

10000 POINTS<br />

10000 POINTS<br />

BUILD APPLES<br />

BUILD APPLES<br />

x 1250<br />

BUILD APPLES<br />

x 1250<br />

x 1250x 1250<br />

x 1250<br />

x 1250x 2500<br />

ARRAY THEM ON THE TABLE<br />

ARRAY THEM ON THE TABLE<br />

ARRAY THEM ON THE TABLE<br />

10000 APPLES<br />

10000 APPLES<br />

10000 APPLES<br />

SUPLY MULTIPLE PARAMS<br />

MODIFY PARAMS<br />

PARAMETERS<br />

OUTPUTS<br />

x 2500<br />

x 2500<br />

x 5000<br />

x 5000<br />

x 5000<br />

GRASSHOPPER LEARNING MATERIAL<br />

CH01.3<br />

DO IT AGAIN, OR KILL YOUR BOSS AND GET A NEW JOB<br />

DO IT AGAIN, OR KILL YOUR BOSS AND GET A NEW JOB<br />

DO IT AGAIN, OR KILL YOUR BOSS AND GET A NEW JOB


Chapter02 Interface / Basic Knowledge<br />

Interface<br />

Grasshopper’s workspace is pretty similar to other windows applications. However, as a history/algorithm editor, it has some unique<br />

features like components/parameters, which eventually will be linked to each other to make a working definition.<br />

Interface : Workspace<br />

Main Menu<br />

File handling, copy/paste, undo/redo, interface/display setting, realtime solution toggle, etc..<br />

Shelves<br />

Chapter02<br />

Interface / Basic Knowledge<br />

Shelves are where all Grasshopper objects are listed by categories. Each shelve has its sub tabs which show limited numbers of items.<br />

To access to all available components/parameters, click on black title bar at the bottom.<br />

Canvas Tool Bar<br />

Short cuts for some frequently used commands such as ‘zoom extend’, ‘realtime solution on/off toggle’, ‘show/hide toggle’, ‘component<br />

on/off toggle’, and ‘bake command button’.<br />

Canvas<br />

Interface : Grasshopper Objects<br />

Grasshopper objects fall into two major categories, components and parameters, which will be covered later on this tutorial. However,<br />

before we move on, it is important to understand how Grasshopper objects are structured.<br />

Structure & Types of Grasshopper Objects<br />

INPUT TAB<br />

INPUT FROM OTHER COMPONENTS<br />

INPUT OPTION<br />

RIGHT CLICK TO CHANGE OPTIONS<br />

BODY<br />

RIGHT CLICK TO CHANGE OPTIONS<br />

OUTPUT OPTION<br />

RIGHT CLICK TO CHANGE OPTIONS<br />

OUTPUT TAB<br />

OUTPUT TO OTHER COMPONENTS<br />

INPUT TAB + INPUT OPTION + BODY + OUTPUT OPTION + OUTPUT TAB<br />

INPUT TAB + BODY + OUTPUT TAB<br />

BODY + OUTPUT OPTION + OUTPUT TAB<br />

INPUT TAB + INPUT OPTION + BODY<br />

Canvas is the main workspace where you work with lots of component/parameter to make an actual definition. To activate a component/parameter,<br />

click the component/parameter icon on a shelve and drop it on canvas by clicking somewhere on canvas. Once you<br />

drop it, you can move, delete, copy or paste as you do in other windows applications. You can also pan/zoom your working canvas with<br />

mouse button as you do in Rhino.<br />

Status Bar<br />

Grasshopper objects usually can be divided into 5 different parts; Input Tab, Input Option, Body, Output Option, Output Tab. However,<br />

depends on object types, some of them have only 3 parts as shown in the figure above.<br />

‘Input Tab’ is where an object get input from the output data of others. If you are not sure what kind of data should be connected to an<br />

input tab, you can check the tool tip by hovering your mouse point on top of the ‘Input Option’ character right next to the input tab. You<br />

can also access to an input option setting window by clicking right mouse button on the character. If you want to change data processing<br />

setting of an object, right click on the ‘Body’. ‘Output Option’ is pretty same with ‘Input Option’, where you can change some output data<br />

setting. ‘Output Tab’ is where output data stored so we can pass it to other Grasshopper objects.<br />

Object Connection<br />

To connect your output data to other Grasshopper objects, click on the white little bubble in ‘Output Tab’ and drag and drop it onto input<br />

tab(s) of other Grasshopper objects as shown in the figure below.<br />

drag mouse point<br />

release<br />

click & hold mouse button<br />

Displays information such as errors, warnings, etc..<br />

If you want to have multiple connection, hold your shift button while you connecting tabs as shown below.<br />

hold down shift button<br />

GRASSHOPPER LEARNING MATERIAL<br />

CH02.3


Object Status<br />

There are couple of different object colors which indicate the status of object.<br />

Basic Knowledge : Data Matching<br />

Data matching is one of key concepts of most parametric tools. Since a Grasshopper object deal with multiple data from different input<br />

sources, we need to have a clear logic on how to match data.<br />

default status without data<br />

preview on<br />

For example, let’s say that we have a Grasshopper object which draws a line out of two input points like below.<br />

object selected<br />

preview off<br />

default status with data<br />

object on<br />

We can also supply multiple points to get multiple lines at the same time as below.<br />

error<br />

object off (do not process data)<br />

Basic Knowledge<br />

There are some background knowledge you should understand before we move on.<br />

What if we have different numbers of points for each input? This may cause problem in drawing lines because the number of input<br />

points are not matching. If we set the data matching option as ‘Shortest list’ in option window, Grasshopper will draw lines based on<br />

short input list.<br />

Basic Knowledge : Coordination Systems<br />

Grasshopper provides couple of different coordination systems, some of which are familiar with Rhino users.<br />

A. XYZ (WORLD)<br />

B. UVW (SURFACE)<br />

Else if we set the data matching option as ‘Longest list’ in option window, Grasshopper will draw lines based on longest input list.<br />

Z<br />

V<br />

W (SURFACE NORMAL)<br />

(0,0,0)<br />

U<br />

X<br />

Y<br />

C. L (CURVE/CURVE ON SURFACE)<br />

D. t (CURVE/CURVE ON SURFACE)<br />

Or we can set the data matching option as ‘Cross reference’ in option window, in case we want to have crazy data matching.<br />

L = 0.0 L = 0.25<br />

t = 0.0 t = 12.5<br />

L = 0.75<br />

L = 1.0<br />

t = 37.5<br />

t = 50<br />

CURVE LENGTH = 1 (UNITIZED)<br />

CURVE LENGTH = 50 (REAL SCALE)<br />

GRASSHOPPER LEARNING MATERIAL<br />

CH02.5<br />

Basic Knowledge : Data Structure (Tree / Branch / List / Item)<br />

Grasshopper provides multi-dimensional data structure, which we call ‘Tree’. ‘Tree’ is composed of multiple ‘Branches’. Branches can<br />

have sub branches. Only the branches at the lowest hierarchy can have ‘List’. A list is a one-dimensional array containing items with<br />

index number.<br />

Let’s say that we have 4 lists, and each of them has 3 items in it. Numbers in round bracket in the figure below is item index number.<br />

(0)<br />

(0)<br />

(0)<br />

(0)<br />

(0)<br />

(0)<br />

(1)<br />

(1)<br />

(1)<br />

(0)<br />

(0)<br />

(0)<br />

(2)<br />

(2)<br />

(2)<br />

(2)<br />

(1)<br />

(2)<br />

(2)<br />

(1)<br />

(2)<br />

(2)<br />

(1)<br />

(1) (1)<br />

(2)<br />

(1) (1)<br />

(1)<br />

(0)<br />

(1)<br />

(0)<br />

(2)<br />

(2)<br />

(2)<br />

(1)<br />

(0)<br />

(1)<br />

(2)<br />

(1)<br />

(0)<br />

( 2)<br />

(1) (2)<br />

(0)<br />

( 2)<br />

{0:2} (1)<br />

(0) {0:1} (0)<br />

(1) (2)<br />

{0:1} {0:2} ( 2)<br />

(0)<br />

(2)<br />

(0)<br />

{0:1} {0:2}<br />

(1) (2)<br />

{0:3} (0)<br />

{0:0}<br />

(1)<br />

{0:3}<br />

(1)<br />

(2)<br />

(0)<br />

{0:0}<br />

(1)<br />

(2)<br />

(0)<br />

(2)<br />

(0)<br />

{0:3}<br />

(1) {0:0} {0}<br />

(1)<br />

(2)<br />

(0)<br />

{0}<br />

(0)<br />

{0}<br />

Branch is represented as form of numbers separated by semicolons in braces. Numbers in braces represent hierarchy, which means<br />

a branch can have any numbers of sub branches. The 4 lists from the diagram above can be mapped onto 4 branches as shown in the<br />

(1)<br />

figure below like {0;0}, {0;1}, {0;2}, {0;3}. And these branches can be merged as another branch which (0) is represented as {0}.<br />

(1)<br />

(2)<br />

(1)<br />

(0)<br />

( 2)<br />

(1) (2)<br />

(0)<br />

( 2)<br />

{0:2} (1)<br />

{0:3}<br />

(0) {0:1} (0)<br />

(1) (2)<br />

{0:3}<br />

{0:1} {0:2} ( 2)<br />

{0:2}<br />

(0)<br />

(2)<br />

(0)<br />

{0:2}<br />

{0:2}<br />

{0:3}<br />

{0:1}<br />

{0:1}<br />

(1) (2)<br />

{0:3} (0)<br />

{0:0}<br />

(1)<br />

{0:3}<br />

{0:2} {0:1}<br />

(1)<br />

(2)<br />

(0)<br />

{0:0}<br />

(1)<br />

(2)<br />

(0)<br />

(2)<br />

(0)<br />

{0:0}<br />

{0:3}<br />

{0:1}<br />

(1) {0:0} {0}<br />

(1)<br />

{0:0}<br />

(2)<br />

(0)<br />

{0}<br />

{0:0}<br />

{0}<br />

{0}<br />

{0}<br />

{0}<br />

(1)<br />

(0)<br />

(1)<br />

(2)<br />

(1)<br />

(0)<br />

( 2)<br />

(1) (2)<br />

(0)<br />

( 2)<br />

{0:2} (1)<br />

(0) {0:1} (0)<br />

(1) (2)<br />

{0:1} {0:2} ( 2)<br />

(0)<br />

(2)<br />

(0)<br />

{0:1} {0:2}<br />

(1) (2)<br />

{0:3} (0)<br />

{0:0}<br />

(1)<br />

{0:3}<br />

(1)<br />

(2)<br />

(0)<br />

{0:0}<br />

(1)<br />

(2)<br />

(0)<br />

(2)<br />

(0)<br />

{0:3}<br />

(1) {0:0} {0}<br />

(1)<br />

(2)<br />

(0)<br />

{0}<br />

Chapter03<br />

Parameters / Components<br />

{0}<br />

Below is complete map of data tree structure with one main branch, 4 sub branches, 4 lists, and 12 items.<br />

{0:3}(2)<br />

{0:3}(2)<br />

{0:2}(2)<br />

{0:3}(1)<br />

{0:2}(2)<br />

{0:3}(1) {0:2}(1)<br />

{0:3}(2)<br />

{0:1}(2)<br />

{0:2}(1)<br />

{0:2}(2)<br />

{0:1}(2)<br />

{0:3}(0)<br />

{0:3}(1)<br />

{0:1}(1)<br />

{0:0}(2)<br />

{0:3}(0)<br />

{0:2}(1) {0:1}(1)<br />

{0:1}(2) {0:0}(2)<br />

{0:2}(0)<br />

{0:3}(0) {0:2}(0)<br />

{0:1}(1) {0:0}(1)<br />

{0:0}(2)<br />

{0:1}(0)<br />

{0:0}(1)<br />

{0:2}(0) {0:1}(0)<br />

{0:0}(0)<br />

{0:0}(1)<br />

{0:1}(0)<br />

{0:0}(0)<br />

{0:0}(0)<br />

(1)<br />

(0)<br />

(1)<br />

(2)<br />

(1)<br />

(0)<br />

( 2)<br />

(1) (2)<br />

(0)<br />

( 2)<br />

{0:2} (1)<br />

(0) {0:1} (0)<br />

(1) (2)<br />

{0:1} {0:2} ( 2)<br />

(0)<br />

(2)<br />

(0)<br />

{0:1} {0:2}<br />

(1) (2)<br />

{0:3} (0)<br />

{0:0}<br />

(1)<br />

{0:3}<br />

(1)<br />

(2)<br />

(0)<br />

{0:0}<br />

(1)<br />

(2)<br />

(0)<br />

(2)<br />

(0)<br />

{0:3}<br />

(1) {0:0} {0}<br />

(1)<br />

(2)<br />

(0)<br />

{0}<br />

{0}<br />

GRASSHOPPER LEARNING MATERIAL<br />

CH02.7


(2)<br />

(1)<br />

(0)<br />

(1) (2)<br />

(0)<br />

(1)<br />

(0)<br />

( 2)<br />

(0)<br />

(1)<br />

(2)<br />

2nd ITEM INDEX = 1<br />

(2)<br />

(1)<br />

(0)<br />

(1) (2)<br />

(0)<br />

(1)<br />

(0)<br />

( 2)<br />

(0)<br />

(1)<br />

(2)<br />

Chapter03 Parameters / Components<br />

Create new data from scratch<br />

Parameters<br />

There are two major object types in Grasshopper; parameters and components.<br />

Parameters usually store data, while components do some action such as creating<br />

curves, surfaces, etc. For example, we need at least two curves to make a loft surface.<br />

Those curves are stored as form of parameter in Grasshopper, so we can do loft action<br />

out of the curves.<br />

Parameters : Geometry / Primitive<br />

PARAMETER<br />

COMPONENT<br />

Some parameters are not able to get data from Rhino object. For example, circle parameter does not provide connection with Rhino<br />

circle. Instead, it has a built-in option to draw a circle directly by providing radius and center point. The circle by the parameter is<br />

completely independent from any Rhino object. To make a circle using circle parameter, right click on it, select ‘set a circle’ from the<br />

popup, then draw a circle in Rhino view port.<br />

Parameters : Special<br />

Grasshopper provides three different ways of assigning data to parameters; referencing<br />

Rhino data, referencing Grasshopper data, and creating new data from scratch.<br />

Reference Rhino data<br />

Note : For more information about each<br />

parameter / component, right click and<br />

refer to help file.<br />

Special parameters are more about controlling, manipulating and representing data, rather than pure parameters. Four major roles;<br />

getting new input data, representing data, referencing data, and converting/modifying data.<br />

Get user input<br />

They are useful to get user input such as custom color, numeric number or boolean value.<br />

RHINO CURVE<br />

Represent data<br />

Represent data in graphical fashion. For example, Bar Graph parameter visualizes numeric input data using bar chart. Parameter<br />

Viewer parameter shows data tree structure in the form of simple table.<br />

PARAMETER<br />

COMPONENT<br />

Convert / Modify data<br />

Some parameters can work like bridges between Rhino and Grasshopper data. It is<br />

useful in getting inputs from rhino data. For example, to make a loft surface in<br />

Grasshopper, the first thing that we should do is to get curves from Rhino. To assign a<br />

Rhino curve to Grasshopper’s one, right click on curve parameter on Grasshopper<br />

canvas, select ‘set one curve’ from the popup menu, then select a curve from Rhino<br />

viewport. Now since they are connected to each other, when we move the curve in<br />

Rhino view port, we can see the Grasshopper curve follows it.<br />

Generate different type of data from user input. For example, Image Sampler parameter produces series of numeric data out of an<br />

input image file, by picking up RGB values of corresponding coordinates.<br />

Reference data<br />

Most of special parameters also can reference Grasshopper data.<br />

Reference Grasshopper data<br />

GRASSHOPPER CURVE<br />

PARAMETER<br />

COMPONENT<br />

Most of parameter also can reference Grasshopper data itself. It is pretty much like an<br />

internal bridge between data in Grasshopper.<br />

GRASSHOPPER LEARNING MATERIAL<br />

CH03.3<br />

Components<br />

Unlike parameters, components usually do something with input data from parameters or from other components. There are two<br />

major actions that components do; data manipulation and geometry creation. For example, some components calculate numeric data<br />

operations such as addition, subtraction, multiplication, or division. While some other components do some physical works like creating<br />

points, curves or surfaces.<br />

(1) (2)<br />

(0)<br />

{0:1}<br />

(2)<br />

(1) {0:0}<br />

(1)<br />

(0)<br />

( 2)<br />

{0:2}<br />

{0:3}<br />

(0)<br />

(1)<br />

(1) (2)<br />

(0)<br />

{0:1}<br />

(2)<br />

(1) {0:0}<br />

(1)<br />

(0)<br />

( 2)<br />

{0:2}<br />

{0:3}<br />

(0)<br />

(1)<br />

(0)<br />

(2)<br />

(0)<br />

(2)<br />

{0}<br />

{0}<br />

Components : Logic<br />

2nd BRANCH = {0:1}<br />

Components : Scalar<br />

Logic components are pretty much about data manipulation rather than physical works. They fall into four different categories; List/<br />

Sets, Tree, Script, and Boolean. List and Sets components manipulate list data. List data exist in the form of one dimensional array with<br />

item index numbers (refer to data tree section). Tree components control data tree itself rather than individual data item in the list (also<br />

refer to data tree section). Script components let users to make customized functions as well as components with VB.net / C# language.<br />

Boolean components provide stream control like gate and filters.<br />

List data handling (List / Sets)<br />

Scalar components calculate scalar operations such as addition, subtraction, multiplication, and division. Also some of them provide<br />

built-in functions like Log, Sine, Max, etc. We can also find some useful constants such as Pi in this shelf. However, the most important<br />

ones here is Interval (Domain in the later version of GH).<br />

Interval (Domain)<br />

List / Sets components deal with list data, one dimensional array of individual items. Every item in the list data has its own item index<br />

number starting from 0. For example, let say that we have 4 lists consisting of 3 items. We can retrieve every 2nd items from those lists<br />

by ‘List Item’ component. We can also cull every 3rd items from those lists by ‘Cull Nth’ component.<br />

{0:0}<br />

{0:1}<br />

{0:2}<br />

{0:3}<br />

{0:0}<br />

{0:1}<br />

{0:2}<br />

{0:3}<br />

Interval or domain is usually numeric data which has a starting and ending value. In Grasshopper, all objects with coordinate systems<br />

can be seen as domain or interval. For now, Grasshopper provides up to two dimensional domain. Curves could be treated as one<br />

dimensional objects which have t or L parameters (refer to the coordinate system section). Also, surfaces could be though of as two<br />

dimensional domain with U and V value (also refer to the coordinate system section).<br />

For example, a surface can be subdivided into several pieces by domains. Assume that the dimension of a surface is 10 in U direction<br />

and 8 in V direction. Grasshopper recognizes the surface as two dimensional domain; U:0~10 / V:0~8. If we split each domain into two<br />

sub domains like U:0~5,5~10 and V:0~4,4~8, we can subdivide the surface into 4 patches.<br />

{0}<br />

{0}<br />

U DOMAIN : 0 ~ 10<br />

U DOMAIN : 0 ~ 10<br />

0 ~ 5 5 ~ 10<br />

Tree structure handling (Tree)<br />

0 ~ 4 4 ~ 8<br />

V DOMAIN : 0 ~ 8<br />

V DOMAIN : 0 ~ 8<br />

Most of tree components deal with tree structure itself. In the previous example, if we want to retrieve 2nd branch, we can do that with<br />

‘Tree Branch’ component.<br />

GRASSHOPPER LEARNING MATERIAL<br />

CH03.5


Components : Vector<br />

Util<br />

Vector components create and control vectors, points and planes. This might sound weird because a point does not have direction or<br />

magnitude which vectors have in common. However, Grasshopper recognize a point as a vector, precisely as an ending point of a vector.<br />

A plane is a vector because it defines origine and three unit vectors (x,y,z) enabling us to use a plane as a sub coordinate system.<br />

Utility components do some special operations on curves. For example, we can invert the direction of a curve by ‘Flip Curve’ component.<br />

Z<br />

Z<br />

Components : Surface<br />

SUB COORDINATE SYSTEM<br />

@ (4,2,3)<br />

Z’<br />

X’<br />

POINT (4,2,3)<br />

Y’<br />

X<br />

Y<br />

X<br />

Y<br />

Surface components also fall into three categories; Freeform/Primitive, Analysis, and Util. Freeform/Primitive components create<br />

different types of surfaces out of input data such as points, curves, etc.. Analysis components get points or curves out of surfaces. Util<br />

components modify the property of surfaces.<br />

Components : Curve<br />

Freeform / Primitive<br />

Curve components fall into three categories; Primitive/Spline, Analysis/Division, and Util. Primitive/Spline components create different<br />

types of curve out of input data. Analysis/Division components get points or planes out of curves. Util components modify the property<br />

of curves.<br />

Primitive / Spline<br />

Freeform/Primitive components create surfaces based on user input. For example, with ‘Loft’ component, we can define a surface<br />

between multiple curves from Rhino.<br />

Analysis<br />

Primitive/spline components create curves based on user input. For example, with ‘Curve’ component, we can define a curve out of 4<br />

input points from Rhino.<br />

Analysis / Division<br />

Analysis components produce points or curves as the product of surface analysis processes. For example, by supplying an UV coordination<br />

of a point on a surface, we can get the normal vector of the surface on that point.<br />

Util<br />

Analysis/Division components produce points or planes as the product of curve analysis/division processes. For example, by supplying<br />

a number and an input curve, we can get equidistant points along with the curve.<br />

Utility components do some special operations on surfaces. For example, we can invert the direction of a surface by ‘Flip’ component.<br />

GRASSHOPPER LEARNING MATERIAL<br />

CH03.7<br />

Components : Intersect<br />

Components : Xform<br />

Intersect components fall into three categories; Boolean, Mathematical/Physical, and Region. Boolean components do boolean operations<br />

between closed planar curves as well as Breps. Mathematical/Physical components get points or curves between geometries<br />

where they intersect with each other. Region components do trim or split curves with any given geometries.<br />

Xform components fall into two categories; Affine/Euclidian and Morph. These components either transform or deform any given<br />

geometries. Affine/Euclidian do basic transform/deform actions such as scaling, rotating or moving geometries. Morph literally deform<br />

geometries.<br />

Boolean<br />

Affine / Euclidian<br />

Boolean components are pretty much same as the compound path commands of Adobe Illustrator such as union, intersection and<br />

subtraction (difference). They works with only closed planar curves or closed Breps.<br />

Besides the difference between Affine and Euclidian transform, they are basic transforming tools available in Grasshopper. They usually<br />

need reference points or vector for their 3D operations.<br />

Mathematical / Physical<br />

Morph<br />

Mathematical and Physical components are basically same in that they get intersecting geometries such as curves or points. However,<br />

Physical calculate the intersection based on purely physical characteristics, while Mathematical do it based on the mathematical definition<br />

of the geometries. For example, there are a line and a cylinder, and they meet at a point. Physically speaking, they meet at point A.<br />

However, mathematically, they intersect at two points. This is because the line is an infinite with a specific inclination when mathematically<br />

defined.<br />

Morph is one of the most powerful transformation/deformation tools in Grasshopper. For example, we can morph a pre-defined component<br />

into a twisted box on/in between surface(s). If you are familiar with the concept of Rhino Paneling Tools, you will see most of<br />

Morph components are pretty much about it.<br />

Physically Defined Line<br />

without Imaginary Line<br />

Mathematically Defined Line<br />

with Imaginary Line<br />

PHYSICAL INTERSECTION<br />

MATHEMATICAL INTERSECTION<br />

Region<br />

Region components split/trim curves with closed Breps or curves.<br />

GRASSHOPPER LEARNING MATERIAL<br />

CH03.9


PARAMETRIC DESIGN //<br />

SPEECH AT UIA SEOUL 2017<br />

@ SELECTIVE AMPLIFICATION / 2017 / SEOUL / KOREA


PARAMETRIC DESIGN //<br />

SPEECH AT UIA SEOUL 2017<br />

I would like to bring up the idea of bottom up design process in a context of parametric design. This molecular approach, as opposed to<br />

more traditional, top down design process, changed the way how we design certain things. The traditional design process where we set up<br />

holistic framework and gradually run down to specific parts still maintains good hold on most of design processes, but the new approach<br />

enables us to do something entirely new by doing things exactly in an opposite way.


SKETCHES //<br />

ARCHITECTURAL IDEAS<br />

@ SELECTIVE AMPLIFICATION / 2006 - 2018


Selective-Amplification is an architectural design studio<br />

heavily utilizing parametric design approaches and<br />

technologies, based in New York / Seoul. We believe<br />

architecture and design want be unique experiences that<br />

selectively amplify certain factors of our lives to make<br />

them more beautiful and enjoyable.<br />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!