Generative Algorithm 023

5_4_Basic Parametric Components

5_4_1_Curve Evaluation

<evaluate curve> (Curve > Analysis > Evaluate curve) 는 input 인 T에 주어진 변수로 정의되는 curve위의 점을 찾아주는 것이다. input으로는 curve와 숫자인 parameter 이다.

<curve>위에 표시된 점은 <number slider>를 매개변수로 하는 점이다.



Rhino 상에 그려진 어떠한 curve라도 그 input으로 사용할 수 있으며 위 경우 <series>를 이용하여 복수개의 수를 가진 data list를 input으로 이용하여 각 수를 매개변수로 가지는 점을 찾아내었다. 여기서 <evaluate curve>가 오렌지색인 이유는 <series>에서 나온 값이 curve가 가진 영역을 넘기 때문이다. curve의 영역을 넘는 매개변수는 curve를 가상으로 연장하여 그 위에 점을 표시해준다.

<curve>의 output인 D는 curve의 영역 (영역 내의 최소값과 최대값)을 표시해준다. 위의 그림에서 처럼 <curve>를 우클릭 한 뒤에 reparameterize를 선택하면 curve의 영역이 0에서 1로 바뀌게 된다. 이제 0부터 1까지를 정의한 <number slider>를 이용하여 curve상의 모든 점을 찾아줄 수 있다. 이렇게 하면 사용자가 점의 위치를 예측하기 쉬우며 input으로 들어가는 수가 curve의 영역을 넘는 것을 방지할 수 있다.
비슷하면서도 유용한 component로는 <divide curve> (Curves > Analysis > Division)가 있으며 이것에 대해서는 다음에 살펴볼 것이다.

5_4_2_Surface Evaluation

Curve의 점을 정의하기 위해 사용되는 매개변수는 하나이다. 반면 surface 상의 점을 정의할 경우에는 U와 V 각각에 해당하는 값이 필요하다. <evaluate surface> (Surface > Analysis > Analysis) 를 이용하면 면 위의 한 점을 정의할 수가 있다.
<point> 를 이용하면 X를 U값으로, Y를 V 값으로 인식하여 점을 찾아줄 수 있다. Z 값은 무시된다.

UV값은 <number slider>로 input해줄 수 있고 surface를 S를 우클릭하고 context menu에서 reparameterize를 선택해주면 0과 1사이의 값으로 점을 찾아줄 수 있다. U와 V값을 바꿔가며 점의 위치를 바꿔보자. (여기서 X,Y,Z를 각각 U,V,-로 바꿔주었다.)

위의 경우 <point>를 이용하여 UV 값을 넣어주었지만 그 외에도 여러 가지 방법으로 복수개의 점을 찾아줄 수 있다. <

Surface를 uv 방향으로 원하는 수만큼 가상으로 나눈 뒤 각 교차점을 찾기 위해서는 <divide surface>를 이용할 수 있다. <frame>은 그 점을 원점으로 하는 평면(plane)을 정의해줄 수 있다.

5_4_3_Curve and Surface Closest Point

Curve나 surface 상의 점을 찾기 위해서 항상 parameter를 이용해야  하는 것은 아니다. 가끔은 이 t나 uv의 값을 알아낸 뒤 다음단계에 이 data를 이용해야 할 수 있다. Curve와 surface가 있을 때 어떤 점으로부터 각 객체 상의 가장 가까운 점을 찾고자 할 때는 <Curve CP>나 <surface CP> (curve/surface closest point)를 이용할 수 있다.

 

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