ARRAY…RANDOM

ARRAY 명령어로 규칙적인 간격의 배열을 만들었다면, 이번에는 배열 위치에 임의의 값을 적용시켜 위치를 렌덤하게 흔들어 보자. 우선 아래 프로그램을 실행시켜서 그림 5.8과 같이 규칙적인 배열의 DOT_PATTERN들을 만들자.

SYSTEM NEW
RESET

SURFACE
  PLANE Z
0 ELLIPSE 1 1
    ARRAY 4 5 0 0  4 0 5 0
OBJECT ‘DOT_PATTERN’

WINDOW Y2 22 X 2 22
PLOT FACETS
RETURN

RANDOM_00
그림 5.8 RANDOM 0의 배열

그런 다음 ARRAY 명령어 마지막에 있는 RANDOM 0.5 라는 옵션을 추가해보자.

ARRAY 4 5 0 0  4 0 5 0  RANDOM 0.5     !! RANDOM 0.5 옵션 추가

PLOT FACDETS로 그림을 그려보면 붉은색의 사각형은 그려지지 않는다. 이것은 RANDOM 옵션을 설명하기 위해 따로 추가한 것이니 이해하기 바란다.

RANDOM_05
그림 5.9 RANDOM 0.5의 배열

붉은 사각형의 중심을 0으로 보고, 사각형의 범위를 -1~1로 생각하면 RANDOM 0.5는 사각형의 중심을 기준으로 -0.5~0.5 사이의 임의의 공간상에 ELLIPSE의 원점을 위치시키게 된다. 그림 5.9를 보면 사각형의 중심에서 크게 벗어나지 않는 것을 볼 수 있다.

이번에는 RANDOM의 값을 0.99로 바꿔보자. 그러면 그림 5.10과 같이 ELLIPSE들이 붉은 사각형의 끝부분까지 움직인 것을 볼 수 있다.

RANDOM_099
그림 5.10 RANDOM 0.99의 배열

위의 그림을 보면 RANDOM에 의한 Object들의 위치들이 처음에 선언된 ARRAY 4 5 0 0 4 0 5 0 명령어의 배열 간격인 5를 넘어서지는 않는 것을 알 수 있다. 선언된 배열 간격 안에서 임의의 값을 가지고 위치하게 된다. Object의 중심이 서로의 경계를 넘지는 않지만 경계면에서 형상이 서로 겹칠 수 있기 때문에 이 점은 미리미리 확인해서 원치 않는 에러를 방지해 주어야 한다.

Note…
RANDOM r 옵션의 r 값을 이리저리 바꿔보면서 프로그램을 실행시켜 보자. 그러다 보면 뭔가 공통점이 있다는 것을 확인할 수 있을 것이다. 그것은 ARRAY의 기준점에 있는 Object(여기서는 0,0에 있는 Object)에는 RANDOM 명령어가 적용되지 않는다는 것이다. 위에 있는 그림들에서도 왼쪽 밑에 있는 ELLIPSE 하나는 항상 붉은 사각형의 정 중앙(0,0)에 계속 위치해 있는 것을 확인할 수 있다.

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: