Generative Algorithm 022

Chapter_ 5_Parametric Space

우리가 다루고 있는 공간 속의 객체에 대한 기하학적 탐구를 통하여 디지털을 이용한 형태와 구법(tectonic)의 재현과 기하학적 요소들의 분절과 결합 그리고 형태를 생성시키는데 필요한 다양한 방식들을 살펴보도록 하자. 이것은 대칭과 같은 고전적인 기하학적 개념에서 붙터 NURBS와 Mesh에 이르는 패턴까지 다양하다.
우리는 객체(object)를 다루게 된다. 이러한 객체의 종류는 박스(box), 구(sphere), 고깔(cone), 곡선(curve), 면(surface) 그리고 이것들에 의해 생성되는 모든 것을 말한다. 공간 내에서 그것들이 존재하는 방식에 대해서 설명하자면, 점(point)는 0-dimensional, 곡선(curve)는 1-dimensional, 곡면(surface)[1]는 2-dimensional, 그리고 입방체(Solid)는 3-dimensional한 객체이다.
우리는 좌표계를 이용하여 공간 내에서 객체의 위치와 방향, 그리고 치수등의 기본적인 사항을 표현할 것이다, 데카르트 좌표(Cartesian coordinate)은 3차원의 공간으로 원점 O=(0,0,0) 그리고 이 점을 X,Y,Z 방향으로 가로지르는 세 개의 축을 가지고 있다. 이 3차원 공간좌표는 2차(평평한 공간flat space (x, y)) and one-dimension (선형공간;linear space (x)) 와 1차 공간 좌표 또한 표함 한다. 우리가 매개변수를 이용한 design (parametric design)이란 이처럼 자유로운 형태를 가지는 곡선과 면에는 어떠한 매개변수가 있고 이것을 어떻게 이용하여 design을 할 수 있는지를 살펴보도록 하겠다.

5_1_1차 매개변수 (One Dimensional (1D) Parametric Space)

X축이란 무한한 선으로 축 내부의 위치에 따른 수치 값을 가지게 된다. 간단하게 말해서 x=0 은 원점을 의미하고 x=2.35 란 양의 방향으로 2.35 unit 만큼 떨어져 있는 것을 의미한다. 이러한 1차원 좌표는 공간내의 어떠한 곡선에도 적용시킬 수 있다. X축이 축 위에 있는 한 지점의 위치를 실수(real number)로 표현하는 것처럼, 곡선 위에서도 여러 실수를 이용하여 각 위치상의 점을 표현할 수 있다. 즉 공간에서 1차원의 매개변수가 의미하는 것은 바로 점(point)이다. 이것의 위치는 실수로 표현될 수 있다.
우리가 다루게 되는 것은 단지 X축만을 가진 계(world)가 아니라는 것이다. 모든 곡선이 고유의 매개변수를 가지고 있으며 이것은 그 객체가 속한 데카르트 좌표계(universal measurement)의 그것과 명확하게 일치하지 않는다. Grasshopper에서 사용되는 매개변수는 0으로부터 시작하여 양의 정수로 끝나게 된다. (그림 5.1 참조)[2]

곡선 위에 있는 1차원 매개변수. 곡선위에 있는 점은 양수 t를 이용하여 찾을 수 있다.


아래 그림을 살펴보면 더욱 명확하다. 곡선 위의 점을 p를 그것의 공간좌표인 p(x,y,z)로 정의하는 것이 아니라 p=t 라는 특정한 매개변수를 이용하여 정의하는 것이다. 물론 이 점은 공간좌표로 p(x,y,z)로 치환이 가능하다. (그림 5.2 참조)

5_2_2차 매개변수 (Two Dimensional (2D) Parametric Space)

