Bài Giảng về thuật toán vẽ các đường thẳng, đường tròn, elip.. Đem đến kiến thức dễ tiếp cận nhất để sinh viên tiếp thu hiệu quả. Nhờ đó mà phát huy được năng lực của sinh viên cũng như mong muốn của nhà trường đặt ra.
Chương Các thuậ thuật toán đồ đồ ho hoạ sở Nội dung 2.1 Các thuật toán vẽ đoạn thẳng 2.2 Các thuật toán vẽ đường tròn 2.3 Các thuật toán vẽ elip 2.4 Các thuật toán clipping 2.5 Các thuật toán tô màu 2.1 Các thuậ thuật toán vẽ vẽ đo đoạ ạn thẳ thẳng Bài toán: Input: Cho đoạn thẳng P1P2 : P1(x1; y1), P2(x2; y2) Output: Vẽ đoạn thẳng AB hình Giải toán Thuật toán làm tròn số Thuật toán Bresenham Thuật toán Midpoint Thuậật toán làm tròn số Thu số Phương trình đường thẳng P1P2 (P1P2 ): y2 y1 y ( x x1 ) y1 x2 x1 y2 y1 Đặt m x2 x1 Khi phương trình đường thẳng P1P2 : y mx x1 y1 Thuậ Thu ật toán làm tròn số số y Chia thành trường hợp: TH1: P1P2 song song với Oy TH2: P1P2 song song với Ox TH3: |m|1 TH4: |m|>1 (1) (4) (4) (2) (3) O (3) x Thuậật toán làm tròn số Thu số y TH1: x1=x2 (giả sử y1 < y2) Bước 1: x=x1; y=y1; Bước 2: Vẽ điểm (x; y); Bước 3: y=y+1; Bước 4: Nếu y tương tự TH3 TH4: đổi vai trò x, y Bước 1: Nếu y1 > y2 thì: Hoán đổi vị trí P1, P2 (Đảm bảo y1 < y2) Bước 2: x=x1; y=y1; Bước 3: Vẽ điểm (x; y); Bước 4: y=y+1; x=round((1/m)(y-y1)+x1); Bước 5: Nếu y y2 thì: Bước 3; Bước 6: Kết thúc; y y2 P2 y1 P1 O x Thuậật toán Bresenham Thu x O TH1 x1=x2, TH2: y1=y2: giống phương pháp làm tròn số Còn lại: chia làm trường hợp (3) (4) (5) TH3: < m TH4: -1 m TH6: m < -1 (6) y Thuậ Thu ật toán LiangLiang-Basky Thuật toán: Bước 1: Bước 3: Nếu t1 t2: dx xB x A ; dy y B y A ; p1 dx; p2 dx; p3 dy; p4 dy; q1 x A x1 ; q2 x A x ; q3 y A y1 ; q4 y A y ; t1 1; t 0; x A1 x A t1dx A1 y A1 y A t1dy xB1 x A t dx B1 y B1 y A t dy Bước 2: i=14: qi t Nếu pi>0: , t1 pi q Nếu pi