window, are clipped by computing the coordinates of the new boundary endpoint of the line where it crosses the edge of the window. Each point on all lines are first assigned an “outc[r]
(1)(c) SE/FIT/HUT 2002
Bài 3:
Các giải thuật cơ sở
Le Tan Hung
(2)Nội dung
Các giải thuật xén tỉa - Clipping Các thuật toán tơ miền kín
Phép tơ mầu
(3)(c) SE/FIT/HUT 2002
Xén tỉa - Clipping
Nhiệm vụ đồ họa giữ
phần đối tượng lựa chọn nằm bên đồ hoạ
Xén tỉa việc di chuyển tất đối
tượng phần đối tượng thuộc mơ hình ngữ cảnh bên sổ
giới thực
Việc loại điểm ảnh đối tượng
thường chậm đối tượng mà phần lớn nằm cửa sổ hiển thị
Kỹ thuật thực hành cần thiết để nâng
cao tốc độ thực nhiệm vụ
Định nghĩa
Clipping điểm
xmin ≤ x ≤ xmax
(4)Clipping đoạn thẳng
Lines are defined by their endpoints, so it should be
possible just to examine these (in a similar way to points) and determine whether or not to clip without considering every pixel on the line
We often have windows that are either very large, i.e nearly
the whole scene fits inside, or very small, i.e most of the scene lies inside the window
(5)(c) SE/FIT/HUT 2002
Outcode
The Cohen-Sutherland line-clipping algorithm is particularly
fast for “trivial” cases, i.e lines completely inside or outside the window
Non-trivial lines, i.e ones that cross a boundary of the
window, are clipped by computing the coordinates of the new boundary endpoint of the line where it crosses the edge of the window
Each point on all lines are first assigned an “outcode”
(6)(7)(c) SE/FIT/HUT 2002
Lyang Barsky
The Cohen-Sutherland algorithm requires the window to be a rectangle, with edges aligned with the
co-ordinate axes
It is sometimes necessary to clip to any convex polygonal window, e.g triangular, hexagonal, or rotated.
The, and Liang-Barsky line clippers better optimise the intersection calculations for clipping to window
boundary
(8)(9)(c) SE/FIT/HUT 2002
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 < ⇒ vô nghiệm)
b)Nếu qk >= thì bất phương trình ln
(10) Nếu Pk ≠ 0 :
uk = qk/Pk
Pk <
• u ≥ qk/Pk Ù u ≥ uk Pk >
• u ≥ uk u ≤ qk/Pk