검색어 입력폼

[수치해석] Bresenham's Line-Drawing Algorithm와 MFC를이용한 격자모양의 선그리기

저작시기 2004.05 |등록일 2004.04.04 파일확장자압축파일 (alz) | 3페이지 | 가격 3,000원

소개글

이프로그램은 장작..2주에 걸쳐서 만들었습니다..아압축파일안에는 바로컴파일해서 쓸수있도록 모든소스가 다들어었으며..주석또한 모든 문에다달려있으니 많은 도움이될것입니다.^^;

저는 Bresenham's Line-Drawing Algorithm을 이용하여 Microsoft Visual C++환경 하에서 구동을 시켰습니다. 제가 짠 프로그램은 일정한 화면 틀 안에서 마우스로 첫 시작 포인트 점을 찍고 두 번째로 마지막 포인트 점을 찍으면 Bresenham's Line-Drawing Algorithm의 수식에 의해서 픽셀 단위로 점들이 찍혀가면서 직선을 그리게 되어있습니다.

목차

1.프로그램의 개요
2.프로그램 주요 부분 설명
3.MFC로짠 프로그램파일(참고)
(소스의 이름이 작성자로 되어있습니다..부디 파일이름이 작성자라고 해서 실망하지 마시고요..그 내용의 소스를 복사해가세요..컴퓨터공학 전공이라면 그정도는 알수 있으리라 생각합니다.)

본문내용

1.프로그램의 개요
저는 Bresenham's Line-Drawing Algorithm을 이용하여 Microsoft Visual C++환경 하에서 구동을 시켰습니다. 제가 짠 프로그램은 일정한 화면 틀 안에서 마우스로 첫 시작 포인트 점을 찍고 두 번째로 마지막 포인트 점을 찍으면 Bresenham's Line-Drawing Algorithm의 수식에 의해서 픽셀 단위로 점들이 찍혀가면서 직선을 그리게 되어있습니다.


2.프로그램 주요 부분 설명
저는 크게 4가지로 나누어서 프로그램을 구성시켰습니다.
첫 번째로 기울기가 무한대일 경우(즉, dx가 0일 때),
두 번째로 기울기가 1보다 클 경우,
세 번째로 기울기가 1보다 작을 경우,
네 번째로 기울기의 절대값이 1와 같을 경우로 나누어서 작성하였습니다. 그럼 소스 코드에 관해서 설명을 하겠습니다.
< Bresenham's Line-Drawing Algorithm에 관련된 부분 >
CPoint point; 좌표를 선언할 때 포인터형으로 선언했기에 Bresenham의 int형 와의 문제점을 없애기 위해서 사용

if(x0>xEnd) {
x=xEnd;
y=yEnd;
if(dx >= dy) xEnd=x0; ==>기울기가 1보다 큰 경우에 yEnd=y0;를 쓰기 위해서 if문을 사용
}
else{
x=x0;
y=y0;
}
=> 기울기가 1보다 큰 경우를 제외하고 나머지 경우에 start 포인트와 end 포인트를 설정해주는 코드입니다.
다운로드 맨위로