[C/C++] sin, cos을 이용해서 원 그리기

예제 모음/C/C++2015. 12. 10. 21:59

 

※ 요약
sin과 cos을 이용하여 직접 원을 그리는 방법이다.
직접 원을 그리므로 원하는 각도 만큼만 그릴수 있는데, 필자는 이를 신입때 만든 각도기 프로그램에 접목시켰다.
지금 이 예제는 Win32 API + OpenGL인데, MFC에서 GDI를 이용한 예제도 올리도록 하겠다.
또 타원 그리기 예제도 올릴것이고, 그 후에는 임의의 점이 원이나 타원에 속해 있는지 판별하는 예제도 올리도록 하겠다.
또 그후에는 타원이나 사각형 등의 도형을 직접 회전하는 예제도 올리겠다.

※ 특징
math.h에 있는 sin과 cos을 이용하여 원을 그린다.


DrawCircle2D가 원을 그리는 함수다. 배포하고 있는 프로그램이라 소스 코드의 일부만 올렸는데, 

MFC 예제를 올릴때는 전체 프로젝트를 올리겠다.

함수의 각 인자를 순서대로 설명하자면, 

원의 중심점, 시작 각도, 끝 각도, 원의 반경(반지름)이다.

각 인자의 용도를 알았으니 for문과 sin, cos을 이용하면 당장 MFC에서도 원을 그릴수 있을 것이다.

참고로 POINT는 float x, y가 멤버로 있는 구조체다.

또 아래 함수는 클래스의 멤버 함수이지만 C언어 함수로도 사용할 수 있어서 제목을 C/C++로 하였다.


아래는 위의 함수로 직접 그린 원이다.


아래는 다음 예제로 올릴 타원 그리기와 도형 회전이다.


작성자

Posted by 사용자 오뇽

태그

관련 글

댓글 영역

  • 프로필 사진
    오버사랑
    2016.04.06 10:13

    안녕하세요~^^
    glVertex2f(,) 함수 소스좀 알수 있을까요?

    제가 지금. 한 좌표(점)를 중심으로 원을 그린다음 그 원 안의 다른 좌표(점)을 찾는 프로그램을 짜고있는데.
    도움이 될거 같습니다.