Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어 arc() 함수 완벽 가이드 – 원호(호) 그리기 문법과 예제

C 프로그래밍 언어에서는 중심 좌표, 반지름, 그리고 호가 그려질 각도를 지정하여 원의 일부분인 원호(arc)를 화면에 그릴 수 있습니다.

원호를 생성할 때 사용하는 것이 바로 arc() 함수입니다. 이 함수는 C의 graphics.h 헤더 파일에 포함되어 있으며, 해당 라이브러리에는 출력 화면에 다양한 도형을 그릴 수 있는 그래픽 관련 메서드들이 모여 있습니다.

arc() 함수 문법

void arc(int x, int y, int startangle, int endangle, int radius);

이제 함수를 하나씩 자세히 살펴보며, 각 매개변수가 어떤 역할을 하는지 그리고 함수가 어떤 결과를 반환하는지 알아보겠습니다.

매개변수 설명

x − 자료형: int, 기능: 원호의 중심점 x 좌표를 지정합니다.

y − 자료형: int, 기능: 원호의 중심점 y 좌표를 지정합니다.

startangle (시작 각도) − 자료형: int, 기능: 원호가 시작되는 각도를 지정합니다.

endangle (종료 각도) − 자료형: int, 기능: 원호가 끝나는 각도를 지정합니다.

radius (반지름) − 자료형: int, 기능: 원호의 반지름을 픽셀 단위로 지정합니다.

각도 계산 방식

arc() 함수에서 각도는 도(degree) 단위로 입력하며, 시계 방향 3시 위치(오른쪽)가 0도입니다. 각도는 이 지점을 기준으로 반시계 방향으로 증가합니다. 예를 들어 시작 각도가 0이고 종료 각도가 90이면, 오른쪽에서 위쪽까지 이어지는 4분의 1 원호가 그려집니다.

예제 코드

#include <graphics.h>
int main(){
    int gd = DETECT, gm;
    int x = 250;
    int y = 250;
    int start_angle = 155;
    int end_angle = 300;
    int radius = 100;
    initgraph(&gd, &gm, "");
    arc(x, y, start_angle, end_angle, radius);
    getch();
    closegraph();
    return 0;
}

코드 동작 순서

1. initgraph(): 그래픽 시스템을 초기화하고 그래픽 모드로 전환합니다. DETECT 상수를 사용하면 시스템이 자동으로 최적의 그래픽 드라이버를 선택합니다.
2. arc(): 좌표 (250, 250)를 중심으로, 반지름 100인 원에서 155도부터 300도 사이의 원호를 그립니다.
3. getch(): 사용자가 키를 누를 때까지 화면을 유지하여 그려진 원호를 볼 수 있게 합니다.
4. closegraph(): 그래픽 모드를 종료하고 이전 화면 상태로 되돌립니다.

실행 결과

위 코드를 실행하면 화면 중앙 근처에 반지름 100픽셀짜리 원호가 나타납니다. 시작 각도가 155도, 종료 각도가 300도이므로 왼쪽 아래에서 시작해 위쪽을 지나 오른쪽 아래까지 이어지는 약 145도 크기의 호가 그려집니다.

참고 사항

graphics.h는 전통적으로 Turbo C++(BGI 그래픽 라이브러리) 환경에서 제공되던 헤더 파일입니다. 최신 컴파일러(GCC, Visual Studio 등)에는 기본 포함되어 있지 않으므로, 최신 개발 환경에서 학습하려면 WinBGIm 같은 호환 라이브러리를 설치하거나 SDL, OpenGL 등 현대적인 그래픽 라이브러리를 활용하는 것이 좋습니다.