Generative Algorithm 019

4_3_Combined Experiment: Swiss Re

오늘날에 지어지는 고층건물들의 design concept은 모델링 방식과 연관되는 것이 많다. 이는 designer들이 더 빠르고 간편하게 다양한 제안을 하는 것을 가능하게 한다. “Foster and partners”에서 설계한 “Swiss Re” 의 모델링을 통하여 더 자세한 내용을 살펴보도록 하자.
 

Swiss Re Head Quarter, 30 St Mary Axe, London, UK, 1997-2004, Photos from Foster and Partners website, http://www.fosterandpartners.com.


 
모델링 과정을 간단하게 기술하자면 먼저 수직선상에 여러 개의 원을 그린 뒤 그것의 scale을 조절한다. 이는 건물의 전반적인 형태를 결정해줄 것이다. 그리고 이 원들을 연결하여 건물의 표면을 만든다. 이 표면에 입면의 구조체의 기본이 되는 삼각형을 배열할 것이다. 여기서 사용된 수치는 기본적인 비례를 얻기 위한 것으로 정확한 것은 아니다.
 
먼저 floor를 그려보도록 하자. 원래 건물은 원형이 아닌 톱니형이지만 이 예제의 편의상 원형을 사용하였다. 이 원형을 특정 높이로 복사한 뒤 scale을 조절하여 건물의 전반적인 형상을 잡아보자.
 

 
<scale> (XForm > Affine > Scale) 을 이용하여 주어진 원들의 scale을 조절한다. 이것에 필요한 input은 scale이 되는 기준점(이 경우 원의 중심)과 축적이 변경될 기하체이다. 이 <scale>의 G에 <move>로부터 나오는 원들을 물린다. Scale의 기준점은 각 원들의 중심점이 된다. <move>의 g 를 <centre> (Curve > Analysis > Centre) 에 연결시켜주면 각 원의 중심점을 찾을 수 있다. 이 <center>의 c를 <scale>의 c에 연결하면 각 중심점과 스케일이 data matching 되며 원들의 스케일이 바뀐다. F에 들어가는 것은 scale에 적용될 배율이다.
 
이 때 사용된 수치들은 모두 추측에 의한 값으로 가장 알맞은 형태를 찾기 위하여 수치를 바꿔가며 작업할 수 있다. 이 수치들은 모두 <num>에 저장 된다.[1]

이 원들을 <loft> (surface > freeform > loft)를 이용하여 연결해주면 처음 사진의 건물과 같은 곡면이 생성된다. 이제 입면을 그려보자.
입면 구조체들은 helix와 같은 형태를 띄고 있다. 이것의 실제 단면(cross section)은 다이아몬드 형태이나 보이는 부분만을 고려하여 이번 예시에서는 삼각형을 사용하도록 하겠다. 이것들을 <loft> 하면 입면 구조체를 그릴 수 있다.
먼저 적절한 위치에 이 기본 삼각형을 배열하도록 하자. 이를 위하여 입면을 가로지르는 curve를 만든 뒤 이것을 일정 간격으로 나누고 (division) 각 점 위에 삼각형을 배열해보도록 하겠다.

<end points>를 이용하여 각 원의 시작점과 끝점을 찾는다. 그리고 각 점을 지나가는 curve를 <interpolate> (curve > spline > interpolate)를 이용하여 그려준다.

이제 <divide>를 이용하여 <interpolate>에서 나오는 curve를 40등분 해준다. 이 N값이 클수록 커브가 부드러워 진다.

이렇게 등분된 점들이 바로 삼각형이 놓이는 평면의 원점이 된다. <polygon>을 이용하여 façade 위에 삼각형을 그린다. <polygon>의 S는 변(side)의 개수를 R은 외접원의 반지름(radius)을 의미한다. S에 3을 연결하고 <number slide>를 이용하여 적절한 수를 R에 넣어준다.

