Multiple BOUNDS

이전까지는 하나의 면으로 하나의 object를 잘라내기 하였다. 이제부터는 칼의 사용방법을 알았으니 멋진 조각 작품을 만들어보자. 우선 구 하나와 칼날로 사용할 3개의 Entities를 만들어 보자.

SYSTEM NEW
RESET

SURFACE
  PLANE X 0 RECT 1 1
  PLANE Y 0 RECT 1 1
  PLANE Z 0 RECT 1 1
  ELLIPSOID 1 1 1 0 0 0
OBJECT ‘OBJECT_ELLIPSOID’    

WINDOW Y X
PLOT ENTITIES OVERLAY
PLOT FACETS
73 73
RETURN

MULTI_00
그림 6.12 BOUNDS를 위한 Object와 Entities

여기서 한가지 알 수 있는 것은 PLOT ENTITIES와 PLOT FACETS 명령어를 통해 그려진 그림 6.12처럼 OBJECT ‘OBJECT_ELLIPSOID’ 명령어는 SURFACE의 마지막에 선언된 ELLIPSOID에만 적용되었다. 그 앞에 선언된 3개의 PLANE은 여전히 Entity로 남아 있는 것을 확인할 수 있다.

아래 프로그램은 BOUNDS .2 .3 .4 명령어로 하나의 Object를 여러개의 칼날로 한번에 잘라내는 방법이다.

SYSTEM NEW
RESET

SURFACE
  PLANE X 0 RECT 1 1
  PLANE Y 0 RECT 1 1
  PLANE Z 0 RECT 1 1
  ELLIPSOID 1 1 1 0 0 0
OBJECT ‘OBJECT_ELLIPSOID’
  BOUNDS  .2  .3  .4                    !! and 연산으로 한번에 여러면 잘라내기    
WINDOW Y X
PLOT FACETS
73 73
RETURN

MULTI_01
그림 6.13 BOUNDS의 AND 연산 결과

그림 6.13을 보면 알 수 있듯이 BOUNDS 명령어 다음에 나열된 objects 들은 and 연산으로 계산된다. 즉, X, Y, Z축 모두 +축에 있는 부분이 남게 된다. 그러면, BOUNDS .2 .3 .4를 다음과 같이 변경해 보자. 변경되는 부분은 BOUNDS 명령어 다음에 MULTIPLE 옵션을 추가하는 것이다.

MULTI_02
그림 6.14 BOUNDS의 OR 연산 결과

BOUNDS  MULTIPLE  .2  .3  .4

이렇게 BOUNDS 명령어 다음에 MULTIPLE 옵션을 추가하면 이것은 and 연산이 아니고 or 연산이 된다. 즉, .2 .3 .4의 +축을 모두 남기게 된다. 그러면 그림 6.14 처럼 X, Y, Z축이 모두 -인 부분을 잘라버린다.

여기까지 왔으면, 이제는 and 연산과 or 연산의 조합을 알아보아야 할 때이다.

SYSTEM NEW
RESET

SURFACE
  PLANE X 0 RECT 3 3
  PLANE Y 0 RECT 3 3
  PLANE Z 0 RECT 3 3
  ELLIPSOID 1 1 1 0 0 0
OBJECT ‘OBJECT_ELLIPSOID’
  BOUNDS .2  MULTIPLE  .3  .4    

WINDOW Y X
PLOT FACETS
73 73
RETURN

위의 프로그램과 같이 BOUNDS -.2 MULTIPLE .3 .4 처럼 MULTIPLE 앞/뒤에 칼날을 놓아보자. 앞의 예제들을 보면 충분히 알 수 있는 내용으로 MULTIPLE 앞에 있는 Entity는 and 연산으로 사용되고 MULTIPLE 뒤에 있는 Entity는 or 연산으로 사용된다. 즉, -.2로 -Z방향 부분이 남고, MULTIPLE .3 .4로 Y, X 축의 +방향 부분이 or 연산되어 모두 남게 된다.

MULTI_03
그림 6.15 BOUNDS의 Multiple 연산 결과

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: