※ 요약
sin과 cos을 이용하여 직접 원을 그리는 방법이다.
직접 원을 그리므로 원하는 각도 만큼만 그릴수 있는데, 필자는 이를 신입때 만든 각도기 프로그램에 접목시켰다.
지금 이 예제는 Win32 API + OpenGL인데, MFC에서 GDI를 이용한 예제도 올리도록 하겠다.
또 타원 그리기 예제도 올릴것이고, 그 후에는 임의의 점이 원이나 타원에 속해 있는지 판별하는 예제도 올리도록 하겠다.
또 그후에는 타원이나 사각형 등의 도형을 직접 회전하는 예제도 올리겠다.
또 원 안에만 점을 찍는 예제는 여기서 확인할 수 있다.
※ 특징
math.h에 있는 sin과 cos을 이용하여 원을 그린다.
DrawCircle2D가 원을 그리는 함수다. 배포하고 있는 프로그램이라 소스 코드의 일부만 올렸는데,
MFC 예제를 올릴때는 전체 프로젝트를 올리겠다.
함수의 각 인자를 순서대로 설명하자면,
원의 중심점, 시작 각도, 끝 각도, 원의 반경(반지름)이다.
각 인자의 용도를 알았으니 for문과 sin, cos을 이용하면 당장 MFC에서도 원을 그릴수 있을 것이다.
참고로 POINT는 float x, y가 멤버로 있는 구조체다.
또 아래 함수는 클래스의 멤버 함수이지만 C언어 함수로도 사용할 수 있어서 제목을 C/C++로 하였다.
아래는 위의 함수로 직접 그린 원이다.
아래는 다음 예제로 올릴 타원 그리기와 도형 회전이다.
'예제 모음 > C/C++' 카테고리의 다른 글
[C언어] printf를 이용해 소수점 이하 자릿수 설정하기 (0) | 2016.02.26 |
---|---|
[C++] 두 점 사이의 거리 구하기 (0) | 2015.12.04 |
[C언어] 두 점 사이의 거리 구하기 (0) | 2015.12.02 |
[C++11] 중복없는 로또 프로그램2 (2) | 2015.11.29 |
[C++11] 중복없는 로또 프로그램 (6) | 2015.11.27 |
[C++11] 원 안에만 점 찍기 (0) | 2014.09.02 |
[C언어] rand 함수를 이용한 로또 프로그램 (1) | 2014.04.08 |