입면 구조체는 입면을 휘감아 올라가게 된다. 이를 위하여 삼각형들을 일정한 각으로 회전시켜주면된다. 이를 위하여 <rotate>가 필요하다. G는 기하체(geometry), A는 <Angle> p는 <plane>이다. <series>를 이용하여 angle 값을 만들어준다. 먼저 <divide>의 C에 사용된 40이라는 수를 c에 넣어준다. N은 각 삼각형의 회전 각도 값이다. 이 N값을 등차로 하는 40개의 수를 수열로 만들어 40개의 삼각형에 적용시켜준다. [2] 이 결과로 삼각형이 입면을 휘감아 올라가는 것을 확인할 수 있다.

 
이제 <loft>를 연결해주면 위와 같이 입면의 구조체가 생성되는 것을 볼 수 있다. 각도 값[3]을 조절하여 가장 이상적인 형태를 찾도록 하자.
 

정의역(Domains)

 
위에서 언급한 것처럼 <domain[4]>은 수의 범위이다. 실수(real number)를 이용하여 양 끝값을 정의해줄 수 있다. ‘실수(real number)’의 범위이므로 그 사이에는 무한개의 수가 있을 수 있다. 이 범위 내에 일정한 간격의 수열을 만들기 주기 위해서는 <range>가 필요하다.
 
이것을 이용하여 입면의 구조를 일정한 간격으로 skin 둘레에 배열해보자.

<domain>을 통하여 수의 범위를 0에서 360까지 주어준다. 그리고 <range>를 이용하여 이 범위를 10등분 해준다. 이 값을 <rotate>의 A에 연결해준다.[5] 그 결과물은 위와 같다.

이제 <mirror> (XForm > Euclidian > Mirror)를 이용하여 구조체들을 <YX plane>에 대칭 시켜준다. 이 결과로 skin 주변에 위와 같은 격자무늬가 생성된다.
Skin을 생성하는 <loft>와 구조체를 생성하는 <mirror>를 제외하고 preview를 꺼주면 위와 같은 모습이 된다. 위 예시를 통하여 “Swiss Re”를 간략하게 나마 모델링 해보았다.

위의 component들을 선택한 뒤 터진 계란프라이 모양의 ‘Bake Selected Objects’를 누르면 위와같은 rhino object를 생성할 수 있다.

최종 모델의 모습이다. Grasshopper를 활용하면 원래 건물과 완벽히 같지는 않더라도 간략한 모델을 짧은 시간에 생성할 수 있다.

 
입면을 자세히 보면 개중에 열리거나 하는 등 조금 다른 형태를 가진 것들이 있다. 이때까지 배운 것들을 잘 활용하면 이 또한 어렵지 않게 만들 수 있다.


[1] 역자 주: context menu에서 ‘manage number collection’을 사용한다.

[2] 역자 주: 엄밀하게 따지면 curve를 40등분 하기 때문에 점은 41개가 생기고 그러므로 삼각형 또한 41개가 된다. 저자의 방법대로 하면 제일 위에 있는 삼각형이 그 바로 아래 삼각형에 비하여 회전하지 않은 것을 확인할 수 있다. <series>의 C를 우클릭 한 뒤 expression에 c+1 을 넣어주면 c에 들어오는 값에 1을 더하여 input으로 활용하게 된다. 또한 <rotate>에 필요한 angle 값은 radian 값이다. 우리가 일상적으로 사용하는 각도값으로 바꾸기 위해서는 <rotate>의 A를 우클릭 한 뒤 expression에 rad(A)를 넣어주면 된다.

[3] 역자 주: 이 경우 series의 N 값이 바로 그 각도 값이 된다.

[4] 역자 주: 원문의 경우 그림<interval>이 사용되었으나 현재 버전에서는 <domain>으로 통합되었다.

[5] 역자 주: 이 경우 또한 마찬가지 이다. 위와 같은 결과를 얻기 위해서는 <rotate> A의 expression에 rad(A)를 넣어주어야 한다.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s