Đồ họa máy tính - Chương 4 Kỹ thuật xử lý hình khuất - Bài 14 doc

6 381 0
Đồ họa máy tính - Chương 4 Kỹ thuật xử lý hình khuất - Bài 14 doc

Đang tải... (xem toàn văn)

Thông tin tài liệu

Kỹ thuật Đồ hoạ máy tính 78 Mặt Các đỉnh 1 1 2 3 4 2 5 6 7 8 3 1 2 6 5 4 2 3 7 6 5 3 4 8 7 6 4 1 5 8 Vẽ hình lập phơng theo mô hình trên Bài tập : Biểu diễn các khối đa diện đều và viết chơng trình minh hoạ : 1. Tứ diện đều 2. Khối lập phơng 3. Bát diện đều (8 mặt, mỗi mặt là một tam giác đều, 1 đỉnh kề 4 mặt) 4. Nhị thập diện đều (20 mặt, mỗi mặt là một tam giác đều, 1 đỉnh kề 5 mặt) 5. Thập nhị diện đều (12 mặt, mỗi mặt là một ngũ giác đều, 1 đỉnh kề 3 mặt) 6. Biểu diễn hình lăng trụ và viết chơng trình minh hoạ $14. Xác định đờng khuất mặt khuất Để có thể tạo ra ảnh nổi trong không gian 3 chiều ngời ta phải bỏ đi các mặt khuất đờng khuất hoặc dựa vào màu sắc để tạo nên độ sáng tối khác nhau, điều này dẫn đến bài toán xác định mặt khuất đờng khuất trong kỹ thuật đồ hoạ 1. Xác định phía trớc phía sau của một mặt Giả sử cho một vật thể trong không gian 3D đợc giới hạn bởi các mặt là các đa giác Một mặt giới hạn cùng vật thể là phần giới hạn của mặt phẳng chứa đa giác đó giả sử mặt phẳng có phơng trình: Kỹ thuật Đồ hoạ máy tính 79 ax+by+cz+d=0 (*) Mặt phẳng (*) chia không gian thành hai phần. Chúng ta quy ớc tất cả các điểm (x,y,z) mà ax+by+cz+d <0 là phía sau của mặt và tập các điểm (x,y,z) mà ax+by+cz+d 0 là phần phía trớc của mặt Với các quy định trên thì vật thể là tập hợp tất cả các điểm thuộc phần phía sau của tất cả các mặt tạo nên vật thể Từ đây ta cũng suy ra những điểm nằm về phía sau của tất cả các mặt tạo nên phần bên trong vật thể, phần còn lại của không gian là phần bên ngoài vật thể, suy ra ngời quan sát có thể nhìn thấy vật thể khi ngời đó ở phía ngoài vật thể Giả sử vật thể 3D đợc cho bởi danh sách các mặt và mỗi mặt là danh sách các cạnh hoặc các đỉnh. Mỗi mặt là một đa giác lồi. Ta giả sử các cạnh đợc đánh số theo chiều ngợc chiều kim đồng hồ. Gọi n là véctơ pháp tuyến của mặt ABCD ngợc với hớng nhìn từ bên ngoài Giả sử ngời quan sát ở vị trí Ex y z EEE (,,) nhìn vào vật thể. Lấy một điểm P bất kỳ trên mặt Si của vật thể khi đó vectơ ep tạo nên hớng nhìn của ngời quan sát đối với mặt Si E D C b n a B A Kỹ thuật Đồ hoạ máy tính 80 n E P n a b Xét tích các hớng epn ep n n ep .cos(,)= khi đó nếu ep n . < 0 góc (, ) nep O < 90 thì mặt Si chứa điểm P bị che khuất khi đó các cạnh tạo nên mặt bị che khuất không nhìn thấy, nó tạo nên các đờng khuất. Ngợc lại nếu (, ) nep O 90 thì ngời quan sát nhìn thấy mặt Si và do đó các cạnh tạo nên mặt Si không bị che khuất Chú ý: 1. Chúng ta chú ý rằng nếu mặt phẳng song song với hớng nhìn thì hình ảnh của mặt trên mặt phẳng chiếu là một đoạn thẳng 2. Việc xác định các đờng khuất mặt khuất dựa theo nguyên tắc trên đối với các vật thể có hình dạng tuỳ ý là rất phức tạp vì các cạnh có thể bị che khuất một phần do các mặt khác mà không phải bị che khuất toàn bộ. Nguyên tắc trên chỉ thích hợp với các vật thể đơn giản P E O n A C B Kỹ thuật Đồ hoạ máy tính 81 2. Thuật toán mô tả vật thể theo độ sâu (Depth buffer Method) Bây giờ chúng ta khảo sát một thuật toán khác - gọi là thuật toán mô tả vật thể theo độ sâu, ý tởng của thuật toán rất đơn giản là dựa vào khoảng cách giữa mỗi điểm trên vật thể với vị trí ngời quan sát để tô màu sáng tối khác nhau Ưu điểm của phơng pháp này là vật thể có thể có hình dạng bất kỳ không nhất thiết là đa diện, dễ ứng dụng, dễ hiểu Bài toán nh sau : Giả sử cho vật thể V đợc giới hạn bởi các mặt S1,S2 Sm, các điểm (i,j) thuộc mặt Sk của vật thể đợc tô bởi màu f(k,i,j) (k=1,m) (để đơn giản ta có thể giả thiết các điểm của mỗi mặt Sk đợc tô cùng một màu fk). Giả sử ngời quan sát ở vị trí Ex y z EEE ( ,,) và nhìn vật thể theo hớng OZ S1 S2 Z Y O X Thuật toán mô tả vật thể theo độ sâu đợc thể hiện nh sau: Ta sử dụng hai mảng : một mảng gọi là mảng depth(i,j) dùng để chứa độ sâu theo hớng OZ của điểm (i,j) nào đó, mảng thứ hai là mảng có tên gọi color(i,j) dùng để chứa màu cần tô của điểm (i,j) Thuật toán: 1. Với mỗi điểm (i,j) thuộc hình chữ nhật bao vật thể ta đặt Kỹ thuật Đồ hoạ máy tính 82 depth(i,j):=0; color(i,j):=<màu nền> 2. For (mỗi điểm (i,j) thuộc hình chữ nhật bao vật thể) Do Begin For k:=1 To m Do Begin If (điểm (i,j) thuộc mặt Sk) Then Begin Tính độ sâu của điểm (i,j) thuộc Sk : z:=(-a k i-b k j-d k )/c k If (z<depth(i,j)) Then Begin depth(i,j):=z; color(i,j):=f(k,i,j); End; End; End; End; 3. Với mỗi điểm (i,j) thuộc hình chữ nhật bao vật thể vẽ điểm (i,j) bằng màu color(i,j); 4. Kết thúc Ưu điểm của thuật toán này nh trên đã nêu đơn giản, dễ áp dụng cho mọi đối tợng. Nhiều lúc nó còn có u điểm lớn hơn là với vật thể phức tạp, số mặt tăng lên số phép tính không tăng. Nhợc điểm lớn nhất là kích thớc của 2 mảng tăng nhanh khi độ phân giải của màn hình tăng Chú ý: Nếu các mặt của vật thể là các đa giác nghĩa là một phần của mặt phẳng: ax+by+cz+d=0 khi đó việc tính độ sâu z đợc tính theo công thức: z a x b y d c kkk k = 3. Thuật toán xác định vật thể theo đờng quét Phơng pháp ny còn có tên gọi l thuật toán scan-line ý tởng của thuật toán nh sau: Kỹ thuật Đồ hoạ máy tính 83 Giả sử cho vật thể V trong không gian 3D. Ngời quan sát ở vị trí E nhìn vật thể V theo hớng OZ khi đó ta thực hiện các bớc sau: 1. Chiếu vật thể V theo hớng OZ lên mặt phẳng chiếu XOY. Giả sử S1,S2 Sm tơng ứng là hình chiếu của các mặt V1,V2 Vm của vật thể V 2. Giả sử hình chiếu của vật thể đợc bao bởi hình chữ nhật (x min , x max) x ( y min , y max) For i:= y min To y max Do Begin Kẻ đờng thẳng y= i (song song với OX) Gọi x 1 <= x 2 <= <= x m là hoànhđộ của các giao điểm của tia quét với biên của các mặt hình chiếu For j:=1 To m-1 Do Begin xét đoạn thẳng x j x j+1 If (x j x j+1 chỉ thuộc 1 mặt) Then (tô màu x j x j+1 theo mặt đó) Else Begin Tại mỗi điểm trên đoạn xác định độ sâu của điểm theo từng mặt để chọn đợc mặt gần nhất và tô màu của điểm theo mặt đó End; End; End; Chú ý: Phơng pháp này thực chất là cải tiến của phơng pháp độ sâu ở trên với cách này có thể làm giảm kích thớc của mảng độ sâu và mảng màu trong thuật toán độ sâu. . Kỹ thuật Đồ hoạ máy tính 78 Mặt Các đỉnh 1 1 2 3 4 2 5 6 7 8 3 1 2 6 5 4 2 3 7 6 5 3 4 8 7 6 4 1 5 8 Vẽ hình lập phơng theo mô hình trên Bài tập : Biểu diễn. bị che khuất một phần do các mặt khác mà không phải bị che khuất toàn bộ. Nguyên tắc trên chỉ thích hợp với các vật thể đơn giản P E O n A C B Kỹ thuật Đồ hoạ máy tính 81 2. Thuật toán. (i,j) Thuật toán: 1. Với mỗi điểm (i,j) thuộc hình chữ nhật bao vật thể ta đặt Kỹ thuật Đồ hoạ máy tính 82 depth(i,j):=0; color(i,j):=<màu nền> 2. For (mỗi điểm (i,j) thuộc hình chữ

Ngày đăng: 24/07/2014, 10:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan