Geometry의 위치 변경

ASAP에서 geometry를 만들고 난 후 자주하는 일 중에 하나가 위치 변경(repositioning)이다.  위치 변경이란, 원하는 축을 기준으로 얼마 만큼을 이동시키거나, 회전시키는 작업이다. 이것은 geometry 뿐만아니라 rays에도 적용된다.

ASAP에는 절대 좌표의 위치를 지정하는 PLACE, 축을 따라 이동시키는 SHIFT, 축을 기준으로 회전시키는 ROTATE 등의 명령어가 존재한다. 일반적으로 geometry의 위치를 설정하는 방법은 원점에 그림을 그리고 shift나 rotate를 통해서 원하는 위치로 이동시키는 것이다. 이유는, 위치를 확인하거나 수정하기 편리하기 때문이다.

그림 4.64는 ELLIPSOID를 2개 만들고, 하나를 Z축으로 5만큼 SHIFT 시킨 것이다.

SYSTEM NEW
RESET

SURFACE
  ELLIPSOID
1 1 1 0 0 0
OBJECT ‘ELLIPSOID_Z0’

SURFACE
  ELLIPSOID 1 1 1 0 0 0
OBJECT ‘ELLIPSOID_Z5’
  SHIFT  Z  5

PLOT FACETS
RETURN

Shift_Ball
그림 4.64 SHIFT 사용하기

이번에는 SHIFT 시킨 ELLIPSOIDX축을 기준으로 45도 회전시켜보자. ROTATE  [회전시킬 ]  [각도]

ROTATE  X  45 라고만 추가하면 된다. 회전의 방향은 원하는 축의 + 방향을 기준으로 오른손 법칙으로 회전하게 된다.

SYSTEM NEW
RESET

SURFACE
  ELLIPSOID 1 1 1 0 0 0
OBJECT ‘ELLIPSOID_Z0’

SURFACE
  ELLIPSOID
1 1 1 0 0 0
OBJECT ‘ELLIPSOID_Z5’
  SHIFT  Z  5
  ROTATE  X  45

PLOT FACETS
RETURN

ASAP은 한 라인씩 순서대로 명령을 수행하기 때문에 SHIFT를 먼저 실행하고 ROTATE를 실행한다. 만약 ROTATE를 먼저 실행하고 SHIFT를 실행하면 전혀 다른 결과를 얻을 것이다. 프로그램을 작성하면서 이 순서를 잘 생각해야 한다.

Rotate_Ball
그림 4.65 ROTATE 사용하기

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: