다음을 통해 공유


3차원 곡선 스플라인

베지어 스플라인은 끝점 2개(p1 및 p2)와 제어점 2개(c1 및 c2)의 4포인트로 지정된 곡선입니다. 곡선은 p1에서 시작하여 p2에서 끝납니다. 곡선은 제어점을 통과하지 않지만 제어점은 자석 역할을 하여 곡선을 특정 방향으로 끌어당기고 곡선이 구부러지는 방식에 영향을 줍니다. 다음 그림에서는 엔드포인트 및 제어점과 함께 베지어 곡선을 보여 줍니다.

끝점 2개와 제어점 2개가 있는 베지어 스플라인을 보여 주는 그림

곡선은 p1에서 시작하여 제어점 c1 쪽으로 이동합니다. p1의 곡선에 대한 접선은 p1에서 c1로 그리는 선입니다. 또한 엔드포인트 p2의 탄젠트 선은 c2에서 p2로 그리는 선입니다.

Bézier 스플라인을 그리려면 Graphics 개체와 Pen 개체가 필요합니다. Graphics 개체는 DrawBezier 메서드를 제공하며 Pen 개체는 선 너비 및 색과 같은 곡선의 특성을 저장합니다. Pen 개체의 주소는 DrawBezier 메서드에 인수 중 하나로 전달됩니다. DrawBezier 메서드에 전달된 나머지 인수는 엔드포인트 및 제어점입니다. 다음 예제에서는 시작점(0, 0), 제어점(40, 20) 및 (80, 150) 및 끝점(100, 10)을 사용하여 Bézier 스플라인을 그립니다.

myGraphics.DrawBezier(&myPen, 0, 0, 40, 20, 80, 150, 100, 10);

다음 그림에서는 곡선, 제어점, 두 개의 접선을 보여 줍니다.

끝점 2개, 제어점 2개, 탄젠트 선 2개가 있는 베지어 스플라인을 보여 주는 그림

베지어 스플라인은 원래 피에르 베지어가 자동차 산업의 디자인을 위해 개발한 것입니다. 이후 여러 유형의 컴퓨터 지원 디자인에서 매우 유용한 것으로 입증되었으며 글꼴의 윤곽선을 정의하는 데도 사용됩니다. 베지어 스플라인은 다양한 도형을 생성할 수 있으며, 그 중 일부는 다음 그림에 나와 있습니다.

세 가지 베지어 스플라인을 보여 주는 그림