Object와 Entities

ASAP에서 어떤 형상을 만들다보면 Object와 Entity라는 용어를 접하게 되는데 이 둘에는 어떤 차이가 있는지 알아보자.

Object
는 Geometry의 보편적인 특성들(경계, 위치, 좌표, 광학적 특성)을 모두 포함하여 정의되고 ray와 반응해서 투과, 반사, 흡수, 산란등의 광학적 특성들이 계산된다. 반면, Entity는 Geome try의 보편적인 특성들이 정의되는 것은 동일하지만 ray와 반응하지는 않는다. 그리고 Geometry를 정의하고 난 후 OBJECT ‘DETECT’ 와 같이 Object라고 명명하지 않으며 INTERFACE를 정의하지도 않는다.

ASAP에서 만들어지는 모든 Geometry는 Entity가 된다. 그런데 만들어진 Geometry에 이름을 붙이고 광학적 특성을 설정해 주면 Object가 되는 것이고 그렇지 않으면 Entity로 남게 되는 것이다. 그럼 왜 이렇게 하는 것일까? 일반적인 경우에는 Object를 만들어서 사용하게 된다. 그러나 참조나 ray를 계산하는 범위를 지정하기 위한 Geometry가 필요할 때가 있다. 다음의 예를 보면서 Entity의 활용 방법에 대해서 생각해 보자.

▧ Object Building : Pipe를 하나 만든다고 생각해 보자. 그런데 pipe가 둥근 원으로 시작해서 사각형으로 끝난다면 이를 어떻게 만들까? 시작부의 원과 마지막부의 사각형을 그리고 이를 연결하면(Extruding) 프로그램이 알아서 중간 형상을 계산해 준다. 이때 필요한 것이 둥근 원과 사각형의 entity이다. 이들은 pipe를 만들기 위한 참조로 사용되었을 뿐이며 이 형상이 광학적인 특성을 가지지는 않는다.

아래 그림과 같이 EDGE로 만들어진 entity에는 OBJECT ‘name’ 과 같이 이름이 붙지 않으며 obj ect에만 OBJECT ‘name’ 처럼 이름이 붙는다. entity로 만들어진 형상은 광학적인 특성을 가지지 않기 때문에 그림의 pipe 앞면과 뒷면 같이 선(붉은색/검은색)만 만들어지고 면이 만들어지지 않는다. 반면 ‘EXTRUDING_OBJECT’라는 이름을 가진 object는 3D View에서 면이 만들어진 것을 확인할 수 있다. OBJECT 명령어 다음 줄에 .1 .2라고 쓰면 이 명령어 바로 앞의 entity와 2번째 앞의 entity를 서로 연결하라는 뜻이다. 그리고 이 연결된 object의 이름을 ‘EXTRUDING_OBJECT’라고 하라는 뜻이 된다. 더 자세한 내용은 ‘Edge로 Object 만들기’에서 다루게 될 것이다.

SYSTEM NEW
RESET

EDGE
  RECTANGLE  Z
  0  .5  .5  64  360

EDGE
  ELLIPSE  Z
  .5  .5  .5  64  360
OBJECT
  .1  .2  ‘EXTRUDING_OBJECT’

PLOT EDGES OVERLAY
PLOT FACETS
  71 71
RETURN

Object Building

그림 4.1 Object building

Note…
Entity를 가리키는 숫자 앞에 점을 찍는 것을 ‘상대적 이름 부여 방법’ 이라고 한다.  프로그램의 첫 줄에서 시작해서 아래로 차곡차곡 내려가면서 Entity를 가리키는 숫자도 커진다. 우리는 이 숫자를 통해서 Entity를 지정할 수 있다. 그런데, 프로그램이 길어지고 Entity가 많아지면 현재 Entity가 몇번째인지 알 수 없을때가 있다. 이때 사용하는 것이 상대적인 값을 이용해서 Entity를 가리키는 것이다. 명령어의 바로 앞에 있는 Entity가 .1이 되는 것이다. 숫자 앞에 마침표(dot)를 찍어주는 것이다. 이 방법은 어디에서나 시작할 수 있고 항상 시작하는 지점의 Entity가 .1번이 된다.table

▧ Bounding Entities : ASAP에서는 형상을 만들기가 쉽지 않다. 초보자들이 일반적인 3D-CAD나 LightTools보다 ASAP을 어렵게 느끼는 이유도 이것때문일 것이다. 사각형 평면에 둥근 구멍을 하나 뚫는다고 생각해 보자. 우선 구멍을 뚫기 위한 둥근 원을 하나 만든다. 이때 만들어진 둥근 원은 광학적인 특성이 필요 없기 때문에 Entity로 만들면 된다. 그리고 사각형을 하나 만들고 이름을 붙여주어 Object로 만들어 준다. 이미 만들어 놓은 둥근 원과 사각형을 반응시켜 구멍을 뚫으면 된다. 이처럼 형상을 만들때 필요없는 부분을 잘라내기 할 때 Entity를 사용한다.

아래 그림에서 검은색 둥근 원의 entity를 확인 할 수 있다. 그리고 둥근 원이 투영된 사각형에 둥근 구멍이 뚫여 있는 것을 확인 할 수 있다. PLOT EDGES를 통해 entity를 그렸기 때문에 3D View로 확인 할 수 있는 것이지 광학적으로는 아무런 작용을 하지 않는 것이 entity이다. 물론, entity를 통해 뚫려진 구멍으로는 빛이 통과하게 된다.

SYSTEM NEW
RESET

EDGE
  ELLIPSE  Z  .1  .25  .25  64  360

EDGE
  RECTANGLE  Z  0  .5  .5  4  360
OBJECT  ‘REC’
  BOUNDS  .2

PLOT EDGES OVERLAY
PLOT FACETS  71
RETURN

Bounding Entities

그림 4.2 Bounding Entities

▧ Field clipping Boundaries : Field는 Wave Optics에서 사용되는 용어이다. Ray가 전파되는 Field를 제한하기 위해 사용되어 지는데 여기서는 Wave Optics를 다루지 않기 때문에 깊이있게 얘기하지는 않겠다.

▧ Important-area Boundaries : 어떤 면에서 Rays의 산란이 일어나면 대부분 전방위로 퍼져나가게 된다. 그러나 설계에서 특정영역에만 관심이 있다면 전방위에 대해서 모두 계산하는 것은 낭비일 수 있다. 이렇게 전방위로 산란되는 빛에 edge로 특정 영역을 설정해 주면 edge로 전파되는 빛에 대해서만 계산을 하고 edge을 통과하지 않는 영역에 대해서는 계산을 하지 않는다. 따라서 그만큼 계산 양이 줄어들게 되고 속도도 빨리지게 된다. 그렇다고 edge 영역으로 빛이 집중되어 산란의 특성이 크게 계산되는 것은 아니다. 다만 필요없는 영역을 계산하지 않을 뿐이다.  아래  코드를 지금 단계에서 자세히 설명하지는 않겠다. 우선은 이렇게 사용된다는 정도만 알고 넘어가기 바란다.

SYSTEM NEW
RESET

MODEL
  LAMBERTIAN
.1

EDGES
  RECTANGLE  Z 
0  2  2
    SHIFT  Z  5
    ROTATE  Y  30

SURFACE
  PLANE  Z  RECTANGLE  1
OBJECT ‘DIFFUSER’
  SCATTER MODEL  1
    TOWARDS EDGE  1  50
GRID ELLIPTIC  Z  4  1  1   1  1   1  1
  SOURCE DIRECTION  0  0  -1
  ROTATE  Y  45  0  0
MISSED ARROW  10

PLOT EDGE OVERLAY
PLOT FACETS OVERLAY
TRACE PLOT COLOR  2
RETURN

Important-Area

그림 4.3 Important-area 영역 설정

 

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: