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 Y –2 22 X –2 22
PLOT FACETS
RETURN
그런 다음 ARRAY 명령어 마지막에 있는 RANDOM 0.5 라는 옵션을 추가해보자.
ARRAY 4 5 0 0 4 0 5 0 RANDOM 0.5 !! RANDOM 0.5 옵션 추가
PLOT FACDETS로 그림을 그려보면 붉은색의 사각형은 그려지지 않는다. 이것은 RANDOM 옵션을 설명하기 위해 따로 추가한 것이니 이해하기 바란다.
붉은 사각형의 중심을 0으로 보고, 사각형의 범위를 -1~1로 생각하면 RANDOM 0.5는 사각형의 중심을 기준으로 -0.5~0.5 사이의 임의의 공간상에 ELLIPSE의 원점을 위치시키게 된다. 그림 5.9를 보면 사각형의 중심에서 크게 벗어나지 않는 것을 볼 수 있다.
이번에는 RANDOM의 값을 0.99로 바꿔보자. 그러면 그림 5.10과 같이 ELLIPSE들이 붉은 사각형의 끝부분까지 움직인 것을 볼 수 있다.
위의 그림을 보면 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)에 계속 위치해 있는 것을 확인할 수 있다. |