Bài 3 trình bày về các phép giải thuật cơ sở. Nội dung chính trong chương này gồm có: Các giải thuật xén tỉa - Clipping, các thuật toán tô miền kín, phép xử lý Antialiasing. . | Khoa CNTT-DDHBK Hà nội Email: hunglt@ 0913030731 Nội dung Các giải thuật cơ sở Bài 3 Các giải thuật xén tỉa - Clipping z Các thuật toán tô miền kín z Phép xử lý Antialiasing z Le Tan Hung hunglt@ 0913030731 2 1 Xén tỉa - Clipping Clipping đoạn thẳng Khái niệm Xén tỉa là tiến trình tự động xác định các điểm của 1 đối tượng nằm trong hay ngoài cửa sổ hiển thị Tiết kiệm thời gian tiến trình rasterize bỏ qua phần nằm ngoài cửa sổ hiển thị ymax Clipping điểm xmin ≤ x ≤ xmax ymin ≤ y ≤ ymax z Tiến trình, giải thuật kiểm tra chấp nhận các đoạn thẳng nằm trong và loại bỏ các đoạn thẳng nằm ngoài dựa trên 2 điểm đầu cuối Lý do: Không kiểm tra mọi điểm trên đoạn thẳng Hầu hết các đoạn thẳng với 1 màn hình hiển thị đều được chấp nhận hoặc loại bỏ Rất ít các đợn thẳng cắt cửa sổ hiển thị Giải thuật Cohen-Sutherland thực hiện nhanh với các trương hợp đoạn thẳng nằm trong hay ngoài cửa sổ hiện thị z If OR == 0000 z If AND != 0000 z Mỗi điểm đầu cuối được gán mã code phụ thuộc vào vị trí trong mặt phẳng mã z z = 0000 If > or 0001 If > or 0100 If >= xmax >> or 0010 If >= ymax >> or 1000 z z z z xmin z xmax z z ymin 3 4 Giải thuật Cohen Sutherland Outcode z z z z z 5 – Chấp nhận toàn đoạn thẳng – Loại Với truờng hợp cắt, giải thuật xác định lại điểm đầu cuối là giao của đoạn thẳng và khung bao của cửa sổ hiển thị 6 1 Khoa CNTT-DDHBK Hà nội Email: hunglt@ 0913030731 Liabarsky z x = x1 + (x2 - x1)u = x1 + uDx y = y1 + (y2 - y1)u = y1 + uDy xmin ≤ x1 + ≤ xmax ⇔ x ∈ [xm, xM] ymin ≤ y1 + ≤ ymax ⇔ y ∈ [ym, yM] z Pk u ≤ qk z z z z k = 1, 2, 3, 4 ⎧q1 = x1 − xm ⎪q = x − x ⎪ 2 M 1 ⎨ ⎪q3 = y1 − ym ⎪⎩q4 = y M − y1 z ⎧ ⎪ ⎪ ⎨ ⎪ ⎪⎩ P1 = − Dx z P 2 = Dx Nếu Pk = 0 : điều đó tương đương với việc đoạn thẳng đang xét song song với cạnh thứ k của hình chữ nhật clipping. a) Nếu qk = 0 thì đoạn thẳng nằm trong hoặc .