De cuong DHMT

December 25, 2018 | Author: Phuc Dinh | Category: N/A
Share Embed Donate


Short Description

Download De cuong DHMT...

Description

Các vấn đề của Đồ họa máy tính 1. Đồ họa là gì? Các ứng dụng của đồ họa máy tính? 2. Các công nghệ hiển thị? Tại sao các thuật toán dựa trên đường quét (scanline) lại phù hợ p vớ i kiến trúc phần c ứng c ủa máy tính hiện t ại? Với các thuật toán vẽ đườ ng ng thẳng trên k iến trúc phần c ứng của máy tính hiện t ại, chỉ loại đườ ng ng thẳng nào đượ c vẽ ra m ớ i thực s ự thẳng? Yếu điểm của thiết bị mành? 3. Trình bày thuật toán tô phủ loang? Nhược điểm của thuật toán. 4. Trình bày thuật toán tô phủ loang Smith? 5. Trình bày thuật toán Fishkin? 6. Định lý Jordan hay việc kiểm tra 1 điểm có thuộc miền trong đa giác hay không? 7. Thế nào là một đườ ng ng thẳng lý tưở ng? ng? 8. Trình bày cách thể hiện đườ ng ng thẳng dướ i dạng tham s ố t. 9. Trình bày thuật toán vẽ đoạn thẳng DDA? 10. Trình bày thuật toán vẽ đoạn thẳng Bresenham?  phía nào đườ ng 11. Trình bày cách kiểm tra một điểm nằm ở  phía ng thẳng? 12. Trình bày thuật toán vẽ đoạn thẳng điểm giữa? 13. Trình bày thuật toán vẽ đường tròn bằng thuật toán điểm giữa? 14. Các phép biến đổi? Trình bày phép tịnh tiến 2D, co giãn 2D theo gốc tọa độ, quay 2D quanh tâm? 15. Tọa độ đồng nhất? Tại sao ngườ i ta sử dụng tọa độ thuần nhất ? 16. Các phép biến đổi vớ i tọa độ đồng nhất? 17. Kết hợp các phép biến đổi? 18. Trình bày phép kéo? 19. Biểu diễn ma trận của các phép biến đổi 3D? 20. Phép chiếu là gì? Phân loại phép chiếu? 21. Phép chiếu phối cảnh? Điểm biến mất? 22. Phép chiếu song song? 23. Các thuật toán xác định bề mặt hiện? 24. Thuật toán xác định mặt quay vào trong? 25. Thuật toán ưu tiên theo danh sách Schumacker? 26. Thuật toán sắp xếp theo chi ều sâu Newell-Newell-Sancha. 27. Thuật toán BSP? 28. Thuật toán Warnock? 29. Thuật toán Weiler -Atherton? -Atherton? 30. Thuật toán bộ đệm Z? 31. Tại sao thuật toán bộ đệm Z lại thong dụng? 32. Mô hình ánh sáng ? Mô hình tạo bóng ? 33. Mô hình sáng cục bộ? 34. Mô hình sáng toàn cục? 35. Các mô hình tạo bóng? Trả lờ i: i:

Chƣơng 1: Giớ i thiệu 1. Đồ họa máy tính là Các ứ ng ng dụng của đồ họa máy tính là: Trong các giao diện ngườ i sử dụng trên màn hình máy tính. Vẽ biểu đồ trong kinh doanh, khoa h ọc và công nghệ. Vẽ bản đồ. Trong y học: siêu âm, chiếu chụp,.. Mô phỏng và hoạt ảnh cho trực quan hóa khóa học. -

-

Các hệ thống đa phương tiện, phim ảnh, truyền hình,.....

2. -

Các công nghệ hiển thị: có 2 công nghệ chính là: Các thiết bị hiển thị véc-tơ. Các thiết bị hiển thị mành. (Các thiết bị hiển thị tinh thể lỏng là mới được áp dụng gần đây.) Các thuật toán đườ ng ng quét phù hợ p v ớ i ki ến trúc phần c ứng c ủa máy tính hiện t ại vì một số ƣu điểm sau: Không tốn nhiều bộ nhớ . Khả năng tô phủ các vùng hiển th ị vớ i một màu hoặc một m ẫu nhất định là tốt và giá thành thấp. Các loại đƣờ ng ng thẳng đƣợ c v ẽ ra thật s ự  thẳng là: các đườ ng ng thẳng song song v ớ i trục tọa độ hay các đườ ng ng thẳng có góc 45 độ so vớ i trục tọa độ, Yếu điểm của thiết bị mành: Có sự rờ i rạc đượ c tạo ra do cách biểu diễn thông qua điểm. Xảy ra hiện tượ ng ng lỗi lấy mẫu đượ c gọi là răng cưa khi vẽ các đườ ng ng thẳng, đa giác…độ chính xác phụ thuộc vào độ phân độ phân giải của thiết bị đầu ra.

Chƣơng 2: Các khái niệm cơ bả n 2. -

Đoạn thẳng lý tƣởng là: Đoạn thẳng trông phải thẳng. Phải bắt đầu và kết thúc đúng điểm. Phải có mật độ điểm đều nhau. Phải có mật độ điểm không phụ thuộc vào độ dài và hệ số góc của đoạn thẳng. Phải đượ c vẽ ra một cách nhanh chóng.

3.

Các bƣớ c xử lý ử lý đồ họa:

Các thuật ngữ:

Các bƣớ c xử lý ử lý luồng đồ họa 3D:

Các bƣớ c xử lý đồ họa 2D:

Chƣơng 3: Các thuật toán mành hóa 5. Thuật toán tô phủ (Fill Problem) Bài toán tô phủ loang(Flood fill problem): V ới hai màu khác nhau c và c’, một t ập các điểm A có cùng màu c đượ c bao quanh bởi các điểm có màu khác với c và c’, tìm thuật toán thay màu của t ất  cả các điể m thuộc A và chỉ các điểm này thành màu c’. Thuật toán tô phủ: void BFA(int x, int y){ if Inside(x, y) { Set(x,y) ;  BFA(x, y-1) ; BFA(x, y+1);  BFA(x-1, y) ; BFA(x+1, y);  }  }

Thuật toán này dùng để tô phủ, với hàm Inside là để kiểm tra xem điểm (x,y) có thuộc vùng cần tô phủ không. Nếu (x,y) thuộc vùng tô phủ thì tô phủ nó và kiểm tra 4 điểm ở xung quanh nó.  Nhược điểm của thuật toán này là phải dùng đến 4 lần gọi đệ quy. Cải tiến của thuật toán tô phủ đơn giản này là thuật toán tô phủ Smith vớ i hai lần gọi đệ quy.

 // Các biến toàn cục Int x, y, lx, rx ; Fill (int seedx, int seedy){ x := seedx; y := seedy; if not (Inside(x, y)) then exit;  // N ếu (x, y) không thuộc vùng tô phủ thì thoát  push(x, y); // push (x,y) vào stack  while StackNotEmpty() do { // đến khi stack còn không rỗ ng thì pop điể m (x,y) ra pop(x, y);   (x,y) thuộc vùng tô phủ if Inside(x, y) { // N ếu FillRight(); FillLeft();  // Tô phủ các đoạn có chứa điể m

ScanHi(); ScanLo();  //Quét các đoạn trên và dưới đoạn hiện t ại } } } FillRight(){ // Tô phủ các điểm bên phải điểm đang xét đến điể m phải nhấ t của đoạn int tx; tx := x;  //Đi từ trái sang phải và thiế t lập các điể m của đoạn trong khi đi While Inside(tx, y) and (tx < = XMAX) do Set(tx, y); tx := tx +1; } rx := tx -1;  // Ghi lại chỉ số của điể m phải nhấ t tron g đoạn } FillLeft(){ //Tô phủ các điểm bên trái điểm đang xét đến điểm trái nhấ t của đoạn int tx; tx := x;  //Đi từ phải sang trái và thiế t lập các điể m của đoạn trong khi đi While Inside(tx, y) and (tx >= XMIN) do { Set(tx, y); tx:= tx -1; } lx := tx +1; //Ghi lại chỉ số của điểm trái nhất trong đoạn } ScanHi(){// Quét các điể m giữa lx và rx trong dòng quét,Cho vào ngăn xếp đoạn trái nhất //trong các đoạn tìm thấy, không thiế t lậ p bấ t cứ điểm nào trong giai đoạn này

