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