Già Làng
Thú CƯng :
Số bài viết : 373 Điểm : 2200708 Được cảm ơn : 53 Ngày sinh : 20/10/1987 Tham gia ngày : 16/03/2010 Tuổi : 37 Đến từ : Bình Dương Ngề nghiệp : Sinh Viên Chăm ngôn : Cơm Cha - Áo Mẹ!
| Tiêu đề: Vẽ đường Thẳng(Thuật toán BRESENHE) 10/10/2010, 23:48 | |
| Tiếp một thuật toán để vẽ đường thẳng đây! - Code:
-
#include<iostream.h> #include<conio.h> #include<stdio.h> #include<graphics.h>
void bresenhem(float x1,float y1,float x2,float y2) { float x=x1; float y=y1; float m=(y2-y1)/(x2-x1); float dy=y2-y1; float dx=x2-x1; float b=y1-m*x1; if (m<=1) { float P=2*dy-dx; putpixel(x,y,15); while (x<=x2) { if (P<=0) { putpixel(x+1,y,15); P+=2*dy; } else { putpixel(x+1,y+1,15); y++; P+=2*(dy-dx); } x++; } } else { float P=2/m-1; putpixel(x,y,15); while (y<=y2) { if (P<=0) { putpixel(x,y+1,15); P+=2/m; } else { putpixel(x+1,y+1,15); P+=2*(1/m-1); x++; } y++; } } }
void main() { clrscr(); int mh=9; int mode=2; initgraph(&mh,&mode,"E:\\BORLANDC\\BGI"); setcolor(15); float x1,x2,y1,y2; cout<<"Nhap vao toa do diem dau tien:"; cin>>x1>>y1; cout<<"Nhap vao toa do diem cuoi cung:"; cin>>x2>>y2; bresenhem(x1,y1,x2,y2); putpixel (x2,y2,4); getch(); } |
|