Bài 1. Vẽ đường thẳng bằng thuật toán Breseham #include #include #include void HoanVi(int a,int b) { int tg = a; a = b; b = tg; } void Line_Bre1(int x1,int y1,int x2,int y2)//duong thang // voi oy { if(y1>y2) { HoanVi(x1,x2); HoanVi(y1,y2); } int x=x1,y=y1; do { delay(10);
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP CHƯƠNG 2
Sinh viên: Phạm Văn Trọng
Lớp : Khoa học máy tính 2 – K6
Mã sinh viên: 0641060096
Trang 2Bài 1 Vẽ đường thẳng bằng thuật toán Breseham
Trang 8void Line_Bresenham(int x1,int y1,int x2,int y2)
{
float m = (float)(y2-y1)/(x2-x1);
int dx=x2-x1,dy=y2-y1;
int const1=2*dy+2*dx,const2=2*dy;
if(x1==x2) Line_Bre1(x1,y1,x2,y2); else { if(y1==y2) Line_Bre2(x1,y1,x2,y2); else { if(m>0 && m<=1) Line_Bre3(x1,y1,x2,y2); else { if(m>=-1 && m<0) Line_Bre4(x1,y1,x2,y2); else { if(m>1) Line_Bre5(x1,y1,x2,y2); else Line_Bre6(x1,y1,x2,y2); }
}
}
}
}
Trang 10Bài 2: Vẽ đường thẳng bằng thuật toán làm tròn
Trang 13Line_Round4(x1,y1,x2,y2);
}
}
}
Trang 15KẾT QUẢ:
Trang 16Bài 3: Vẽ đường tròn bằng thuật toán Breseham
Trang 18KẾT QUẢ:
Trang 19Bài 4: Vẽ đường tròn bằng thuật toán làm tròn
Trang 21KẾT QUẢ:
Trang 22Bài 5: Thuật toán tô màu vết dầu loang
Trang 24KẾT QUẢ:
Trang 25Bài 6: Thuật toán tô màu theo đường biên
}
void veTamGiac(int mb)//ham ve hinh de to
{
setcolor(mb);
Trang 26closegraph();
}
Trang 27KẾT QUẢ: