Đồ họa hiện thực ảo - Bài 3 (HUST) GV. Lê Tấn Hùng

LI
lienhejb
0 次下载
39
0

资料内容

第 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 „ Phép xử lý Antialiasing (c) SE/FIT/HUT 2002 2

第 3 页

Xén tỉa - Clipping „ Nhiệm vụ cơ bản trong đồ họa là giữ các phần của đối tượng lựa chọn nằm bên ngoài đồ hoạ. „ Xén tỉa là việc di chuyển tất cả các đối tượng hoặc các phần của đối tượng thuộc mô hình ngữ cảnh ra bên ngoài của sổ thế giới thực „ Định nghĩa „ Việc loại từng điểm ảnh của đối tượng Clipping điểm thường chậm nhất là khi đối tượng mà xmin ≤ x ≤ xmax phần lớn nằm ngoài cửa sổ hiển thị. „ Kỹ thuật thực hành là cần thiết để nâng ymin ≤ y ≤ ymax „ cao tốc độ trong thực hiện nhiệm vụ (c) SE/FIT/HUT 2002 3

第 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 „ Hence, most lines may be either trivially accepted or rejected (c) SE/FIT/HUT 2002 4

第 5 页

Giải thuật Cohen Sutherland 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” defining their position relative to the clipping rectangle (c) SE/FIT/HUT 2002 5

第 7 页

Giải thuật Cyrus-Beck 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 „ Nicholl-Lee-Nicholl reducing redundant boundary clipping by identifying edge and corner regions (c) SE/FIT/HUT 2002 7

第 8 页

q = x − x  P = − Dx 1  1 1 m  P = Dx q = x − x  2  2 M 1  P = − Dy q = y − y  3 3 1 m  P = Dy q = y − y  4 4 M 1 (c) SE/FIT/HUT 2002 8

第 9 页

„ 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 ⇒ vô nghiệm) „ b)Nếu qk >= 0 thì bất phương trình luôn thoả mãn. (c) SE/FIT/HUT 2002 9

第 10 页

„ Nếu Pk ≠ 0 : „ uk = qk/Pk. „ Pk < 0 • u ≥ qk/Pk Ù u ≥ uk. „ Pk > 0 • u ≥ uk u ≤ qk/Pk • u ≤ uk với uk = qk/Pk • đoạn thẳng có dạng đi từ trong ra ngoài so với cạnh k. (c) SE/FIT/HUT 2002 10

第 11 页

„ Pk < 0 và uk < 0 „ uk ≤ u< 0 thoả mãn bất phương trình sẽ không nằm trên đoạn thẳng cần xét. „ => uk sẽ nhận là 0 khi uk<0 „ Pk > 0 và uk > 1 „ => uk tương ứng sẽ nhận giá trị 1. „ điểm nằm trong cửa sổ clipping sẽ có dạng như sau: „ U ≤ u ≤ U 1 2 (c) SE/FIT/HUT 2002 11

第 12 页

{ }  q  U = min 1 ∪ u : u = k ,P > 0 2   k k P k   k  { }  q  U = max 0 ∪ u : u = k ,P < 0 1   k k P k   k  (c) SE/FIT/HUT 2002 12

第 13 页

Nicholl-Lee-Nicholl clipping „ Some edges are irrelevant to clipping, particularly if one vertex a lies inside region. „ Cases: „ x1 in „ x1 in corner region a „ x1 in edge region „ For each case, we generate specialized test regions for x2, which a use simple tests (slope, >, <), and tell which edges to clip against. (c) SE/FIT/HUT 2002 13

第 14 页

Nicholl-Lee-Nicholl (2) „ Special cases for each endpoint location and slope „ Number of cases explodes in 3D, making it unsuitable 1 2 Reject 3 Top Left Top, Right 4 Left, bottom Top, Bottom (c) SE/FIT/HUT 2002 14

第 15 页

Giải thuật đường biên (Boundary - File Algorithm) „ Giải_thuật_đường_biên ( x, y ) Color : biến mầu Begin Color = Readpixel ( x, y ); If ( Color = mầu tô ) or ( Color = mầu đường biên ) Kết thúc vì chạm biên hoặc chạm phần đã tô Else Giải_thuật_đường_biên ( x+1, y ); Giải_thuật_đường_biên ( x-1, y ); Giải_thuật_đường_biên ( x, y+1 ); Giải_thuật_đường_biên ( x, y-1 ); // Thực hiện lại giải thuật với các điểm lân cận End. (c) SE/FIT/HUT 2002 15

第 16 页

Giải thuật dòng quét-Scanline cho việc tô mầu vùng round down round up AET = y current x denominator current numerator ma 16 (c) SE/FIT/HUT 2002 x

第 17 页

Giải thuật tô vùng kín theo mẫu (Pattern Filling) „ Phương pháp 1 „ Phương pháp 2 (c) SE/FIT/HUT 2002 17

第 18 页

Hiệu ứng răng cưa Aliasing „ SPATIAL ALIASING, IN PICTURES „ moire patterns arise in „ image warping & texture mapping „ jaggies arise in rendering „ TEMPORAL ALIASING, IN AUDIO „ when resampling an audio signal at a lower sampling frequency, „ e.g. 50KHz (50,000 samples per second) to 10KHz „ TEMPORAL ALIASING, IN FILM/VIDEO „ strobing and the “wagon wheel effect” „ jaggies in foreground. „ jaggies (c) SE/FIT/HUT 2002 18

第 19 页

Antialiasing „ Méo thông tin trong quá trình lấy mẫu tần số thấp sampling frequency „ In raster images – leads to jagged edges with hiệu ứng bậc thang – staircase effect „ We can reduce effects by antialiasing methods to compensate for undersampling (c) SE/FIT/HUT 2002 19

第 20 页

When Does Spatial Aliasing Occur? „ During image synthesis: „ when sampling a continuous (geometric) model to create a raster image, „ e.g. scan converting a line or polygon. „ Sampling: converting a continuous signal to a discrete signal. „ During image processing and image synthesis: „ when resampling a picture, as in image warping or texture mapping. „ Resampling: sampling a discrete signal at a different sampling rate. Example: “zooming” a picture from nx by ny pixels to snx by sny pixels s>1: called upsampling or interpolation can lead to blocky appearance if point sampling is used s<1: called downsampling or decimation can lead to moire patterns and jaggies(c) SE/FIT/HUT 2002 20

显示前 20 页。下载资料查看完整内容。

评论 (0)

登录 以加入讨论

暂无评论。快来抢沙发吧!