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

Đồ họa máy tính  
Tuần 5: Phương pháp vẽ ellipse  
Nội dung  
5.1. Phát biểu bài toán  
5.2. Phương pháp  
5.3. Giải thuật  
2
TS. Lý Quốc Ngọc  
3/24/2014  
5.1. Phát biểu bài toán  
- Vẽ ellipse dựa vào việc xác định các điểm thuộc  
phương trình ellipse 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  
5.1. Phát biểu bài toán  
Giới hạn bài toán  
- Khảo sát ellipse tâm O (0, 0).  
- Khảo sát vẽ cung chắn ¼ ellipse.  
(do tính đối xứng của đường tròn qua y=0, x=0)  
4
TS. Lý Quốc Ngọc  
5.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.  
Xét vùng 1 (|dy/dx|<=1).  
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  
5.2. Phương pháp  
Xét hàm fellipse(x, y) = r2 x2 + r2 y2 r2 .r2 ,  
y
x
x
y
0 (x, y) thuộc miền trong của ellipse  
fellipse(x, y)=  
(x, y) thuộc ellipse  
0  
(x, y) thuộc miền ngoài của ellipse  
0  
Để chọn điểm kế, xét đại lượng fellipse(x, y) tại điểm giữa 2 điểm  
cần chọn:  
p1k = fellipse (xk+1, yk ½)= r2 (x + 1)2 + r2 (y - ½)2 r2 .r2 (1)  
y k  
x k  
x
y
6
TS. Lý Quốc Ngọc  
5.2. Phương pháp  
Nếu p1k < 0  
Nếu p1k >= 0  
Chọn điểm (x +1, y ).  
k k  
Chọn điểm (x +1, y - 1).  
k
k
Cần xác định công thức qui nạp để tính pk ,  
P1k+1 = fellipse(xk+1+1,yk+1½)=r2 (x +1+1)2+r2 (yk+1-½)2 r2 .r2 (2)  
y k  
x
x
y
Từ (1) và (2), ta có:  
p1k+1 = p1k+2r2 (x +1)+r2 +r2 [(yk+1-½)2 - (yk-½)2]  
(3)  
(4)  
y k  
y
x
p10 = fellipse (1, ry ½) =r2 - r2 .ry + ¼. r2  
y
x
x
7
TS. Lý Quốc Ngọc  
5.2. Phương pháp  
Xét vùng 2 (|dy/dx| > 1).  
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, yk 1), (xk+1, yk-1).  
8
TS. Lý Quốc Ngọc  
5.2. Phương pháp  
Xét vùng 2 (|dy/dx| > 1).  
Để chọn điểm kế, xét đại lượng fellipse(x, y) tại điểm giữa 2  
điểm cần chọn:  
P2k=fellipse (xk+½,yk 1)=r2 (x +½)2 +r2 (y - 1)2 r2 .r2 (5)  
y k  
x k  
x y  
9
TS. Lý Quốc Ngọc  
5.2. Phương pháp  
Xét vùng 2 (|dy/dx| > 1).  
Nếu p2k > 0  
Nếu p2k 0  
Chọn điểm (x , y - 1).  
k k  
Chọn điểm (x +1, y - 1).  
k
k
Cần xác định công thức qui nạp để tính p2k ,  
P2k+1 = fellipse(xk+1+½,yk+11)=r2 (x +½)2+r2 (yk-1-1)2 r2 .r2  
y
(6)  
y k+1  
x
x
Từ (5) và (6), ta có:  
p2k+1 = p2k - 2r2 (yk -1) + r2 + r2 [(xk+1 + ½)2 (xk+½)2]  
(7)  
(8)  
x
x
y
p20 = fellipse (xlast+ ½, ylast1) =r2 (xlast+ ½)2 + r2 (ylast -1)2 - r2 r2  
x y  
y
x
10  
TS. Lý Quốc Ngọc  
5.3. Giải thuật  
B1. Nhập bán trục rx, ry, tâm C (xc,yc).  
B2. Vẽ điểm đầu (x0,y0)=(0, ry).  
B3. Tính các thông số cơ bản 2. r2 . x0, 2. r2 .y , p10 = r2 - r2 .ry + ¼. r2  
y
x 0  
y
x
x
B4. k = 0  
B5. Thực hiện Lặp  
B6. Nếu p1k < 0 thì Điểm kế (x=xk+1, y=yk) và cập nhật  
2. r2 xk+1= 2. r2 x + 2. r2 ,  
y
y k  
y
p1k+1 = p1k + 2. r2 xk+1 + r2  
y
y
B7. Nếu p1k >= 0 thì Điểm kế (x=xk+1, y=yk-1) và cập nhật  
2. r2 xk+1= 2. r2 x + 2. r2 ,  
y
y k  
y
2. r2 y = 2. r2 y - 2. r2 ,  
x k+1  
x k  
x
p1k+1 = p1k + 2. r2 xk+1 - 2. r2 yk+1 + r2  
y
x
y
B7. Đến khi 2. r2 x ≥ 2. r2 y  
y
x
11  
TS. Lý Quốc Ngọc  
5.3. Giải thuật  
B8. xlast := x, ylast := y.  
B9. Tính các thông số cơ bản: 2. r2 . ylast, 2. r2 .x ,  
x
y last  
p20 = r2 (xlast+ ½)2 + r2 (ylast -1)2 - r2 r2  
y
x
x y  
B10. k = 0  
B11. Thực hiện Lặp  
B12. Nếu p2k > 0 thì Điểm kế (x=xk, y=yk -1) và cập nhật  
2. r2 yk+1= 2. r2 yk - 2. r2 ,  
x
x
x
p2k+1 = p2k - 2. r2 yk+1 + r2  
x
x
B13. Nếu p2k >= 0 thì Điểm kế (x=xk+1, y=yk-1) và cập nhật  
2. r2 xk+1= 2. r2 x + 2. r2 ,  
y
y k  
y
2. r2 yk+1= 2. r2 yk - 2. r2  
x
x
x
p2k+1 = p2k + 2. r2 xk+1 - 2. r2 yk+1 + r2  
y
x
x
12  
TS. Lý Quốc Ngọc  
5.3. Giải thuật  
B14. Xác định 3 điểm đối xứng với (x,y) qua các trục x=0, y=0  
B15. Tịnh tiến 4 điểm vừa xác định theo vectơ gia số (xc,yc).  
B16. k:=k+1  
B16. Đến khi y = 0  
13  
TS. Lý Quốc Ngọc  
pdf 13 trang Thùy Anh 27/04/2022 7300
Bạn đang xem tài liệu "Bài giảng Đồ họa máy tính - Tuần 5: Phương pháp vẽ ellipse - 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_5_phuong_phap_ve_ellipse_ly_q.pdf