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

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

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

Thông tin tài liệu

Kỹ thuật Đồ hoạ máy tính 73 q[1]:=x1-xmin; q[2]:=xmax-x1; q[3]:=y1-ymin; q[4]:=ymax-y1; For k:=1 To 4 Do Begin t:=q[k]/p[k]; If p[k]<0 then If t1<t Then t1:=t; If p[k]>0 then If t2>t then t2:=t; End; If t1<=t2 then Begin xw1:=x1+t1*dx; yw1:=y1+t1*dy; xw2:=x1+t2*dx; yw2:=y1+t2*dy; Line(Round(xw1),Round(yw1),Round(xw2),Round(yw2)); End; End; (*****************************) Begin Clrscr; write('Nhap (xmin,ymin): '); readln(xmin,ymin); write('Nhap (xmax,ymax): '); readln(xmax,ymax); write('Nhap (a1,b1): '); readln(a1,b1); write('Nhap (a2,b2): '); readln(a2,b2); gd:=detect; Initgraph(gd,gm,'C:\tp\bgi'); setcolor(White); setlinestyle(1,0,0); Line(Round(a1),Round(b1),Round(a2),Round(b2)); setlinestyle(0,0,0); If (a1<>a2) And (b1<>b2) Then Liang_Barsky_Clipping(a1,b1,a2,b2) Else Special_Line(a1,b1,a2,b2); settextjustify(1,1); outtextxy(320,450,'HIEN THI MOT DOAN THANG TRONG MOT CUA SO CHO TRUOC'); outtextxy(320,470,'THEO THUAT TOAN LIANG_BARSKY'); rectangle(xmin,ymin,xmax,ymax); Readln; Closegraph; End. $13. Vùng nhìn thấy Trong khi quan sát các vật thể trong không gian chúng ta gặp hai tình huống sau: 1. Từ vị trí quan sát chúng ta có thể nhìn thấy một phần hay không nhìn thấy vật thể. Điều này phụ thuộc vào vị trí và góc nhìn của ngời quan sát đối với vật thể Kỹ thuật Đồ hoạ máy tính 74 2. Từ vị trí ngời quan sát khi có nhiều vật thể thì có thể có vật thể nhìn thấy toàn bộ, một phần hoặc không nhìn thấy Bài toán đặt ra là cần phải thể hiện phần không bị khuất của các vật thể tuỳ theo vị trí và góc độ quan sát của ngời quan sát 1. Mô tả vùng quan sát Để dễ hình dung, chúng ta có thể giả sử ngời quan sát có một máy ảnh, ống kính của máy ảnh hớng theo trục OZ mặt phẳng chiếu là diện tích của tấm phim trong buồng tối có kích thớc 2u x 2w khoảng cách từ mắt ngời quan sát đến mặt phẳng chiếu là v=EO. Ta gọi vùng nhìn thấy đợc của ngời quan sát là hình chóp vô hạn có đỉnh E và các cạnh là các đờng thẳng đi qua đỉnh E và có hớng là: u v wu v w v uw v uw++ + + ,,,, Ví dụ: e p eo o p eouwvuw 33 = + = + + = + + . Nói chung điểm E vị trí của ngời quan sát có thể là một điểm tuỳ ý trong không gian, giả sử E(x e ,y e ,z e ) các vectơ u v w,, vuông góc với nhau từng cặp và P(x,y,z) là một điểm nào đó, hãy xác định hình chiếu P' của P lên mặt phẳng chiếu qua tâm E Từ hình vẽ dễ dàng nhận xét: v ep = cos () = ==ep v ep ep ep v ep ep v 1 .cos cos . Z w P 2 P 3 u P 4 E O P 1 v P u w v O P' E Kỹ thuật Đồ hoạ máy tính 75 () =ep ep ep v . ().1 Công thức (1) cho chúng ta cách xác định P' thông qua vectơ ep và véctơ v Ta có thể xác định P' theo một công thức khác ep v op = + ' Trên mặt phẳng ta có: op x e y e uw ' = + ở đây e u u e w w xy uw == ,,, là toạ độ của P' trong hệ toạ độ Ouw = + + ep v x e y e uw ()2 hay ep x y e e v u v = (,,) ()13 Nhân (2) lần lợt với ee v uw ,, ta suy ra: = = = xepe yepe vv epv u w . . ()4 thay ep ep ep v = (.) Ta có: = = x ep e ep v y ep e ep v u w (. ) (.) (. ) (.) () 5 Công thức (5) là tọa độ x',y' cần tìm của P' trên mặt phẳng Chú ý: Công thức (5) không xác định khi ep v . =0. Điều này có nghĩa là P nằm trên mặt phẳng song song với và đi qua tâm chiếu E. Trong công thức (5) nếu ep v . <0 điều này có nghĩa góc của ep và v lớn hơn 90 o . Có nghĩa điểm P nằm về phía sau tâm chiếu do đó P không nằm trong vùng nhìn thấy, nh vậy không thể có P' Trong công thức (5) nếu ep v . >0 điều này chứng tỏ P thuộc vùng nhìn thấy và x',y' là đợc xác định Kỹ thuật Đồ hoạ máy tính 76 -ux'u, -wy'w 2. Chuyển hệ toạ độ thực về hệ toạ độ quan sát Chúng ta gọi hệ toạ độ mô tả đối tợng là hệ toạ độ thực hay hệ toạ độ cho trớc ký hiệu là OXYZ, gọi hệ toạ độ quan sát là hệ toạ độ ngời quan sát dùng để quan sát đối tợng ký hiệu là O'X'Y'Z'. Trong hệ toạ độ quan sát ta giả sử ngời quan sát quan sát đối tợng theo hớng O'Z' và ở vị trí cách O' một đơn vị O Y X' X Z Z' O' Y ' E(X E ,Y E ,Z E ) Nếu hệ toạ độ thực OXYZ cha trùng với hệ toạ độ quan sát ta cần phải thực hiện các phép biến đổi tịnh tiến và quay để đa hệ toạ độ thực về hệ toạ độ quan sát. 3. Mô tả vật thể a. Mô hình khung giây (Wireframe) Một mô hình Wireframe thể hiện hình dáng của đối tợng 3 chiều bằng 2 danh sách, một danh sách các đỉnh và một danh sách các cạnh. Danh sách các đỉnh lu giữ toạ độ các đỉnh của đối tợng và đợc đánh số thự tự thích hợp, danh sách các cạnh lu giữ số thứ tự của cặp các điểm đầu và cuối của mỗi cạnh Ví dụ : Danh sách các đỉnh và các cạnh của một hình lập phơng Danh sách các đỉnh Đỉnh x y z 1 0 0 0 2 0 100 0 3 0 100 100 4 0 0 100 5 100 0 0 6 100 100 0 7 100 100 100 8 100 0 100 Danh sách các cạnh Cạnh đỉnh 1 đỉnh 2 1 1 2 2 2 3 3 3 4 Kỹ thuật Đồ hoạ máy tính 77 4 4 1 5 5 6 6 6 7 7 7 8 8 8 5 9 1 5 10 2 6 11 3 7 12 4 8 Vẽ hình lập phơng theo mô hình trên b. Mô hình đa giác (Polygon Method) Không có gì khác nhau giữa mô hình đa giác và mô hình Wireframe. Mô hình đa giác thể hiện hình dáng của đối tợng 3 chiều bằng 2 danh sách, một danh sách các đỉnh và một danh sách các mặt. Danh sách các đỉnh lu giữ toạ độ các đỉnh của đối tợng và đợc đánh số thự tự thích hợp, danh sách các mặt lu giữ số thứ tự của các đỉnh lần lợt là các đỉnh của mỗi mặt Ví dụ : Danh sách các đỉnh và các mặt của một hình lập phơng Danh sách các đỉnh Đỉnh x y z 1 0 0 0 2 0 100 0 3 0 100 100 4 0 0 100 5 100 0 0 6 100 100 0 7 100 100 100 8 100 0 100 Danh sách các mặt 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: . 1 2 2 2 3 3 3 4 Kỹ thuật Đồ hoạ máy tính 77 4 4 1 5 5 6 6 6 7 7 7 8 8 8 5 9 1 5 10 2 6 11 3 7 12 4 8 Vẽ hình lập phơng theo mô hình trên b. Mô hình đa giác (Polygon. Kỹ thuật Đồ hoạ máy tính 73 q[1]:=x1-xmin; q[2]:=xmax-x1; q[3]:=y1-ymin; q [4] :=ymax-y1; For k:=1 To 4 Do Begin t:=q[k]/p[k]; If p[k]<0. các mặt 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

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