Tải bản đầy đủ (.ppt) (14 trang)

Bài giảng đồ họa raster thuật toán vẽ đường bậc hai bùi tiến lên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (94.23 KB, 14 trang )

ĐỒ HỌA RASTER

THUẬT TOÁN
VẼ ĐƯỜNG BẬC HAI

Giảng viên : Bùi Tiến Lên


Thuật toán vẽ đường bậc hai
Bước 1 Rút gọn đường cong cần vẽ (Dựa trên tính đối xứng
của đường cong).
Bước 2 Phân vùng đường cong cần vẽ. Dựa trên kết quả của
việc khảo sát hàm số đường cong cụ thể là sự biến thiên của đạo
hàm để phân đường cong thành từng vùng khác nhau.
Bước 3 Xây dựng thuật toán MidPoint vẽ cho từng vùng.
Ví dụ

Trang 2


Bước 1 Rút gọn đường cong

Trang 3


Bước 2 Phân vùng đường cong
Tăng chậm

Tăng nhanh

Giảm chậm



Giảm nhanh

Trang 4


Bước 2 Phân vùng đường cong
Đường cong
giảm chậm
Đường cong
giảm nhanh

Trang 5


Bước 3 Xây dựng thuật toán MidPoint
Thuaä
Thuaätt toaù
toaùnn 11

Thuaä
Thuaätt toaù
toaùnn 22

Trang 6


Ví dụ
Xây dựng thuật toán vẽ đường ellipse có phương trình
x2 y2

(E) 2 + 2 = 1 (a, b nguyên dương)
a
b

Trang 7


Vớ d
Haứm
b 2
b
x
2
y=
a x vụựi x [0, a] coự y' = a
a a2 x2
Baỷng khaỷo saựt
x

0
b

y

a2
a 2 + b2
b2
a 2 + b2

a


0

0
y'

1


Trang 8


Ví dụ
Hàm kiểm tra bên trong / bên ngoài của ellipse
F(x, y) = b2x2 + a2y2 – a2b2
bên ngoài

bên trong

Trang 9


Ví dụ
Nhận xét điểm sáng thứ i
A(xi + 1, yi)

yi

i


A

B(xi + 1, yi – 1)
Xây dựng biến fi
Trung điểm M của AB
M(xi + 1, yi – 1/2)
Biến fi
fi = F(M)

yi-1/2

M

yi-1

B
xi

xi+1

Trang 10


Ví dụ
Coâng thöùc tính fi goác
2
a
fi = b2xi2 + a 2yi2 + 2b2xi − a 2yi +
+ b2 − a 2b2
4


Coâng thöùc tính fi nguyeân
a2 
fi = b x + a y + 2b xi − a yi +   + b2 − a 2b2
4
2

2
i

2

2
i

2

2

Trang 11


Ví dụ
Cách tính fi cải tiến
a2 
f1 =   + b2 – a 2b
4
neáu fi < 0 thì
fi+1 = fi + b2 (2xi + 3)
neáu fi ≥ 0 thì

fi +1 = fi + b2 (2xi + 3) + a 2 (–2yi + 2)

Trang 12


Ví dụ
Đặt
M = b2(2xi + 3)
N = b2(2xi + 3) + a2(-2yi + 2)
Bảng biến thiên
i

xi

yi

M

N

fi < 0

Taêng 1

Khoâng

Taêng 2b2

Taêng 2b2


fi >= 0 Taêng 1 Giaûm 1 Taêng 2b2 Taêng 2a2 + 2b2

Trang 13


Ví dụ
Cách tính fi cải tiến cải tiến
f1 = a 2 4 + b2 – a 2b
M = 3b2
N = 2a 2 - 2a 2b + 3b2
neáu fi < 0 thì

neáu fi ≥ 0 thì

fi+1 = fi + M

fi +1 = fi + N

M + = 2b2

M + = 2b2

N + = 2b2

N + = 2a 2 + 2b2

Trang 14




×