Generative Algorithm 030

6_3_Micro Level Manipulations

위의 예시처럼 하나의 component를 surface에 맞춰 배열하는 것은 design의 가장 일반적인 방법 중에 하나이다. 이것을 이용하면 면 위에 생성되는 module의 개수를 조절하고 그 높이를 바꾸는 것이 가능하다. 하지만 이것은 전반적인 형상을 바꾸는 것일 뿐 국지적으로 각 module을 조정해줄 수 있는 것은 아니다.
이번 예제에서는 국지적으로 각 모듈들을 조절해줄 수 있는 grasshopper definition을 짜보도록 하자. 앞서 살펴본 개념 중에 끌개(attractor)를 적용시켜 보도록 하자. 이것을 이용하면 각 모듈의 높이와 너비 등을 따로따로 적용시켜줄 수 있다.

기본적으로 필요한 component들을 살펴보자. 먼저 두 개의 곡률을 가진 면을 <surface>를 이용하여 grasshopper에 입력한 뒤 이것의 이름을 <Base_srf>로 바꿔주자. 또한 Rhino에서 그려준 원뿔을 <geometry>를 이용하여 연동시키고 이것의 이름을 <component>로 바꿔주자. 이제 <divide interval 2>를 이용하여 surface를 나눠주고, component는 bounding box를 이용하여 원뿔을 감싸는 최소한의 크기를 가진 box를 만들어준다. 이것은 후에 reference box로 쓰일 것이다. 이제 <scale>을 적용하여 bounding box의 크기를 조절해준다. 이는 후에 surface 위에 생성되는 원뿔의 크기를 조절하는데 사용된다.
<surface box>를 이용하면 면의 각 부분에 생기는 box의 높이를 조절해줄 수 있다. 여기서 이 높이를 하나의 절대값이 아닌 위치에 따른 상대 값을 적용시켜주도록 하자. 즉 <number slider>를 이용하여 하나의 수를 모든 box에 적용시켜 주는 것이 아닌, 위에서 이야기한 것처럼 끌개를 활용할 수 있다.
이제 끌개와 각 box 사이의 거리를 측정하여야 한다. 여기서 문제점은 바로 box의 어떤 점을 거리를 측정하는 기준점으로 삼느냐는 것이다. 이 예제에서는 각 box가 생성되는 면들의 중심점을 사용해주도록 한다.

위 그림을 보면 먼저 <divide interval2>과 <iso trim>(Surface > Util > Isotrim) 을 이용하면 면을 여러 개의 면으로 나눠줄 수 있다. 이렇게 생성된 면들의 중심점을 찾기 위해서는 <Brep area>(Surface > Analysis > BRep area)를 이용하면 된다. <Brep area>는 input의 실제 넓이(A; Area)와 그것의 중심점(C; Area centroid)을 출력해준다. Rhino상에 하나의 점을 그려준 뒤, 이것을 <point>를 이용하여 grasshopper에 연동시키고 <distance> 를 이용하여 각 점으로부터의 거리를 찾아준다.

이 <distance>의 출력값을 <divide>와 <number slider>를 이용하여 적절하게 나눠준다. 그리고 이 값을 <surface box>의 높이(H; height)값에 적용시켜준다. 이제 이 ‘끌개’의 위치를 바꿔주면 이것에 따라 각 box들의 높이가 변하게 된다. <surface box>의 S값에는 <base_srf>가, 그리고 D에는 <divide interval 2>가 적용된다.

이제 남은 것은 <component>, <Scale> 그리고 <surface box>를 <morph box>에 연결하여 원뿔을 각 box의 크기에 맞춰 복사해주는 것이다. 이때 이 scale factor를 조절하면 surface위에 있는 모든 원뿔들의 크기를 조절할 수 있고 또 끌개의 위치에 따라 그 길이를 조절할 수 있다.

마지막 모형


위에서 볼 수 있는 것처럼 각 원뿔은 국지적으로 작용하는 변인들을 받아드려 각기 다른 형상을 가지고 있다. 이것이 기본적인 끌개의 개념을 이용한 것일 지라도 매우 흥미로운 결과물을 낼 수 있는 것이다. 이제 morphing과 panelization의 활용이 항상 일괄적이지 않다는 것을 알 수 있다. 이제 다음 예로 넘어가보자.
 

2 thoughts on “Generative Algorithm 030

  1. Pingback: Geometricmind

  2. Pingback: Jacquard Weave Algorithm 02 « Geometricmind

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