ARRAY 명령어

ASAP에서 geometry를 좀 더 powerful하게 만들기 위해서 꼭 필요한 것이 ARRAYBOUNDS다. 우선 ARRAY를 어떻게 만드는지 알아보고 다음 장에서 BOUNDS 하는 방법과 이 두 명령어를 조합해서 사용하는 방법에 대해서 알아보자.

ARRAY는 하나의 SURFACE-based entity를 일직선 상에 복사해서 배치해 주는 명령어다. 그러나 EDGE-based entity를 복제하지는 않는다. 아래의 SURFACEEDGE를 각각 실행해 보자.

SYSTEM NEW
RESET

SURFACE
  PLANE  Z 
ELLIPSE  .4  .4
    ARRAY  3  1  0  0
OBJECT ‘ELLIPSE_SURFACE’

PLOT FACETS
RETURN

ARRAY_SURFACE
그림 5.1 SURFACE로 ARRAY 만들기

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

ARRAY_EDGE
그림 5.2 EDGE로 ARRAY 만들기

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

Option Description
ARRAY elements are associated with an OBJECT
n n’ number of linearly spaced elements
x y z x’ y’ z’ reference point shift
EXPONENT modifies reference point coefficient
RANDOM(or RAN) randomize positions of individual array elements (RAN is an acceptable abbreviation for RANDOM.)
p p’ reference point coefficient exponent
BOUNDS treats each instance as a separate entity
SEARCH Limits testing of ray intersections to elements within k nearest neighbors
k number of additional “rings” of instances about the nearest one to consider

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: