Array의 회전

ASAP은 C 프로그램과 같은 절차적 언어이다. 즉, 위에서 아래로 내려가면서 차곡차곡 순서대로 프로그램의 명령이 실행된다.

SYSTEM NEW
RESET
SURFACE
  TUBE Z
3 1 1 3 1 1
    ROTATE X 45
      ARRAY 3 0 3 0  3 3 0 0
OBJECT ‘TUBES’

WINDOW Y X
PLOT FACETS  
$VIEW
RETURN

ROTATE-ARRAY
그림 5.4 ROTATE 후 ARRAY

프로그램에서 ROTATE 명령어를 먼저 실행하고 ARRAY 명령어를 실행하는 경우와 ARRAY 명령어를 먼저 실행하고 ROTATE 명령어를 실행하는 경우의 차이를 알아보자. TUBE 명령어를 이용해서 4×4의 원통을 만들고, Tube 바로 다음에 ROTATE 명령어를 사용하자. 이렇게 되면 생성된 하나의 Tube가 rotate 되게 된다. 그런 다음 ARRAY 명령어를 적용하면 rotate된 Tube가 array로 배치된다. 그러나,  TUBE 다음에 ARRAY 명령어를 사용하면 Tube가  array된다. 그런 다음 ROTATE 명령어를 사용하면 array된 object들이 rotate 되기 때문에 앞의 예제와는 다른 모양을 가지게 된다.

SURFACE
  TUBE Z
3 1 1 3 1 1
    ARRAY 3 0 3 0  3 3 0 0
      ROTATE X 45
OBJECT ‘TUBES’

ARRAY-ROTATE
그림 5.5 ARRAY 후 ROTATE

사용자가 원하는 형상이 어떤 것인지 잘 생각한 다음에 명령어의 순서를 결정하여야 한다. ASAP은 절차적 언어다!

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: