[Đồ họa máy tính bài 5 ] Thuật toán Bresenham Hệ số góc [-1,0] | Phần 3




a.    Trình bày thuật toán vẽ đoạn thẳng AB với A(xA, yA), B(xB, yB) bằng phương pháp Bresenham cho trường hợp hệ số góc  -1<=m<0
b.   Tính tập hợp 10 điểm đầu tiên thuộc đoạn AB với A (150; 100) B(100; 120)
c.    Viết hàm vẽ đoạn thẳn AB bằng ngôn ngữ C++ theo thuậ toán trình bày ở ý a
d.   Viết chương trình trên máy tính bằng ngôn ngữ C++ vẽ đoạn thẳng AB với A(150; 100), B(100;120)



Y = m(xi+1) + b;
M = dy/dx
Dx = x2 – x1;
Dy= y2 – y1;
D1  = y – yi – 1;
D2 = yi – y
D1 – d2 = y – yi – 1 – yi  + y;
Pi = dx(2(m(xi+1) + b) -2yi -1)
Pi = 2dyxi+2dy + 2dxb -2dxyi - dx)
Pi = 2dyxi-2dxyi + C (với C = - dx+2dy + 2dxb)
Pi+1 - Pi= 2dy(xi+1–xi)+2dx(yi -yi+1)
Ta có nếu pi < 0 thì ta yi+1 = yi+1;
Pi+1 – Pi= 2dy+2dx
Nếu pi>0 thì ta có yi+1= yi
Pi+1 - Pi= 2dy


Bước 1 nếu xA>xB thì hoán đổi vị trí A,B;
Bước 2: dx = xb- xa; dy = yb – ya;
Const1 = 2dy ; const2 = 2dy+2dx;
X = xA; y = yA;
P = 2dy - dx

Bước 3: vẽ (x,Y)
Bước 4: x = x+1;
Bước 5: nếu p>0 thì
P = p+const1;
Ngược lại p = p + const2
y--;
bước 6 nếu x<= x2 thì quay lại bước 3:
bước 7 kết thúc






Share on Google Plus

About Sơn Nguyễn

Chào các bạn mình là Sơn mình là một lập trình viên đam mê với khoa học máy tính. Đây là facebook của mình "ngoài ra mình có làm youtube partner các bạn sub kênh youtube của mình để xem hướng dẫn về CNTT nhé " Cảm ơn các bạn đã ghé thăm blog của mình. Bạn có thể xem mình là ai ở đây

0 nhận xét: