Essential Mathematics for Computational Design 32 NURBS곡면

NURBS 곡면 (NURBS surfaces)

NURBS 곡면이란 두 방향을 향하는 NURBS 곡선들이 만드는 격자(grid)와 같다고 생각할 수 있습니다. NURBS 곡면의 형태는 U, V 방향의 차수와 각 방향에 있는 컨트롤 포인트의 개수에 의해 정의됩니다.
 

그림 32 NURBS 평면의 정의역


 
NURBS 곡면은 특정 부분을 잘라낼(trim) 수 있습니다. 잘려진 곡면은 잘리기 전 곡면의 내부에 원하는 형태의 폐곡선으로 새로운 경계를 설정해 주는 것입니다. 각각의 곡면은 그 외부 경계(outer loop)를 정의하는 폐곡선과, 그 외부 경계와 교차하지 않는 또 다른 폐곡선에 의한 내부 경계(inner loop)를 가지고 있게 됩니다. 이를 잘리지 않은 곡면(untrimmed surface)이라고 부릅니다.
 

그림 33 잘려진 (trimmed) NURBS 곡면


 
왼쪽에 있는 곡면은 잘린 부분이 없습니다. 오른쪽에 있는 곡면은 같은 곡면 이지만 그 내부에 타원형으로 생긴 구멍이 있습니다. 이러한 잘림(trimming)이 있어도 NURBS의 기본 구조는 변하지 않습니다.

 
 
NURBS 곡면의 특징 (Characteristics of NURBS surfaces)
NURBS곡면은 NURBS곡선에 비하여 하나의 방향이 더 있을 뿐, 그 둘의 특징은 매우 유사합니다. NURBS곡면은 다음과 같은 정보를 가지고 있습니다.
 
• 치수(Dimension): 일반적으로 3입니다
uv 방향의 차수(Degree): 차수에 1을 더한 위수(order)도 사용됩니다.
uv 방향의 컨트롤 포인트(Control points): 점들의 행렬
• 매듭 벡터(Knot Vector): 수들의 2차원 행렬
• 만약 곡면이 유리(rational)인 경우에는 이것을 명시해야 합니다.
 
3d 모델링 프로그램을 이용하면 쉽게 NURBS곡면을 생성할 수 있기 때문에 NURBS에 대한 자세한 사항을 알 필요는 없습니다. 곡면을 편집하는 중에 필요한 차수와 컨트롤 포인트를 쉽게 설정(rebuild)해줄 수 있습니다. 곡면 또한 곡선처럼 열리거나(open) 닫히거나(close) 부르러운(periodic)면을 가질 수 있습니다. 아래 표는 차수와 컨트롤 포인트의 개수, 그리고 열리거나 부드러움 여부에 따른 곡면의 유형별 정리입니다.

uv방향 모두 1차인 곡면으로 모든 컨트롤 포인트가 곡면 위에 있습니다.
u방향으로 3차이면서 v방향으로 1차인 열린(open) 곡면입니다.
곡면의 모서리에 컨트롤 포인트가 위치하고 있습니다.
u방향으로 3차이면서 v방향으로 1차인 뾰족한(non-periodic) 닫힌(closed) 곡면입니다.
곡면의 이음매에 컨트롤 포인트가 위치하고 있습니다.
이음매가 뾰족한(non-periodic) 곡면의 컨트롤 포인트를 움직이면 곡면의 이음매가 더욱 뾰족해지며 곡면은 더 이상 부드럽지(smoonth) 않게 됩니다.
u방향으로 3차이면서 v방향으로 1차인 부드러운(periodic) 곡면 입니다.

컨트롤 포인트가 이음매에 위치해있지 않습니다.

부드러운(periodic) 곡면의 컨트롤 포인트를 움직여도 곡면은 그 부드러움(smoothness)를 휴지합니다.


 

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