Generative Algorithm 015

3_8_평면 상의 기하학적 패턴 (On Planar Geometrical Patterns)

기하학적 패턴을 이용한 design은 Generative algorithm에서 다루고자 하는 디자인 이슈 중 하나로 grasshopper를 통하여 쉽게 구현할 수 있다. 또한 기하학적 패턴은 여러 분야의 design에 적용될 수 있다. 이를 위해서는 패턴을 보았을 때 패턴 속에 존재하는 수학적인 공리를 찾아내는 것이 중요하다. 이를 통해 기본적인 형상을 그리고 이것을 반복함으로써 패턴을 만들어낼 수 있다.

간단한 함수들과 data set, 그리고 수치 데이터를 이용하여 생성할 수 있는 형상과 고전적인 기하학 패턴을 살표보도록 하자.

 

간단한 선형 패턴(Simple Linear Pattern)

패턴 생성을 위한 기본 개념


먼저 패턴에 사용될 점들을 그려본 뒤 그것을 지나는 선을 그려보도록 하자. <series>를 이용하면 생성되는 값의 개수 (이 경우 점의 개수)와 그것의 사이 값(step size; 이 경우 점들 사이의 간격)을 조절할 수 있다. <series>를 이용하여 <pt>의 X 좌표를 지정해주자. (Y와 Z는 0으로 유지한다.)


위의 Grasshopper definition은 <series>와 <pt> 를 이용하여 필요한 점을 한 행 생성해본 것이다. 위의 경우 <receiver> (Params > Special > Receiver )를 이용하여 component들 사이의 선(wire)을 생략하였다. 좀 더 복잡한 definition을 만들게 될 경우 선이 너무 많아져 로직이 복잡해 보이므로 이것을 시각적으로 정리해주는 것이 좋다. 위의 경우 <pt>는 <receiver>를 이용하여 <series>에서 생성되는 수치 data list를 받아 이것을 점의 x좌표로 활용하고 있다.

지그재그로 가는 선을 만들기 위해서는 두 행의 점이 필요하다. 이를 만들기 위하여 <pt>를 복사, 붙여넣기 한 뒤 <number slider>를 이용하여 Y값을 준다. 그러면 두 번째 점의 행이 생기게 된다.

이제 점을 번갈아 가면서 선택하기 위해서는 <cull pattern>의 P에 True or False 값을 가지는 Boolean data를 넣을 수 있다. [1]

두 <cull pattern>을 <polyline>(curve > spline) 에 연결하면 위와 같이 Z자의 형태로 선이 그려지게 된다. 그 이유는 아직 점의 리스트가 첫 번째 줄의 첫 번째, 두 번째 둘의 두 번째, 첫 번째 줄의 세 번째, 두 번째 줄의 네 번째….와 같은 순서로 정리되어있지 않기 때문이다.[2]

점의 순서를 이렇게 바꿔주기 위해서 사용할 수 있는 component가 바로 <weaver> (logic > list) 이다. 이것은 여러 개의 data list를 P에 정의된 패턴을 적용하여 하나의 data list로 만들어주는 것이다.[3] 이제 이 것에 <polyline>을 적용시키면 지그재그 형태의 선이 생성된다.

같은 방식으로 각각 다른 Y값을 가지는 점들의 행을 만들어 준 뒤 또 다른 <weave>와 <polyline>을 이용하여 두 번째 지그재그 모양의 선을 생성할 수 있다.

같은 algorithm을 이용하여 세 번째 선을 생성해준다. <Pt>, <Cull>, <Weave>의 context menu를 이용하여 preview를 끄면 polyline만 남게 된다.

이때까지 생성한 definition을 모두 복사하고 붙여 넣은 뒤 <pt>의 Y 값을 음수로 주면 (기존 y에 들어가는 <number slider>의 값을 <f1 > f(x)=-x 에 연결하면 된다.) 대칭된 polyline을 얻을 수 있다. 거리를 조절해보면 패턴을 다른 형태와 스케일로 만들어낼 수 있다.

만약 <cull>이나 data list를 바꿔 점을 생성하는 방식을 바꾸면 그 결과는 무척 달라진다. 이것을 이용하여 좀 더 복잡성이 높은 패턴을 얻을 수 있다.

이것은 첫 번째 디자인의 결과물이다. 그 기본 개념이 계속적으로 반복되는 것이다. 이것을 사용자가 원하는 목적에 따라 이용할 수 있다.

위 예시는 우리가 그렸던 패턴을 이용하여 디자인을 할 수 있는 수백 가지 가능성 중 하나이다. 이 후 이것의 기본이 된 패턴을 조작하여 다른 디자인 결과물을 얻는 것을 연습해볼 것이다.
 
 
[1] 역자 주: 위 경우 위 <cull pattern>의 P에 false/true가 적용 된 것이고 아래의  <cull pattern>에는 true/false가 적용 된 것이다. <cull pattern>의 P를 우클릭 한 뒤 management Boolean collection을 선택하면 원하는 pattern을 적용시켜줄 수 있다. 이 때 true는 1, false는 0으로 써주면 true와 false로 인식이 된다.
 
 
[2] 역자 주: 위 경우 <polyline>에 들어오는 data list를 살펴보면 윗줄의 <cull pattern> 에서 나온 네 개의 점이 0,1,2,3 이고 아랫줄의 <cull pattern>에서 나온 점이 4,5,6,7,8번째 점이 되기 때문이다. 만약 아래 <cull pattern>을 <polylline>과 먼저 연결할 경우 선이 Z가 아닌 Z가 mirror된 것과 같은 모습으로 그려지게 된다.
 
 
[3] 역자 주: P에 적용된 기본 값은 0, 1 이다. 이것은 Boolean data가 아니라 0으로 input 되는 data list의 중 첫 번째 값을 받고 1로 input 되는 data list 의 첫 번째 값을 하나를 받은 뒤 0 data list의 두 번째 값, 1 data list의 두 번째 값, 0 data list의 세 번째 값, 1 data list의 세 번째 값,…의 순서로 data list를 만들어 달라는 것이다. 이 P 값에 적용되는 값을  0,0,1 로 바꾸면 0번 list 의 첫 번째 두 번째, 1번 list의 첫 번째, 0번 list의 세 번째 네 번째, 1번 list의 두 번째, 의 순서대로 data를 정리해준다.
 

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