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과 같이 마우스의 위치 좌표를 볼 수 있다.

POINTS_01
그림 7.1 2점으로 직선 그리기

그리고, 하나의 곡선을 만들기 위해서는 총 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가 정확히 어디인지 알 수 없다.

POINTS_02
그림 7.2 3점으로 직선 그리기

그럼, 이제 위의 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’ … ]
Y y   z x       z’ x’
Z z   x y       x’ y’
:

Option Description
X, Y or Z specifies coordinate axis
x, y or z specifies location along coordinate axis
y z (z x or x y), y’ z’ … coordinates of point in orthogonal axes
q q’ … connection parameters

   

Remarks

PARAMETER            

EDGE POINT CONNECTION
q=0 Not connected to the next point (open)
q=1 Connected by a straight line to the next point
q=2 Connected by a quadratic rational Bezier (conic) curve to the point after next. The next point is the intermediate control vertex. The next q is the intermediate weighting factor and is always positive:

0 straight line

<1 ellipse

1 parabola

>1 hyperbola

q=-2 Connected by an elliptical arc to the point after next. The next point is the center of the parent ellipse. The next q is the angular subtense (in degrees) of the arc and must be less than 180 degrees.
q=n Connected by an nth (up to 10th) degree rational Bezier curve. The intermediate n-1 points are control vertices with given (positive) weight factors.

 

 

 

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: