ARRAY 명령어
ASAP에서 geometry를 좀 더 powerful하게 만들기 위해서 꼭 필요한 것이 ARRAY와 BOUNDS다. 우선 ARRAY를 어떻게 만드는지 알아보고 다음 장에서 BOUNDS 하는 방법과 이 두 명령어를 조합해서 사용하는 방법에 대해서 알아보자.
ARRAY는 하나의 SURFACE-based entity를 일직선 상에 복사해서 배치해 주는 명령어다. 그러나 EDGE-based entity를 복제하지는 않는다. 아래의 SURFACE와 EDGE를 각각 실행해 보자.
SYSTEM NEW
RESET
SURFACE
PLANE Z 0 ELLIPSE .4 .4
ARRAY 3 1 0 0
OBJECT ‘ELLIPSE_SURFACE’
PLOT FACETS
RETURN
SURFACE의 경우는 원하는 모양이 나온 것을 확인할 수 있다. 그러나 EDGE의 경우는 조금 이상한 결과가 나올 것이다. EDGE를 자세히 표현하기 위해 SMOOTH 명령어를 추가하였다.
SYSTEM NEW
RESET
EDGE
ELLIPSE Z 0 .4 .4
ARRAY 3 1 0 0
SMOOTH 3
OBJECT ‘ELLIPSE_EDGE’
PLOT EDGES
PLOT FACETS
RETURN
PLOT EDGES를 통해서 보면 원형의 line은 ARRAY 된 것처럼 보이지만, PLOT FACETS를 통해서 보면 ARRAY로 만들어진 원형의 line이 object로 만들어 지지 않았음을 확인 할 수 있다. 즉 EDGE-based entity에서는 array object를 만들 수 없다는 뜻이다.
ARRAY 명령어의 Help를 보면 ARRAY 명령어 뒤에 EXPONENT, RANDOM, BOUNDS, SEARCH와 같은 기능들이 추가적으로 달려있는데, 이 기능들은 매우 유용하기 때문에 뒤에서 자세히 배워보도록 하자.
ARRAY (ASAP Command) | ||||||||||||||||||||
Turns the last surface into a set of identical surfaces.SyntaxARRAY n x y z [ n’ x’ y’ z’ ] [ EXPONENT p [ p’ ] ] [ RANDOM r ] [ BOUNDS ] X n s Y n’ s’ SEARCH [ k ] Z Y Z X Z X Y
|