ĐỒ HỌA 2D CÁC THUẬT TOÁN XÉN HÌNH Giảng viên : Bùi Tiến Lên Xén đoạn thẳng Thuật toán LiangLiang-Barsky Phương trình tham số Cho hai điểm P1, P2 Phương trình tham số đường thẳng : x = P1x + (P2x − P1x )t với t ∈ (- ∞, ∞ ) y = P1y + (P2y − P1y )t Phương trình tham số đoạn thẳng : x = P1x + (P2x − P1x )t với t ∈ [0,1] y = P1y + (P2y − P1y )t Trang Ví dụ Cho điểm A(4,3), B(6,4) Phương trình tham số đường thẳng : x = + 2t y = + t 1 10 Trang Thuật toán LiangLiang-Barsky Thuật toán bước Lập hệ bất phương trình bước Giải hệ bất phương trình bước Nhận xét nghiệm Trang Bước Wl ≤ P1x + (P2x − P1x )t ≤ Wr Wb ≤ P1y + (P2y − P1y )t ≤ Wt t ∈ [0,1] Trang Bước Đặt p1 = −(P2x − P1x ) q1 = P1x − Wl p2 = P2x − P1x q2 = Wr − P1x p3 = −(P2y − P1y ) q3 = P1y − Wb p4 = P2y − P1y q4 = Wt − P1y Hệ phương trình p1t ≤ q1 p2t ≤ q2 p3 t ≤ q3 p4 t ≤ q4 t ∈ [0,1] Trang Bước : tiếp th1 p = Nếu q < vô nghiệm Nếu q ≥ Bất phương trình p.t ≤ q t ∈ [- ∞, ∞] th2 p > q t ∈ - ∞, p th3 p < q t ∈ , ∞ p Trang Bước : tiếp th1 p = Nếu q < vô nghiệm Hệ bất phương trình p.t ≤ q t ∈ [t1, t ] Nếu q ≥ t1moi = t1 t 2moi = t th2 p > t1moi = t1 t 2moi = min(t , q p) th3 p < t1moi = max(t1, q p) Trang t 2moi = t Bước Nếu hệ vô nghiệm P2 Đoạn thẳng P1P2 P1 Nếu hệ có nghiệm P2 t ∈ [t1, t ] Q1x = P1x + (P2x − P1x )t1 Q1y = P1y + (P2y − P1y )t1 Q2x = P1x + (P2x − P1x )t Q2y = P1y + (P2y − P1y )t Q2 P1 Q1 Trang 10 Tóm tắt Trang 11