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
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
0 nhận xét:
Post a Comment