int tx; if y+1 > YMAX then exit; // nếu điểm đang xét vượt ra ngoài biên thì thoát  tx := lx; //Đặt tx là bằng điểm trái nhấ t  while tx 1b -> 5a -> 4 -> 1a (T ại sao lại này thì đi mà hỏi cái thằng nghĩ ra

cái thuật toán)

Các loại bề mặt hiện khác – ông nào giỏi thì tự đi mà học . Hiểu đượ c chết liền .

ĐƢỜ NG CONG Mục đính của các thuật toán là vẽ các đường cong thõa mãn một số ràng buộc trong đó quan trọng là ràng buộc nội suy , ràng buộc độ trơn tức là g(x j) = f(x j) tại một số điểm x j cố định

và đạo hàm của g và f bằng nhau tại x j  N ội suy Hermite

Ta xây dựng đườ ng cong bậc ba f(t) = và có đạo hàm tại 2 điểm P0 P1 là x’0 ,x’1 Đưa f(t) về dạng ma trận F(t) =

         3

F’(t) = 3

2

2

Vớ i t=0 -> Vớ i t=1 ->

    3

+

2

+

+

đi qua 2 điểm P0 x0 , P1 x1

1 *

+2

+

x’0=f’(0) = c ; x’1=f’(1) = 3a + 2b +c ;

x0=f(0) = d x1=f(1) = a + b + c + d

Ta có phép nhân ma trận

     ′′  − − − −  0 1 0 3

0 1 0 2

0 1 1 1

1 1 * 0 0

0

=

1

0 1

Ta xây dựng ma tr ận Hermit Mh bằng cách nghịch đảo ma trận ở trên

Mh =

2 3 0 1

2 3 0 0

1 2 1 0

Ta có phương trình tính đườ ng cong bậc ba ở trên

 −     − − − ∗ ′′  T

F(t) = t * Mh * Gh =

3

2

1 *

2 3 0 1

2 3 0 0

1 2 1 0

1 1 0 0

0 1

0

1

1 1 0 0

Các hàm cơ sở của phép nội suy Hermit đượ c suy ra bằng cách nhân ma trân tT vớ i ma

− −    −−   

trận Hermit 3 2+ 1 F(1) = 2 3 F(2) = 2 3 + 3 2 2 2+ F(3) = 3 2 F(4) = 3

 Đườ  ng cong Bezier

Ta vẽ đường cong đi qua 2 điểm P0 , P1 và 2 điểm nằm trên đườ ng tiếp tuyến đi qua P0 , P1 là P2 và P3 . Hai điểm này đượ c gọi là điểm điều khiển . T

T

F(t) = t * Mh * Gh = t * Mh * Mhb * Gb

     ′′  ′ ∗  −   ′ ∗  −     − −  − − −  − 0

Trong đó Gh =

0

1

Gb =

0

2

Gh = Mhb * Gb

3

1

1

Ta có x’0 và x’1 là hệ số góc của tiếp tuyến tại điểm P0 và P1 . Vì thế = 2 0 ; 1 = 1 3 Do P2 , P3 là 2 điểm tùy ý chạy trên tiếp tuyến nên ta có thể chọn alpha , beta tùy ý Do trong sách chọn = 3 = 3 nên tao cũng thế. Ta có 0

Mhb =

1 0 3 0

0 0 3 0

0 0 0 3

0 1 0 3

 Nhân ma trận Hermit Mh với ma trân Mhb ta đượ c ma trận Bezier

Mb = Mh * Mhb =

1 3 3 1

3 6 3 0

3 3 0 0

1 0 0 0

Tương tự Hermit , các hàm cơ sở của Bezier đượ c suy ra b ằng cách nhân ma trận Bezier T. vớ i ma trận t

CHƢƠNG 9: ÁNH SÁNG

