c언어로 선그리기 질문입니다
sin
질문 제목 :
c언어로 선그리기 질문입니다
dda 알고리즘을 이용하여 c언어로 선그리는 것입니다.질문 내용 :
c언어 초보자 입니다. 그런데 dda알고리즘을 이용하여선을 그리고 싶은데
도저히 어떻게 해야 될지 몰라서질문을 드려요 ..
밑에 건 인터넷 검색하다가 발견한 건데요
이 소스를 어느곳에다 돌려야 돌아갈까요?
아욱 초보라....
void dda_line(byte *lpimg, int x0, int y0, int x1, int y1)
{
int r, g, b;
float dx, dy;// x, y의 증가값을 계산하기 위해 dx, dy 선언
float gra;// 기울기 계산을 위하여 gra 선언
?xml:namespace prefix = o ns = urn:schemas-microsoft-com:office:office /
r = rand() % 256;//각 선들의 색을 구분하기위해 랜덤색 지정
g = rand() % 256;
b = rand() % 256;
dx = (float)x0 - (float)x1;// x의 증가값 dx에 저장
dy = (float)y0 - (float)y1;// y의 증가값 dy에 저장
gra = dy / dx;// 기울기를 계산
if(abs(gra) = 1)// 기울기의 절대값이 1보다 작으면
{
for(int i=0; i abs(x0 - x1); i++)
{
setpixel(lpimg, x0 + i, y0 + (int)(gra * i + 0.5), r, g, b);
}
}else// 기울기의 절대값이 1보다 크면
{
for(int i = 0; i abs(y0 - y1); i++)
{
setpixel(lpimg, x0 + (int)(1 / gra * i), y0 + i, r, g, b);
}
}
}