Jacquard Weave Algorithm 04

3_3_4_Weaving Target surface by Pattern

Algorithm의 첫 번째 부분에서 사용한 <image sampler>는 우리가 준비한 pattern image를 각 cell의 밝기(brightness)정보에 근거하여 수치정보로 전환시켰다.  이는 pixel이 검은색인가 흰색인가에 최종적으로 직조되는 실이 어떤 지점에서 대상면의 위에 있고 어떤 점에서 아래로 가야하는지를 결정하게 된다. 두 번째 부분에서는 대상면을 나눈 sub-surface를 pattern image의 cell의 수와 비례하게 구한 뒤 각 sub-surface들의 중심점과 그 지점에서의 normal vector 값을 구하였다.

즉, 첫번째 <image sampler>에서 구한 값을 우리가 두번째 부분에서 찾아낸 normal vector의 <amplitude>값으로 입력하여 대상면 위에서 점의 이동 방향과 정도를 결정해주는 것이다. 이를 위해서는 먼저 data를 어떠한 방식으로 구조화 할 것인지에 대한 고민이 필요하다.

 

Figure 19


Figure 19 <image sampler>에서 나오는 값들을 살펴보자. 위 그림에서 초록색으로 변한 <panel>을 살펴보면 각 branch에 들어있는 data들이 이들이 모두 하나의 실수를 가지고 있다는 것을 알 수 있다. 다시 살펴보면 이들은 거의 대부분 0이나 1에 수렴할 뿐 0이나 1이 아님을 알 수 있다. (예를 들어 0.02, 0.004, 0.996, 0.988 등) 이는 몇 pixel의 경우 그 밝기가 data 적으로 완벽한 검은색(RGB: 0,0,0)이나 흰색(RGB: 255,255,255)으로 인식되지 않기 때문이다. Pattern을 명확하게 하기 위해서는 이를 0과 1로 고쳐주어야 한다.

 

Figure 20


Figure 20 <f1; round(x)>를 이용하면 x로 입력되는 값을 반올림을 해줄 수 있다. 이를 이용하여 모든 값들을 0 혹은 1로 바꾸어 줄 수 있다.

<image sampler>에서 추출된 값(evaluated value)들은 normal vector의 <amplitude>에 적용되어야 한다. 이때 vector의 방향값이 ‘양수(+)’인지 ‘음수(-)’ 인지에 따라 최종 결과물에서 모델링된 ‘실(yarn)’이 대상면의 각 지점에서 면의 위에 있는지 혹은 아래에 있어야 하는지가 결정된다. 이 말은 만약 vector의 길이(magnitude)가 어떤 지점에서 +2.345 라고 한다면 실의 기본이 되는 <interpolate curve>가 대상면의 해당 지점에서 2.345만큼 ‘위에’[1]있게 되는 것이다. 반대로 -2.345라면 해당 지점에서 2.345만큼 ‘아래’있게 되는 것이다. 이 vector의 방향값중 절대값을 parameter화 하여 designer가 원하는 만큼 입력하게 해주고, 그것의 부호를 pattern image의 흑과 백으로 결정해주면 된다.

 

Figure 21


Figure 21 위에서 말한 것 처럼 <image sampler>는 normal vector가 양수값을 가질 것인지 음수값을 가질 것인지를 결정해주어야 한다. 그러기 위해서는 앞서 구한 0과 1의 data list를 0은 -1로, 1은 1로 변환시켜주어야 한다. 이는 간단한 함수의 적용을 통해 구할 수 있다. <f1; (x+x)-1> 을 이용하면 0은 -1로, 1은 1로 변환되게 된다. 이로서 pattern image의 흑과 백에 의거하여 normal값의 vector를 구할 수 있게 되었다.

X=1 -> F(X)=(1+1)-1= +1

X=0 -> F(X)=(0+0)-1= -1

 

Figure 22


Figure 22 이제 vector의 강도, 즉 pattern의 ‘파동(corrugation)‘의 정도는 위와 같이 구할 수 있다.

 

Figure 23


Figure 23 <image sampler>로 부터 생성된 vector의 ‘강도값(amplitude)’


[1] Rhino에서 그린 면이 위로 향하고 있는지 아래로 향하고 있는지, U,V방향이 절대좌표의 x,y 축과 일치하는지에 따라 그 결과물이 달라질 수 있다. 이를 방지하기 위해서는 꼭 dir 커맨드를 이용하여 대상면의 normal 방향과 UV 방향을 확인하고 원하는 것으로 바꾸어 주도록 하자.

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