반응형

비주얼 C/C++ API 프로그래밍: 싸인 곡선 출력 예제

 

글. 오상문 sualchi@daum.net

 

1) 비주얼 스튜디오에서 C++ Win32 프로젝트를 만듭니다. 

 

2) 프로젝트 이름을 지정하고, 마법사에서는 빈 프로젝트를 체크 해제합니다. 

 

3) 메인 소스에서 상단에 다음 문장을 추가합니다.  (sin 함수 사용하기 위해)

#include "math.h" 

 

4) WndProc 함수의 case WM_PAINT 부분으로 이동합니다.

 

5) // TODO 아래에 소스를 추가합니다.

 

 case WM_PAINT:

        {

            PAINTSTRUCT ps;

            HDC hdc = BeginPaint(hWnd, &ps);

            // TODO: 여기에 hdc를 사용하는 그리기 코드를 추가합니다.

 

float fx, fy;            // 싸인 곡선

const float a = 160;    // 진폭

 

// 그래프 기준 선 그리기

MoveToEx(hdc, 100, 40, NULL);

LineTo(hdc, 100, 480);

MoveToEx(hdc, 100, 240, NULL);

LineTo(hdc, 500, 240);

 

COLORREF color = RGB(255, 0, 0);   // 빨간색 

 

for (int i = 0; i<360; i++)

{

fx = (float)i;

fy = (float)sin(i*3.141592 / 180.0) * a;

SetPixel(hdc, (int)fx + 100, (int)fy + 240, color);

}

 

// 0, ∏, 2∏ 위치 표기

TextOut(hdc, 100 - 10, 250, L"0", 1);

TextOut(hdc, 100 - 7 + 180, 250, L"∏", 1);

TextOut(hdc, 100 - 7 + 360, 250, L"2∏", 2);

 

             EndPaint(hWnd, &ps);

        }

        break;

 

6) Ctrl+F5 키를 눌러서 빌드하고 실행합니다. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

+ Recent posts