POINTS
우리가 어떤 형상을 만든다고 생각해보자. 원하는 형상을 만들기 위한 출발점은 2개의 점을 연결해서 선을 만드는 것일 것이다. ASAP에서는 POINTS라는 명령어를 통해서 선을 만들 수 있다. 이제 POINTS 명령어를 이용해서 EDGE를 만드는 방법에 대해서 알아보자.
POINTS x y z n, x y z w, x y z q !! General 3D curves
POINTS X x y z n, y z w, y z q !! Curves in X=x plane
↑ ↑ ↑
Start points, Control points End points,
n is the curve order and weights Q determines connection line between end points
위의 설명처럼 POINTS 명령어는 2가지 형태로 정의할 수 있다. 첫번째는 x y z 좌표축의 값을 모두 설정할 수 있게 하여 3차원 공간에서 그림을 그릴 수 있다. 그리고, 두번째는 하나의 평면을 먼저 지정하고 그 다음 부터는 그 평면 안에서만 움직이게 하여 프로그램을 짧게 가져갈 수 있다.
우선 하나의 직선을 만들기 위해서는 총 2개의 점(시작점, 끝점)이 필요하다. 위의 설명 중에서 중간에 있는 Control points는 직선을 그릴때에는 필요없는 요소가 된다.
SYSTEM NEW
RESET
EDGE
POINTS 0 0 0 1, 1 1 0 0
WINDOW Y -.2 1.2 X -.2 1.2
PLOT EDGE
RETURN
마우스로 끝점을 대충 찍어보면 끝점이 xy(1,1)에 있는 것을 확인 할 수 있다. 좌표값은 Shift 버튼을 클릭한 상태에서 마우스를 움직여보면 그림 7.1과 같이 마우스의 위치 좌표를 볼 수 있다.
그리고, 하나의 곡선을 만들기 위해서는 총 3개의 점이 필요한데 이때는 Control point가 필요하다.
SYSTEM NEW
RESET
EDGES
POINTS 0 0 0 2, 0 1 0 2, 1 1 0 0
POINTS 0 0 0 2, 0 1 0 1, 1 1 0 0
POINTS 0 0 0 2, 0 1 0 .5, 1 1 0 0
POINTS 0 0 0 2, 0 1 0 0, 1 1 0 0
WINDOW Y -.2 1.2 X -.2 1.2
PLOT CURVES
RETURN
위 프로그램에서 PLOT EDGES 명령어를 사용하지 않고 PLOT CURVES 명령어를 사용하는 이유가 있다. CURVES 명령어를 사용하면 PLOT으로 그림을 그렸을때 Control point를 같이 그려준다. 아주 작은 점(1 pixel)이어서 쉽게 찾지 못할 수도 있지만 그려주긴 그려준다. PLOT EDGES를 하면 결과 그림만 그려지기 때문에 Control point가 정확히 어디인지 알 수 없다.
그럼, 이제 위의 3점들을 어떻게 연결할지를 설정하는 방법에 대해서 알아보자.
Option | Description |
x y z | 점의 좌표값 |
n | 연결되는 선을 직선으로 할것인지 곡선으로 할것인지를 설정 |
w | 곡선을 얼마나 휘어지게 그릴것인지, arc의 호를 몇도나 회전시킬 것인지를
설정하는 가중치 |
q | 선을 계속 이어갈지(연결한다면 직선이나 곡선 선택), 선을 끝낼 것인지를 설정 |
위의 프로그램을 보면 모든 n=2를 설정하였고, w=0, .5, 1,2를, q=0을 설정하였다. n=2로 설정하여 Control point가 의미를 가지는 곡선을 만들려고 하였다. 그리고, w의 값을 통해 곡선의 정도를 각각 설정하였고 마지막으로 q=0으로 설정하여 곡선 그리기를 끝내기로 하였다. w의 값에 따른 곡선의 휨 정도는 그림 7.2를 통해서 확인할 수 있다.
여기서 한가지 주의할 것은 q=-2인 경우는 위의 설명과 조금 다르다. 즉, q=-2이면 타원호(Elliptical arc)의 형태로 다음 point와 연결이 된다. x y z -2 다음에 나오는 point는 Control point가 아니고 원의 중심(Center of the circle)이 된다. 그리고 weight는 line의 휨 정도가 아니라 회전축을 중심으로 회전시킬 각도가 된다.
우리는 이미 ‘4.8장 Points로 Edge 만들기’에서 q=-2를 사용해 보았다. 기억이 가물가물하면 앞으로 돌아가서 다시한번 내용을 확인해 보길 바란다.
POINTS (2D) (ASAP Command) | ||||||||||||||||||||||
Creates a generalized planar edge.
Syntax POINTS X x y z q [ y’ z’ q’ … ]
Remarks
|