Generative Algorithm 028

6_1_Deformations and Morphing

 
기하체(geometry)란 순수한 입방체뿐만 아니라 이것을 변형하여 디자인에 적용한 모든 것을 아우른다. Deformation과 Morphing은 순수한 기하체를 변형시키는데 사용되는 방법 중 하나이다.
이 둘은 자유로운 형상(free-form)을 만드는데 무척 강력한 힘을 가지고 있다. deformation에는 비틀기, 전단, 구부리기 (twist, shear, bend)등이 있으며 morphing은 기하체를 감싸는 경계를 만든 뒤 이 경계를 변형시켜 기하체의 전체적인 형상을 변형시키는 것이다.
간단한 deformation의 예를 살펴보자. 구(sphere)가 있다고 했을 때, 이것을 모두 감싸는 박스를 만들고 그것을 변형시키면 구 전체를 변형시킬 수 있다는 것을 쉽게 알 수 있다.

Bounding Box를 이용하여 객체를 변형시키기


기하체 각 부분의 좌표가 변하는 각도나 이동하는 정도에 따라서 우리는 이를 전단(shear), 구부리기(bend), 자유 변형(free deformation)등으로 나눈다. 이렇게 deformation을 해주기 위해서는 위처럼 기하체 전체를 box로 감싸서 변형시키거나 아니면 각각의 면을 나누어 변형시킬 수 있다. 혹은 하나의 꼭지점만을 이동시켜도 기하체를 변형시킬 수 있다. Grasshopper에는 기본적인 deformation을 위한 여러 component들을 제공하고 있다.
Animation에서 Morphing이란 하나의 장면에서 다른 장면으로의 전환이 부드럽고 끊김 없이 일어나는 것을 의미한다. 3d에서는 이것은 하나의 기하체를 감싸는 경계의 형상(boundary condition)이 변하여 다시 이것이 그 내부의 기하체를 변화된 경계에 맞는 형상으로 변회시키는 것을 의미한다. Grasshopper에서의 morphing 또한 같은 의미를 가진다. 예를 들어 <Box Morph> (XForm >Morph)의 경우에는 하나의 객체와 그것을 감싸는 box 모양의 경계(bounding box)를 기준으로 하여 객체를 다른 형상을 가진 경계(target box)에 알맞게 변화시켜주는 것이다. <Surface morph>는 surface를 기본으로 한다. 즉 surface 위에서 특정 영역을 설정한 뒤 그 위에 기하체를 옮겨놓고 그 높이를 조절할 수 있다.
<Box Morph>와 <Surface morph>은 XForm tab의 Morph panel에서 찾을 수 있다. Grasshopper를 이용하면 몇 가지 component를 이용하여 Box를 변형시킬 수 있다. 하나의 기하체를 변형된 box들을 target box로 삼아 <box morph>에 연결해주면 기하체를 쉽게 그릴 수 있다.
아래 그림의 경우 <geometry>를 이용하여 rhino상의 객체를 grasshopper에 연결시켰다. 모든 객체의 경우 그것이 시각화 되어있지는 않지만 그 주위에 bounding-box가 있다. 아래 그림에서는 필자가 직접 박스를 그려 이것을 시각화 시켰다. 또한 <center box>를 이용하여 다른 하나의 box를 그렸다.

rhino상의 객체와 grasshopper에 의해서 생성된 box



<box morph> XForm > Morph > Box morph)는 하나의 객체에 그것을 감싸는 bounding box가 있다고 가정한 뒤 그것을 target box와 비교하여 객체를 변형하고 이것을 target box내에 생성시켜 주는 것이다. <Bounding box> (Surface > Primitive > Bounding box)를 이용하면 객체를 감싸고 있는 bounding box를 시각화 시켜줄 수 있다. 아래의 경우 <box>의 preview를 꺼서 내부의 변형된 객체가 더 잘 보이게 하였다.

위의 그림에서 보는 것과 같이 bounding box의 크기를 변형시키면 이에 맞춰서 객체의 형상이 변하는 것을 볼 수 있다.

위 경우 복수개의 box를 생성시킨 뒤 이것들에 맞춰 객체를 변형시킨 것이다. 이처럼 <series>를 이용하여 각 box의 y방향 길이를 다르게 적용하였는데 객체 또한 이에 맞춰 변화되는 것을 볼 수 있다.

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