Bài 3:<br />
Các giải thuật cơ sở<br />
<br />
Le Tan Hung<br />
hunglt@it-hut.edu.vn<br />
0913030731<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
1<br />
<br />
Nội dung<br />
<br />
<br />
<br />
<br />
<br />
Các giải thuật xén tỉa - Clipping<br />
Các thuật toán tô miền kín<br />
Phép tô mầu<br />
Phép xử lý Antialiasing<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
2<br />
<br />
Xén tỉa - Clipping<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Nhiệm vụ cơ bản trong đồ họa là giữ các<br />
phần của đối tượng lựa chọn nằm bên<br />
ngoài đồ hoạ.<br />
Xén tỉa là việc di chuyển tất cả các đối<br />
tượng hoặc các phần của đối tượng thuộc<br />
mô hình ngữ cảnh ra bên ngoài của sổ thế<br />
giới thực<br />
Việc loại từng điểm ảnh của đối tượng<br />
thường chậm nhất là khi đối tượng mà<br />
phần lớn nằm ngoài cửa sổ hiển thị.<br />
Kỹ thuật thực hành là cần thiết để nâng<br />
cao tốc độ trong thực hiện nhiệm vụ<br />
<br />
<br />
<br />
Định nghĩa<br />
Clipping điểm<br />
xmin ≤ x ≤ xmax<br />
ymin ≤ y ≤ ymax<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
3<br />
<br />
Clipping đoạn thẳng<br />
<br />
<br />
<br />
<br />
<br />
<br />
Lines are defined by their endpoints, so it should be<br />
<br />
possible just to examine these (in a similar way to points) and<br />
determine whether or not to clip without considering every<br />
pixel on the line<br />
We often have windows that are either very large, i.e. nearly<br />
the whole scene fits inside, or very small, i.e. most of the<br />
scene lies inside the window<br />
Hence, most lines may be either trivially accepted or rejected<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
4<br />
<br />
Giải thuật Cohen Sutherland<br />
Outcode<br />
<br />
<br />
<br />
<br />
<br />
<br />
The Cohen-Sutherland line-clipping algorithm is particularly<br />
fast for “trivial” cases, i.e. lines completely inside or outside<br />
the window.<br />
Non-trivial lines, i.e. ones that cross a boundary of the<br />
window, are clipped by computing the coordinates of the new<br />
boundary endpoint of the line where it crosses the edge of the<br />
window<br />
Each point on all lines are first assigned an “outcode”<br />
defining their position relative to the clipping rectangle<br />
<br />
(c) SE/FIT/HUT 2002<br />
<br />
5<br />
<br />