Surface와 Edge

ASAP은 일반적인 3D CAD 나  LightTools 같은 프로그램과 달리 한번에 입체적인 형상을 만들 수 없다. 다만 점, 선, 면등을 통해서 사용자가 직접 원하는 3차원 형상을 만들어 주어야 한다. 그럼 왜 ASAP은 3D CAD들 처럼 3차원 형상을 바로 만들지 않는 것일까?

ASAP™ Primer는 다음과 같이 그 이유를 밝히고 있다. ‘광학 현상들이 일어나는 일반적인 장소는 surface이다. 광선이 입체 안을 지날때는 아무런 영향을 받지 않고 직진하다가 surface를 만나면 굴절에 의해 광선의 방향이 바뀌게 된다.’ 즉 실제적인 광학 현상들은 입체가 아닌 surface에서 일어나기 때문에 surface에서 일어나는 현상을 다루는 것이 훨씬 합리적이고 효율적이라는 것이다. 그래서 ASAP에서 입체를 만들기 위해서는 surface들을 만들고 이들의 위치 조정이나 자르기 등의 옵션을 통해서 원하는 입체를 만들어 주는 과정이 필요하다. 이런 방식을 NURBS(Non-uniform rational B-spline) 라고 한다. NURBS를 이용한 대표적인 CAD 프로그램이 Rhinoceros(http:www/ rhino3d.com)이다.

Surface는 ASAP에서 광선 추적을 할 때 간단한 수학 계산으로 광경로를 알 수 있게 해준다. 그러나 단순한 수학 계산으로 광경로를 추적하기 때문에 복잡한 형상을 모델링하여 광경로를 계산하기는 어렵게 되어있었다. ASAP 프로그램이 만들어진지 얼마 되지 않았을 때는 surface type이 geometry를 형성할 수 있는 유일한 방법이었다. 그러나 Geometry가 복잡해지면서 surface 만으로 해결되지 않는 문제들이 발생하게 되었고 그래서 등장한 것이 edge다.

Edge는 ASAP™ Primer에서 “edge는 원래 CAD 프로그램으로부터 geometry를 받아들일 수 있게 하기 위해서 추가되었다.”고 얘기하고 있다. ASAP의 edge는 연결된 점들의 집합이다. 즉 우리가 나중에 배울 POINTS라는 명령어를 이용해서 EDGES를 만들 수 있다. 다시 말하면 “EDGESPOINTS를 이용해서 우리가 자주 사용하는 어떤 일정한 형태의 모양을 미리 만들어 놓은 것이다”라고 할 수 있다. 이러한 edge들은 parameterized 함수인 Bezier 다항식에 기반한 직선이거나 혹은 부드러운 곡선이다. Bezier에 대해서는 ASAP Tutorial Guide나  More about Edges, 인터넷 검색등을 통해 좀 더 깊이있는 내용을 확인 할 수 있을 것이다.

EDGESSURFACES를 통해 동일한 형태의 object를 만들어 분석한다고 할 때 EDGES 기반의 형상이 SURFACES 기반의 형상보다 광선 추적에 더 많은 시간이 소요된다고 한다. 그래도 edge를 사용하는 이유는 광선추적은 느려지지만 Surface에서 정의하기 어렵거나 불가능한 구조를 모델링 할 수 있기 때문이다. 어떤 명령어를 사용해서 형상을 만들것 인지는 경우에 따라 달라질 수 있고, 그 판단은 설계자의 몫이다.

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 )

Google photo

You are commenting using your Google 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 )

Connecting to %s

%d bloggers like this: