곡선

일반 곡선은 원뿔형 섹션의 경계(또는 경계의 일부)를 정의하는 래스터 디스플레이(또는 인쇄된 페이지의 점)에서 강조 표시된 픽셀 집합입니다. 불규칙한 곡선은 원뿔형 섹션의 경계에 맞지 않는 곡선을 정의하는 픽셀 집합입니다. 끝점은 선에서 제외되는 것처럼 곡선에서 제외됩니다.

애플리케이션이 곡선 그리기 함수 중 하나를 호출하면 GDI는 곡선을 매우 작고 불연속적인 여러 선 세그먼트로 나눕니다. 이러한 각 선 세그먼트에 대한 엔드포인트(시작점 및 끝점)를 확인한 후 GDI는 DDA를 적용하여 각 줄을 정의하는 픽셀(또는 점)을 결정합니다.

애플리케이션은 Arc 함수를 호출하여 타원 또는 타원의 일부를 그릴 수 있습니다. 이 함수는 경계 사각형이라고 하는 보이지 않는 사각형의 경계 내에서 곡선을 그립니다. 타원의 크기는 사각형의 중심에서 사각형의 측면까지 확장되는 두 개의 보이지 않는 방사형으로 지정됩니다. 다음 그림에서는 Arc 함수를 사용하여 그린 호(타원의 일부) 보여 줍니다.

전체 원의 3분의 1을 나타내는 호를 보여 주는 다이어그램

Arc 함수를 호출할 때 애플리케이션은 경계 사각형 및 방사형의 좌표를 지정합니다. 앞의 그림에서는 실선으로 실제 호를 그리는 동안 파선이 있는 사각형 및 방사형을 보여 줍니다.

다른 개체의 호를 그릴 때 애플리케이션은 SetArcDirectionGetArcDirection 함수를 호출하여 개체가 그려지는 방향(시계 방향 또는 시계 반대 방향)을 제어할 수 있습니다. 호 및 기타 개체를 그리는 기본 방향은 시계 반대 방향입니다.

타원 또는 타원의 일부를 그리는 것 외에도 애플리케이션은 Bézier 곡선이라는 불규칙한 곡선을 그릴 수 있습니다. 베지어 곡선은 곡률이 4개의 제어점(p1, p2, p3 및 p4)으로 정의된 불규칙한 곡선입니다. 제어점 p1과 p4는 곡선의 시작점과 끝점을 정의하고, 제어점 p2와 p3은 다음 다이어그램과 같이 곡선이 방향을 뒤집는 점을 표시하여 곡선의 모양을 정의합니다.

시작점과 끝점 사이에 각각 두 개의 제어점이 있는 두 개의 베지어 곡선을 보여 주는 그림

애플리케이션은 PolyBezier 함수를 호출하여 적절한 제어점을 제공하여 불규칙한 곡선을 그릴 수 있습니다.