CácMô hìmônhhìtạnh sáóngng llàà cácđể luậtế đơnập màugiả sắềtc vàươngcườngtácđộsgiữ ángậ tạ ểvàấ ánhảcácsáđing.ểm trên bề ặ nv

ob

thi t l

a v t th i t  t c

m t.

Mô hình sáng cục bộ là mộ hình sáng trực tiếp từ một nguồn sáng hữu hình. Nó bỏ qua sự phản quang giữa đối tượng và bỏ qua sự truyền ánh sáng trong môi trườ ng. Mô hình sáng cục bộ dựa trên lý thuyết tia, coi ánh sáng phản quang có 3 thành phần: thành phần môi trường(ambient), thành phần khuếch tán(diffuse) và thành phần phản xạ(specular).

Ánh sáng môi trường là một thiết lập ánh sáng có cường độ không đổi trong một cảnh vật. Ánh sáng môi trường là một kiểu mô hình tự phát sáng để bắt chướ c sự phản quang gi ữa vật thể. Thành phần ánh sáng môi trường có dạ ng: (   ) (   ) trong đó ( ) cường độ ánh sáng môi trườ ng với bước sóng và ( ) [0, 1] là hệ số phản quang của môi trườ ng Thành phần ánh sáng khuếch tán có dạ ng : (   ) (   ) trong đó ( ) cường độ nguồn sáng đến điểm p và ( ) [0, 1] là hệ số phản quang là hệ số khuếch tán. khuếch tán của môi trường và Thành phầ n phả n chiếu có dạ ng : (   ) là hệ số phản chiếu và là hệ số phản chiếu , là một hàm của góc theeta, Trong đó nhưng thường được đặt từ 0 đến 1. a) Mô hình sáng Bouknight: là mô hình sáng chỉ quan tâm đến ánh sáng môi trường và ánh sáng khuếch tán.

              

                            

( ) ( )+ ( ) ( ) I( ) = b) Mô hình phản chiếu Phong: là mô hình sáng quan tâm đến cả ánh sáng môi trườ ng, ánh sáng k huếch tán và ánh sáng phản chiếu. ( ) ( ) + ( )( ( ) + ) I( ) =

Mô hình sáng toàn cục: Mô hình truyền ánh sáng toàn cục tính đến sự truyền ánh sáng gián tiếp có phản quang trong cảnh vật. Các mô hình tạo bóng: Trong đó chủ yếu xét tạo bóng Gouraud và tạo bóng Phong.  a) T ạo bóng Gouraud: là sự mô phỏng các bề mặ t nhẵn và mờ   . Đặc điểm là tính vectơ pháp tuyến ở các đỉnh, tiếp theo tính cường độ của mỗi đỉnh đa

giác và sau đó nội suy ra toàn bộ đa giác. Đặc trưng của mô hình tạo bóng Gouraud là chỉ quan tâm tới giá trị độ sáng tại một điểm A mà không quan tâm đến vecto pháp tuyến tại A.(nội suy cường độ ánh sáng tại mỗi đỉ nh của đa giác)

Ví dụ:giả sử đã biết độ sáng tại I1, I2, I3, ta tính độ sáng tại điểm I theo thuật toán dòng quét. Ta tính độ sáng tại điểm A, B bằng nội suy tuyến tính các giá trị độ sáng tại I1-I3 và I2-I3. Giả sử tỷ lệ khoảng cách giữa các đỉnh được quy định như hình vẽ. Ta tính được độ sáng: Tại A: = α 1 + (1- α) 3 Tại B: = β 2 + (1- β) 3 Vậy tại I ta tính được độ sáng: I = φ + (1- φ) = φα 1 + (β - φβ) 2 + (φβ – φα - β) 3 + 1

     





 b) T ạo bóng Phong: là sự mô phỏng các bề mặt bóng  Đặc điểm là tính vecto pháp tuyến tại tất cả các điểm (còn gọi là t ạo bóng nội suy vecto  pháp tuyế n). Đặc trưng của mô hình tạo bóng Phong là quan tâm tới giá trị độ sáng tại một điểm A và cả đến vecto pháp tuyến tại A.

Tương tự như trên ta tính được độ sáng tại điểm I.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF