BEZIER

Bezier(베지어) curver는 프랑스 르노(Renault) 자동차에서 근무하던 Bezier라는 사람에 의해 자동차 몸체를 디자인하기위해 개발된 곡선 방정식이다. 이 곡선은 임의의 제어점이 입력되면 제어점의 좌표로부터 구해진 다항함수를 더하여 근사 곡선을 형성한다. 복잡한 곡선은 여러개의 작은 곡선으로 나누어 처리되고, 곡선의 처음과 끝의 제어점을 같은 위치에 두면 폐곡선이 형성된다. 이러한 장점들 때문에 CATIA나 CAD/CAM 시스템에서도 모두 Bezier Curve를 이용하게 되었다.

그럼 ASAP에서는 Bezier Curve를 어떻게 사용하고 있는지 알아보자. 우선 측정이나 설계 디자인을 통해서 얻어진 여러개의 Point에 대한 좌표값을 가지고 있다고 생각해 보자. 각각의 point들을 단순히 연결만 한다면 POINTS 명령어를 사용하면 된다. 그러나 이 point들을 Excel 이나 Origin과 같은 툴을 이용해서 3차나 4차 이상의 함수로 fitting을 하여 Point들에 대한 함수를 얻어 낼 경우 좀 더 정교한 선을 만들수 있을 것이다. ASAP에서는 이렇게 fitting을 통해 만들어진 함수를 BEZIER 명령어를 통해서 구현할 수 있다.

y = 0 + 0.1x^1 + 0.2x^2 + 0.03x^3 + 0.01x^4 라는 함수를 생각해 보자. 우선 Z평면은 0으로 고정시키자. 그리고 X는 4차항까지를 고려해야 하기 때문에 x^0, x^1, x^2, x^3, x^4라는 0~4의 차수값이 필요하다. 마지막으로 함수의 계수인 0, 0.1, 0.2, 0.03, 0.01의 값이 있으면 된다. 이를 Bezier 함수에 표현하면 다음과 같다.

BEZIER          Z 0       0 4                0  0.1  0.2  0.03  0.01
     ↑                                                 
     Command      Z=0        X=range         C=coefficients     

이것을 프로그램으로 작성해 보자.

SYSTEM NEW
RESET

EDGE
  BEZIER  Z
0   0 4   0 0.1 0.2 0.03 0.01   

WINDOW X Y
PLOT CURVES
RETURN  

BEZIER_01
그림 7.13 BEZIER 곡선 그리기

거창한 서론에 비해서 결과가 너무 간단한가? 그림 7.13을 자세히 살펴보자. X-Y 평면에 4차원 곡선이 그려졌으며, 그림을 자세히 보면 곡선 바깥쪽으로 control points들을 볼 수 있다.

다음은 Bezier curve를 통해서 단순한 곡선이 아닌 3차원 형상을 만들어 보자. 사실 이제부터가 현장에서 많이 사용되는 방법이다. 그러나 이 또한 아주 간단하다.

SYSTEM NEW
RESET

EDGE
  BEZIER Z
0  0 4  0 0.1 0.2 0.03 0.01      
    SWEEP  AXIS  360  0  1  0                          !! Y축을 기준으로 360도 회전시킴
OBJECT ‘BEZIER_CURVE’                          

WINDOW X Y
PLOT CURVES OVERLAY
PLOT FACETS
RETURN

Bezier curve를 그린 후 Y축을 기준으로 360도 회전시키는 SWEEP 명령어 하나만 추가했을 뿐이다. 그리고, Entity를 object로 만들어 주기위해 이름을 부여하였다.

BEZIER_02
그림 7.14 BEZIER로 3D 형상 만들기

이 방법을 이용하면 아주 간단하게 Flash Lamp의 Reflector를 만들 수 있다. 이것을 시작으로 LED도 추가하고, Bezier curve를 최적화하여 정면으로 빛이 많이 나가게 하면 LED Lamp의 Reflec-tor가 되는 것이다.

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: