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);
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP CHƯƠNG Sinh viên: Phạm Văn Trọng Lớp : Khoa học máy tính – K6 Mã sinh viên: 0641060096 Bài Vẽ đường thẳ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; { delay(10); putpixel(x,y,4); y=y+1; } while(yx2) { HoanVi(x1,x2); HoanVi(y1,y2); } int x=x1,y=y1; { delay(10); putpixel(x,y,4); x=x+1; } while(x0) { y=y+1; p=p+const1; } else p=p+const2; } while(x0) p=p+const2; else{ y=y-1; p=p+const1; } } while(x1 { if(y1>y2) { HoanVi(x1,x2); HoanVi(y1,y2); } int dx=x2-x1,dy=y2-y1; int const1=2*dy-2*dx,const2=2*dy; int p=2*dx-dy,x=x1,y=y1; { delay(10); putpixel(x,y,4); y=y+1; if(p>0) { x=x+1; p=p+const1; } else p=p+const2; } while(yy2) { HoanVi(x1,x2); HoanVi(y1,y2); } int dx=x2-x1,dy=y2-y1; int const1=2*dy+2*dx,const2=2*dy; int p=2*dx+dy; int x=x1,y=y1; { delay(10); putpixel(x,y,4); y=y+1; if(p>0) p=p+const2; else{ x=x-1; p=p+const1; } } while(y0 && m=-1 && m1) Line_Bre5(x1,y1,x2,y2); else Line_Bre6(x1,y1,x2,y2); } } } } } int main() { int mh=0,mode =0; initgraph(&mh,&mode,""); setbkcolor(BLUE); cleardevice(); //Line_Bre1(30,1,30,100); Line_Bresenham(30,300,300,30) getch(); closegraph(); } KÊT QUẢ: Bài 2: Vẽ đường thẳng thuật toán làm tròn #include #include #include void HoanVi(int &a,int &b) { int tg = a; a=b; b=tg; } void Line_Round1(int x1,int y1,int x2,int y2) //ve duong thang // voi ox (y1=y2) { if(x1>x2){ HoanVi(x1,x2); }//dam bao x1 luon [...]... } 13 int main() { int mh=0,mode =0; initgraph(&mh,&mode,""); setbkcolor(BLUE); cleardevice(); Line_Round(60,40,360,200); setcolor(YELLOW); line(360,40,60,200); getch(); closegraph(); } 14 KẾT QUẢ: 15 Bài 3: Vẽ đường tròn bằng thuật toán Breseham #include #include void Circle_Bre(int xc, int yc, int R, int color) { int x, y, d; x = 0; y = R; d=3-2*R while (x .. .Bài Vẽ đường thẳng thuật toán Breseham #include #include #include ... cleardevice(); //Line_Bre1(30,1,30,100); Line_Bresenham(30,300,300,30) getch(); closegraph(); } KÊT QUẢ: Bài 2: Vẽ đường thẳng thuật toán làm tròn #include #include #include ... Line_Round(60,40,360,200); setcolor(YELLOW); line(360,40,60,200); getch(); closegraph(); } 14 KẾT QUẢ: 15 Bài 3: Vẽ đường tròn thuật toán Breseham #include #include void Circle_Bre(int