Bài 5 : Slide bài giảng vẽ Elip bressenham Sẽ giúp bạn thuyết trình bài giảng , học hỏi 1 cách nhanh hơn . Vẽ đường elip băng bresenham một cách chi tiết ,... Bài giảng này mong giúp ích cho mọi người . Trong kho của mình còn rất nhiều slide về các bài giảng mong các bạn ghé qua
Bài Thuyết Trình ĐỀ TÀI: THUẬT TỐN BRESENNHAM VẼ ĐƯỜNG ELLIPSE NHĨM NỢI DUNG I II III GIẢI THUẬT CODE MINH HỌA HÌNH ẢNH MINH HỌA I GIẢI THUẬT Ý tưởng:Ta sử dụng thuật toán Bresenham để vẽ,ta cần vẽ ¼ elip ,sau lấy đối xứng qua trục tọa độ vẽ toàn bơ elip Phân tích: Phương trình Ellipse có dạng: Trong đó: a độ dài trục chính, b độ dài trục phụ Phương trình tiếp tuyến với Ellipse điểm (, ) (E): + = Suy hệ số góc tiếp tuyến điểm là: Đầu tiên, theo ý tưởng tốn, tính khoảng cách từ điểm thực đến điểm vẽ được, xem khoảng cách ngắn hơn, sau ¼ cung Tiếp tuyến với ellipse có hệ số góc -1 elip Chúng ta lại phải vẽ theo hai nhánh khác Đó nhánh từ xuống, nhánh từ lên Hai nhánh cắt giao điểm mà hệ số góc tiếp tuyến với Elip -1 (như hình trên) (, ) I GIẢI THUẬT Thực chất việc tính khoảng cách chia hai nhánh vẽ elip tìm điểm theo hướng tính y theo x (hay tính x theo y) cho trước Nhìn vào hình đây, với giao điểm màu đỏ làm ranh giới, dễ dàng thấy nhánh vẽ từ xuống : x tăng lên đơn vị y tăng lên ; ngược lại với nhánh vẽ từ lên: y tăng lên đơn vị x tăng lên Nếu chọn cách vẽ liền mạch việc tăng lên không đồng tọa độ x y khiến đường elip không min, đứt gãy, xấu Do đó, muốn vẽ đường elip mịn nét, phải chia elip thành nhánh để vẽ I GIẢI THUẬT Ta có phương trình Ellipse có tâm gốc tọa độ là: Ta viết lại: = + (*) Xét nhánh vẽ từ xuống Giả sử điểm( ,) vẽ Điểm cần chọn (+1,) (+1,-1) Thay (+1) vào (*): = + Đặt: == + = =+ ⇒ ⇒ = = 2.[ ] + 2.( ) +1 = 2.[ ()+1 Suy ra: = ) (**) I GIẢI THUẬT *Nhận xét: • =.(2x+3) • 0: Chọn =, (**) => = (2x+3) • Với điểm (0,b), ta có: = 2b+1 I GIẢI THUẬT • Tương tự ta có nhánh hai từ lên : • =.(2x+3) • 0: chọn xi+1 = xi – • Với điểm (a,0) ta có: = 2a+1 => = (2x+3) Begin d1 = = = False 2 b /a *x