1. Trang chủ
  2. » Giáo án - Bài giảng

kỹ thuật đồ họa

60 99 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 60
Dung lượng 1,51 MB

Nội dung

KỸ THUẬT ĐỒ HỌA Chương CÁC GIẢI THUẬT SINH THỰC THỂ CƠ SỞ Giải thuật sinh đường thẳng thông thường Giải thuật thông thường: void dline(int x1,int y1, int x2,int y2, int color) { float y; int x; for (x=x1; x điểm B chọn yi+1 = yi  d < điểm A chọn yi+1 = yi + Trường hợp d = chọn điểm A, B Sử dụng phương pháp biểu diễn không tường minh f(x,y)= ax +by +c =0 (1) dx =x 2-x1 dy =y2-y1 Biểu diễn tường minh: y= (dy/dx)x +B hay f(x,y)=0= xdy - ydx +Bdx (2) So sánh (1) (2) ta có a=dy, b=-dx c= Bdx Có f(x,y)=0 với (x,y) thuộc đường thẳng Đặt di=f(xi+1,yi+1/2) = a(xi+1) +b(yi +1/2) +c  Nếu chọn A (d0) M tăng theo x di+1=f(xi+2,yi+1/2) = a(xi+2) +b(yi +1/2) +c di+1 - di = a Hay di+1 = di + dy Tính d1 ? d1 = f(x1+1,y1+1/2) = a(x1+1) +b(y1 +1/2) +c = ax1 +by1 +c +a +1/2 b = f(x1,y1) +a +b/2 Có (x1,y1) điểm bắt đầu, nằm đoạn thẳng nên f(x1,y1) = Vậy d1 = a+ b/2 = dy - dx/2 Giải thuật sinh đường tròn_Bresenham /* Thuat toan Bresenham de ve duong tron */ #include #include #define pc(xc,yc,x,y) { putpixel(xc + x, yc + y, color); putpixel(xc x, yc y, color); putpixel(xc -y, yc +x, color); putpixel(xc +y, yc -x, color); } void Bresenham_Circle(int xc, int yc, int Radius, int color){ int x, y, p; x = 0; y = Radius; p = - * Radius; pc(xc,yc, Radius,0); //ve diem dac biet while (x < y){ if (d < 0) p += * x + 6; else{ p += * (x-y) + 10; y ; } x++; pc(xc,yc, x,y); pc(xc,yc, y,x); } pc(xc,yc, y,y); // ve diem phan giac x=y } void main(){ int gr_drive = DETECT, gr_mode; initgraph(&gr_drive, &gr_mode, ""); Bresenham_Circle(getmaxx() / 2, getmaxy() / 2, 150, 4); getch(); closegraph(); } 10 Câu 5: Giải thuât Midpoint sinh đương tròn Thuât toán: Void Mid_circle ( int xc, int yc, int Radius, int color) { Int x,y,d; X=0; Y=Radius; D=1-Radius; While (x

Ngày đăng: 01/07/2016, 17:53

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w