두 개의 축을 가진 공간좌표는 무한한 평면(infinite flat surface)과 같다. 이 평면 위의 모든 점은 p(x,y)라는 좌표로 표현된다. 2차 매개변수 또한 1차 매개변수와 마찬가지 이다. 어떠한 면 위의 점을 정의할 때 그 면이 속한 좌표계 내에서의 좌표뿐만 면 고유의 매개변수로 표현해줄 수 있다.
다시 말해서 곡면이 있다고 했을 때 이 곡면상에 U와 V라는 두 방향으로 가상의 선들이 있다고 보고 선들의 교차점을 이용하여 점을 정의하는 것이다. 이렇게 되면 점은 P=(U,V)로 표현될 수 있다.
즉 어떤 면 위의 점을 면이 속한 데카르트 좌표계의 좌표뿐만 면 고유의 UV 매개변수(parameter)로 표현이 가능하다.

UV와 2d 매개변수


이러한 매개변수(parameters)들은 각각의 면 위에 고유 값으로 존재하며 데카르트 좌표 시스템처럼 포괄적인 (generic) data가 아니다. 그렇기 때문에 이것을 우리는 Parametric이라고 부를 수 있다. 이를 이용하면 면 위의 어떠한 점도 정의할 수 있다.

point P=(U,V)는 좌표계의 p=(X,Y,Z)와 같은 점을 정의한다.

5_3_매개변수와 데카르트좌표, 고유번호 (Transition between spaces)

parametric design을 하기 위해서는 고유의 매개변수(parameter)뿐만 아니라 데카르트 좌표 (the world coordinate system)를 모두 이용할 수 있어야 한다. 객체를 생성하거나 이를 전환(transformation)[3]시키기 위해서는 객체 고유의 매개변수뿐만 아니라 데카르트 좌표정보 모두가 필요하기 때문이다. 이러한 전환과 이용이 Scripting에서는 더욱 복잡하나 grasshopper의 경우 scripting 처럼 코드가 아닌 시각화된 인터페이스를 가지고 있기 때문에 어떠한 기능을 하는데 매개변수가 필요한지 데카르트 좌표가 필요한지를 쉽게 알 수 있다.
또 한가지 이용할 수 있는 것은 data의 고유 번호(index number)이다. 만약 여러 개의 data나 점,선, 면등의 객체를 하나의 data list에 넣어야 할 경우 각각의 것에 index number를 부여된다. 즉 객체를 정의하고 이것을 이용하기 위해서는 그 객체가 data list 내에서 가진 index number로 객체를 식별해줄 수 있는 것이다. 이 index number는 0부터 시작한다.
grasshopper를 이용하여 design을 하게 되는 위 세가지 정보를 모두 이용할 수 있어야 한다.

여러 객체의 집합이 있을 경우 Index number 를 주면 그것을 불러 사용하기 훨씬 편하다. 이러한 index number는 0부터 시작한다.


[1] 곡선과 곡면으로 번역하였지만 넓은 의미에서 선과 면도 포함한다.
[2] Grasshopper 에서 <evaluate curve>에서 t에 수치를 입력해주면 바로 그 수치만큼의 길이에 해당하는 점을 찾아주게 된다. 이 때 C를 우클릭하여 reparametize를 해주면 점의 시작점은 t=0일 때, 끝점은 t=1 로 바뀌게 된다. 그리고 곡선위의 점은 0과 1사이의 실수로 표현할 수 있게 된다. 이 값은 곡선 내부에 독립적으로 존재하는 매개변수로 곡선이 속한 데카르트 좌표계의 좌표값과 상관이 없다. 이것은 NURBS의 개념으로 연결된다. 더욱 자세한 내용은 Essential Mathematics for Computational Design을 참고.
[3] 역자 주: 변환에 대한 자세한 내용은
아핀변환: https://geometricmind.wordpress.com/2010/11/24/essentail-mathematics-for-computational-design-15/
회전변환: https://geometricmind.wordpress.com/2010/11/26/essential-mathematics-for-computational-design-16/
스케일 변환: https://geometricmind.wordpress.com/2010/11/28/essential-mathematics-for-computational-design-17/
전단 변환: https://geometricmind.wordpress.com/2010/11/29/essential-mathematics-for-computational-design-18/
평면투영변환: https://geometricmind.wordpress.com/2010/11/29/essential-mathematics-for-computational-design-19/
을 참고

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