Bài giảng Đồ họa máy tính - Tuần 4: Phương pháp vẽ đường tròn - Lý Quốc Ngọc

Đồ họa máy tính  
Tuần 4: Phương pháp vẽ đường tròn  
TS. Lꢀ Quꢁc Ngꢂc  
Nội dung  
4.1. Phát biểu bài toán  
4.2. Phương pháp  
4.3. Giải thuật  
2
TS. Lꢀ Quꢁc Ngꢂc  
3/7/2014  
4.1. Phát biểu bài toán  
- Vẽ đường tròn dựa vào việc xác định các điểm thuộc  
phương trình đường tròn trên lưới tọa độ nguyên.  
- Các điểm vẽ cần thỏa yêu cầu xấp xỉ tốt nhất.  
- Các điểm vẽ cần thỏa yêu cầu liên tục trong lân cận  
8 của điểm ảnh.  
- Điểm vẽ tại bước i+1 được xác định từ điểm vẽ tại  
bước i.  
3
TS. Lꢀ Quꢁc Ngꢂc  
4.1. Phát biểu bài toán  
Giới hạn bài toán  
- Khảo sát đường tròn tâm O (0, 0).  
- Khảo sát vẽ cung chắn 1/8 đường tròn.  
(do tính đꢁi xứng của đường tròn qua y=0, x=0, y=±x)  
4
TS. Lꢀ Quꢁc Ngꢂc  
4.2. Phương pháp  
- Tìm hàm lượng giá để xác định điểm vẽ kế tiếp từ  
điểm vẽ hiện thời.  
Giả sử tại bước k, ta có điểm (xk, yk).  
Tại bước k+1, cần chꢂn 1 trong 2 điểm sau:  
(xk+1, yk), (xk+1, yk-1).  
5
TS. Lꢀ Quꢁc Ngꢂc  
4.2. Phương pháp  
Xét hàm fcircle(x, y) = x2 + y2 r2,  
(x, y) thuộc miền trong của đường tròn  
(x, y) thuộc đường tròn  
0  
0  
fcircle(x, y)=  
0 (x, y) thuộc miền ngoài của đường tròn  
Để chꢂn điểm kế, xét đại lượng fcircle(x, y) tại điểm giữa 2  
điểm cần chꢂn:  
pk = fcircle(xk + 1, yk ½)= (xk + 1)2 + (yk - ½)2 r2 (1)  
6
TS. Lꢀ Quꢁc Ngꢂc  
4.2. Phương pháp  
Nếu pk < 0  
Chꢂn điểm (xk+1, yk).  
Nếu p >= 0 Chꢂn điểm (x +1, y - 1).  
k
k
k
Cần xác định công thức qui nạp để tính pk ,  
pk+1=fcircle(xk+1+1,yk+1 ½)=(xk+1+1)2 +(yk+1-½)2 r2 (2)  
Từ (1) và (2), ta có:  
pk+1 = pk + 2.(xk+1) + (y2 -y2 ) - (yk+1- yk) + 1  
(3)  
k+1  
k
p0 = fcircle (1, r ½) = 1 + (r ½)2 r2 = 5/4 - r  
7
TS. Lꢀ Quꢁc Ngꢂc  
4.2. Phương pháp  
Từ (3) ta có:  
Nếu pk < 0  
pk+1 = pk + 2. xk+1 + 1  
2. xk+1= 2. xk+ 2  
(4)  
Nếu p >= 0 p = p + 2. x - 2. y + 1 (5)  
k
k+1  
k
k+1  
k+1  
2. xk+1= 2. xk+ 2  
2. yk+1= 2. yk - 2  
8
TS. Lꢀ Quꢁc Ngꢂc  
4.2. Phương pháp  
- Nhận xét.  
nếu r nguyên thì có thể thay p0 bởi :  
p’0 = 1 r  
(6)  
Từ (4), (5), (6), nếu r nguyên, ta có:  
pk nguyên với mꢂi k, do đó các phép tính cần thiết để vẽ  
điểm trên đường tròn là các phép tính cộng, trừ với số  
nguyên.  
9
TS. Lꢀ Quꢁc Ngꢂc  
4.3. Giải thuật  
B1. Nhập bán kính r, tâm C (xc,yc).  
B2. Vẽ điểm đầu (x0,y0)=(0, r).  
B3. Tính các thông sꢁ cơ bản 2. x0, 2. y0, p0 = 5/4 - r.  
B4. k = 0  
B5. Thực hiện Lặp  
B6. Nếu pk < 0 thì  
Điểm kế (x=xk+1, y=yk) và cập nhật  
2. xk+1= 2. xk+ 2 ,  
pk+1 = pk + 2. xk+1 + 1  
B7. Nếu pk >= 0 thì Điểm kế (x=xk+1, y=yk-1) và cập nhật  
2. xk+1= 2. xk+ 2 , 2. yk+1= 2. yk - 2,  
pk+1 = pk + 2. xk+1 - 2. yk+1 + 1  
B8. Xác định 7 điểm đꢁi xứng với (x,y) qua các trục x=0, y=0, y=±x  
B9. Tịnh tiến 8 điểm vừa xác định theo vectơ gia sꢁ (xc,yc).  
B10. k := k + 1  
B10. Đến khi x y  
10  
TS. Lꢀ Quꢁc Ngꢂc  
pdf 10 trang Thùy Anh 27/04/2022 7600
Bạn đang xem tài liệu "Bài giảng Đồ họa máy tính - Tuần 4: Phương pháp vẽ đường tròn - Lý Quốc Ngọc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_do_hoa_may_tinh_tuan_4_phuong_phap_ve_duong_tron_l.pdf