1. Trang chủ
  2. » Luận Văn - Báo Cáo

nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều

75 473 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 2,38 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung chính của “Chương 1” là những vấn đề cơ bản về đồ họa ba chiều, ứng dụng đồ họa ba chiều, đồng thời nội dung của chương 1 cũng đề cập đến một số lý thuyết cơ bản về ánh sáng,

Trang 1

i

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Bùi Phương Thủy

NGHIÊN CỨU MỘT SỐ KỸ THUẬT TẠO BÓNG

KHỐI TRONG ĐỒ HỌA BA CHIỀU

Chuyên ngành: Khoa học máy tính

Mã số: 60 48 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC

PGS TS Đỗ Năng Toàn

Thái Nguyên - 2014

Trang 2

ii

LỜI CAM ĐOAN

Luận văn là sự nghiên cứu, tổng hợp các kiến thức mà học viên đã thu thập được trong quá trình học tập tại Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên, dưới sự hướng dẫn, giúp đỡ của các thầy cô và bạn bè đồng nghiệp Đặc biệt là sự hướng dẫn, giúp đỡ của thầy giáo PGS.TS Đỗ Năng Toàn – Viện Công nghệ thông tin – Viện KHCN Việt Nam

Học viên cam đoan luận văn không phải là sản phẩm sao chép của bất kỳ tài liệu khoa học nào

Thái Nguyên, ngày 5 tháng 5 năm 2014

Học viên

Bùi Phương Thủy

Trang 3

iii

LỜI CẢM ƠN

Luận văn sẽ không thể hoàn thành nếu không có sự động viên, hỗ trợ hết mình của rất nhiều người Trước hết tôi xin gửi lời tri ân đến PGS.TS Đỗ Năng Toàn người thầy đã chỉ bảo, giúp đỡ tận tình trong cả quá trình học tập và hoàn thiện luận văn

Tôi xin gửi lời cảm ơn đến các thầy cô giáo tại trường Đại học Công nghệ thông tin và truyền thông – Đại học Thái Nguyên, những người đã trang bị các kiến thức cơ sở, nền tảng cho việc nghiên cứu, tiếp thu những tri thức mới, mà từ đó tôi

có thể hoàn thành tốt luận văn của mình, xa hơn nữa là hoàn thành tốt những dự án, công việc trong tương lai

Quá trình thực hiện đề tài không tránh khỏi những thiếu sót Tôi hi vọng sẽ được sự góp ý chân thành từ phía các thầy, cô giáo, bạn bè, đồng nghiệp để đề tài nghiên cứu được hoàn thiện hơn

Xin chân trọng cảm ơn!

Trang 4

iv

MỤC LỤC TRANG PHỤ BÌA

LỜI CAM ĐOAN i

LỜI CẢM ƠN iii

MỤC LỤC iv

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT vi

DANH MỤC CÁC BẢNG vii

DANH MỤC CÁC HÌNH ( HÌNH VẼ, ẢNH CHỤP, ĐỒ THỊ…) viii

MỞ ĐẦU 1

Chương 1 KHÁI QUÁT VỀ ĐỒ HỌA BA CHIỀU VÀ BÀI TOÁN TẠO BÓNG 5

1.1 Khái quát về đồ họa ba chiều 5

1.1.1 Quy trình hiển thị 6

1.1.2 Tổng quan biểu diễn điểm và các phép biến đổi 7

1.1.3 Phép biến đổi hiển thị 11

1.1.4 Mô hình Wireframe 13

1.1.5 Mô hình Wireframe với các phép chiếu 15

1.1.6 Phép biến đổi cổng nhìn 20

1.1.7 Bộ đệm và các phép kiểm tra 21

1.2 Bài toán tạo bóng trong đồ họa ba chiều 22

1.2.1 Nguồn sáng và phân loại nguồn sáng 22

1.2.2 Phân loại bóng 29

Chương 2 MỘT SỐ KỸ THUẬT TẠO BÓNG KHỐI TRONG ĐỒ HỌA BA CHIỀU 31

2.1 Giới thiệu 31

2.2 Danh sách cạnh viền 33

2.3 Xác định tứ giác bao quanh 38

2.4 Kỹ thuật tạo bóng Z - Pass 42

2.5. Kỹ thuật tạo bóng Z - Fail 47

2.6 So sánh giữa hai thuật toán 52

CHƯƠNG 3 CHƯƠNG TRÌNH THỬ NGHIỆM 53

3.1 Bài toán 53

3.2 Phân tích, lựa chọn giải pháp 53

3.3 Kết quả thử nghiệm 60

KẾT LUẬN 65

Trang 5

v

TÀI LIỆU THAM KHẢO 66

Trang 6

vi

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

STT Ký hiệu/

4 CPU Central Processing Unit Bộ xử lý trung tâm

5 GPU Graphical Processing Unit Bộ xử lý đồ họa đối khi được

hiểu đồng nghĩa với card đồ họa

6 HMD Head Mounted Displays Mũ đội đầu có màn hiển thị

Trang 7

vii

DANH MỤC CÁC BẢNG

Bảng 1.1 Bảng danh sách các cạnh và đỉnh biểu diễn vật thể 14 Bảng 2.1 So sánh giữa hai thuật toán 53

Trang 8

viii

DANH MỤC CÁC HÌNH ( HÌNH VẼ, ẢNH CHỤP, ĐỒ THỊ…)

Hình 1.1 Một cảnh đồ họa ba chiều 5

Hình 1.2 Quy trình hiển thị đối tượng ba chiều .6

Hình 1.3 Tổng quan về hiển thị ba chiều và các phép chiếu 11

Hình 1.4 Kết quả phép tịnh tiến 12

Hình 1.5 Vật thể ba chiều được biểu diễn bằng mô hình khung nối kết 13

Hình 1.6 Phép chiếu song song (a) và phép chiếu phối cảnh (b) 16

Hình 1.7 Phép chiếu trực giao 17

Hình 1.8 Kết quả của ba phép chiếu trực giao 17

Hình 1.9 Phép chiếu xiên 18

Hình 1.10 Phép chiếu phối cảnh đơn giản 19

Hình 1.11 Khả năng quan sát của con người tương ứng với từng mức sóng 20

Hình 1.12 Chiếc ấm được chiếu bằng Ambient Light 25

Hình 1.13 Ấm chè được chiều bằng Diffuse Light 26

Hình 1.14 Ấm chè được chiếu bằng Specular Light 26

Hình 1.15 Sự phản xạ của ánh sáng 27

Hình 1.16 Sự phản xạ không toàn phần của ánh sáng 28

1.17 29

2.1 Bối cảnh không có đổ bóng 32

2.2 Bối cảnh có bóng khối 33

2.3 Mô tả các phần của bóng khối 33

Hình 2.4 Biểu diễn của một căn nhà 34

Hình 2.5 Cạnh viền (Silhouette Edge) được tô đỏ 35

Hình 2.6 Khi nhìn từ vị trí của nguồn sáng ta sẽ không thấy bóng và rất dễ để xác định cạnh và đỉnh viền 35

Hình 2.7 Cạnh viền là cạnh có một mặt kề hướng ánh sáng còn mặt còn lại thì không 35

Hình 2.8 Dựng shadow volume mesh bằng các thêm vào các mặt phụ 38

Trang 9

ix

40

40

Hình 2.11 Khối bao của tam (ABC) giác với nguồn sáng điểm L 41

Hình 2.12 Đường bao của một đa giác trong không gian hai chiều 41

Hình 2.13 Tư tưởng chính của Z-Pass 43

46

47

47

.48 Hình 2.18 Thuật toán tạo bóng khối với kỹ thuật z-fail 49

Hình 2.18 Tư tưởng của Z-Fail 50

Hình 3.1 Giao diện mô tả bóng khối 69

Hình 3.2 Giao diện mô tả bóng cứng tạo ra từ bóng khối 69

3.3 Giao diện mô tả b -fail 71

3.4 Giao diện mô tả b 72

Trang 10

Đồ họa máy tính là một lĩnh vực được quan tâm phát triển, nó đang ngày càng chứng tỏ vai trò của mình trong sự phát triển của công nghệ thông tin nói riêng và các lĩnh vực của đời sống, xã hội nói chung Nó được ứng dụng rộng rãi trong hầu hết tất cả các lĩnh vực như Điện ảnh, Hoạt hình, kiến trúc và các ứng dụng xây dựng các mô hình thực tại ảo… Và không thể không nhắc đến vai trò tối quan trọng của đồ họa ba chiều trong việc tạo ra các game sử dụng đồ họa hiện nay Việc sử dụng đồ họa ba chiều trong game làm cho người chơi thích thú và có cảm giác như đang sống trong một thế giới thực Có thể nói đồ họa ba chiều đã đang và

sẽ tạo nên một nền công nghiệp game phát triển mạnh mẽ

Mục đích chính của đồ họa ba chiều là tạo ra và mô tả các đối tượng, các mô hình trong thế giới thật bằng máy tính sao cho càng giống với thật càng tốt Việc nghiên cứu các phương pháp các kỹ thuật khác nhau của đồ họa ba chiều cũng chỉ hướng đến một mục tiêu duy nhất đó là làm sao cho các nhân vật, các đối tượng, các mô hình được tạo ra trong máy tính giống thật nhất Và một trong các phương pháp đó chính là tạo bóng cho đối tượng

Thuật toán tạo bóng bằng kỹ thuật sử dụng bóng khối được đề xuất đầu tiên bởi Frank Crow vào năm 1977 Theo đó ông ta vẽ một khối mà bị che lấp ánh sáng bởi vật tạo bóng Mọi vật thể nằm trong khối đó được gọi là nằm trong bóng

Xuất phát từ thực tế đó, học viên lựa chọn đề tài: “Nghiên cứu một số kỹ thuật tạo bóng khối trong đồ hoạ ba chiều” Sự thành công của đề tài sẽ góp phần

nâng cao chất lượng của hình ảnh trong các ngành công nghiệp và giải trí

Trang 11

2

2 Đối tượng và phạm vi nghiên cứu:

Đối tượng của đề tài

Đồ họa ba chiều

Bài toán tạo bóng

Một số kỹ thuật tạo bóng khối

Khảo sát, phân tích, thiết kế và xây dựng phần mềm thử nghiệm

3 Hướng nghiên cứu của đề tài

Về khoa học

Đề tài tập trung nghiên cứu khái quát về các kiến thức cơ bản của đồ họa ba chiều và tạo bóng

Nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều

Nghiên cứu đề xuất kiến trúc, công nghệ thích hợp cho việc phát triển ứng dụng

Về xây dựng phần mềm thử nghiệm

Tìm hiểu, khảo sát bài toán

Phân tích, lựa chọn giải pháp xây dựng phần mềm thử nghiệm đưa ra kết quả tạo bóng khối bằng hai kỹ thuật: kỹ thuật tạo bóng Z-Pass, kỹ thuật tạo bóng Z-Failr

4 Phương pháp nghiên cứu

Thu thập, đọc và phân tích các tài liệu và thông tin liên quan đến đề tài Phân tích, so sánh với các mô hình khác

Trang 12

3

Dựa trên việc tìm hiểu các thuật toán của hai kỹ thuật tạo bóng khối để đưa

ra so sánh và lựa chọn phương pháp trong trường hợp các trường hợp khác nhau Kết hợp các nghiên cứu trước đây của các tác giả trong và ngoài nước cùng với sự chỉ bảo, góp ý của Thầy hướng dẫn để hoàn thành nội dung nghiên cứu Thực nghiệm cài đặt ứng dụng để minh họa các vấn đề trình bày trong đề tài

5 Ý nghĩa khoa học của đề tài

Cấu trúc của luận văn bao gồm “Phần mở đầu”, “Phần kết luận” và ba

chương nội dung, cụ thể:

Chương 1: Khái quát về đồ họa ba chiều và bài toán tạo bóng Nội dung

chính của “Chương 1” là những vấn đề cơ bản về đồ họa ba chiều, ứng dụng đồ họa

ba chiều, đồng thời nội dung của chương 1 cũng đề cập đến một số lý thuyết cơ bản

về ánh sáng, nguồn sáng, bóng và các mô hình của chúng từ đó làm cơ sở cho các

nội dung được trình bày trong “Chương 2”

Chương 2: Một số kỹ thuật tạo bóng khối trong đồ họa ba chiều Đây là

chương nội dung chính của luận văn, nó tập chung trình bày hai kỹ thuật chính tạo

bóng khối của đối tượng đó là “kỹ thuật tạo bóng Pass ”, và “kỹ thuật tạo bóng

Z-Fail ” Với mỗi loại kỹ thuật đều có những phương pháp thể hiện khác nhau, mà

phần nội dung này của luận văn cũng đề cập đến

Trang 13

4

Chương 3: Chương trình thử nghiệm Đây là chương học viên giới thiệu về

một chương trình thử nghiệm được xây dựng nhằm thể hiện cho một số kết quả đã được trình bày, tổng hợp trong luận văn

Trang 14

5

Chương 1

KHÁI QUÁT VỀ ĐỒ HỌA BA CHIỀU VÀ BÀI TOÁN TẠO BÓNG

1.1 Khái quát về đồ họa ba chiều

Khi chúng ta mô hình hóa và hiển thị một cảnh ba chiều, ta cần phải xem xét rất nhiều khía cạnh và vấn đề khác nhau chứ không đơn giản là thêm vào tọa độ thứ

ba cho các đối tượng Bề mặt đối tượng có thể xây dựng bởi nhiều tổ hợp khác nhau của các mặt phẳng và các mặt cong Ngoài ra, đôi khi chúng ta cũng cần mô tả một

số thông tin về bên trong các đối tượng Các công cụ hỗ trợ đồ họa (graphics package) thường cung cấp một số hàm hiển thị các thành phần bên trong, những đường nét tiêu biểu hoặc hiển thị một phần của đối tượng ba chiều (solid object) Ngoài ra, các phép biến đổi hình học thường được sử dụng nhiều hơn và đa dạng hơn trong đồ họa ba chiều so với trong đồ họa hai chiều Phép biến đổi hệ quan sát trong không gian ba chiều phức tạp hơn nhiều so với trong không gian hai chiều do chúng ta phải chọn lựa nhiều tham số hơn khi mô tả một cảnh ba chiều sẽ xuất hiện trên màn hình như thế nào [1],[3]

Hình 1.1 Một cảnh đồ họa ba chiều Các mô tả về một cảnh ba chiều phải đi qua một quy trình xử lí gồm nhiều công đoạn như phép biến đổi hệ tọa độ quan sát và phép chiếu chuyển cảnh từ hệ tọa độ quan sát ba chiều xuống hệ tọa độ thiết bị hai chiều Những phần nhìn thấy

Trang 15

6

được của cảnh, ứng với một hệ quan sát được chọn nào đó, phải được xác định và cuối cùng, các thuật toán vẽ mặt sẽ được áp dụng nhằm tạo ra hình ảnh trung thực (gần với thực tế) của cảnh

Biến đổi mô hình: biến đổi từ hệ tọa độ đối

tượng (object-space) sang hệ tọa độ thế giới thực thực (world space)

Transformation Chuyển từ world space sang eye space

Clipping Loại bỏ phần nằm ngoài viewing space

Projection Chiếu từ eye space xuống screen space

Rastorization Chuyển đối tượng sang dạng pixel

Display Hiển thị đối tượng

Hình 1.2 Quy trình hiển thị đối tượng ba chiều Quy trình bắt đầu bằng việc xây dựng các mô hình đối tượng Các mô hình này thường được mô tả trong không gian ba chiều (x,y,z) Các mô hình thường thể hiện vật thể (solid) hoặc bề mặt (boundaries) của đối tượng Như vậy ta có hai kiểu

mô hình hóa Trong solid modeling các đối tượng đồ họa cơ sở thường được dùng

để mô tả các đối tượng có thể tích (volume) Trong boundary

representations(B-reps), các đối tượng được định nghĩa bởi bề mặt của chúng

Các mô hình thường được biểu diễn trong một hệ tọa độ cục bộ, mà ta gọi là

hệ tọa độ đối tượng Trong hệ tọa độ này chỉ có bản thân đối tượng được định nghĩa,

vì vậy gốc tọa độ và đơn vị đo lường thường được chọn sao cho việc biểu diễn đối tượng tiện lợi nhất

Trang 16

7

Bước đầu tiên trong quy trình hiển thị là biến đổi đối tượng từ không gian

đối tượng (object-space) vào một không gian chung gọi là không gian thực (world

space) Trong không gian này các đối tượng, nguồn sáng, và người quan sát cùng

tồn tại Bước này được gọi là giai đoạn biến đổi mô hình (modeling transformation)

Bước tiếp theo là một bước tối ưu hóa Trong giai đoạn loại bỏ đơn giản (trivial rejection) ta cần loại trừ tất cả các đối tượng không thể nhìn thấy Điều này giúp chúng ta tránh được việc xử lí một số phần không cần thiết của cảnh (scene)

mà ta đang chuẩn bị hiển thị ở các bước sau

Tiếp theo ta phải chiếu sáng (illumination) các đối tượng có thể nhìn thấy được bằng cách gán cho chúng màu sắc dựa trên các đặc tính của các chất tạo nên vật và các nguồn sáng tồn tại trong cảnh

Sau khi chiếu sáng, ta phải thực hiện một phép biến đổi hệ tọa độ để đặt vị trí quan sát (viewing position) về gốc tọa độ và mặt phẳng quan sát (viewing plane) về một vị trí mong ước Bước này gọi là bước đổi hệ quan sát Sau bước này, các đối

tượng được chuyển từ không gian thực sang không gian quan sát (eye space)

Trong không gian quan sát, ta phải thực hiện việc xén các đối tượng trong

cảnh để cảnh nằm gọn trong một phần không gian chóp cụt mà ta gọi là viewing

frustum Bước này sẽ loại bỏ hoàn toàn các đối tượng (các mảnh đối tượng) không

nhìn thấy được trong ảnh

Bước tiếp theo ta sẽ chiếu các đối tượng xuống mặt phẳng hai chiều Bước Projection thực hiện phép biến đổi từ không gian quan sát sang không gian màn

hình (screenspace)

Trong bước rời rạc hóa (rasterization) ta sẽ chuyển đối tượng thành các pixel Cuối cùng, toàn cảnh sẽ được hiển thị lên màn hình [1]

1.1.2 Tổng quan biểu diễn điểm và các phép biến đổi

Sự chuyển đổi từ tọa độ thế giới sang tọa độ của thiết bị là một chuỗi của các phép biến đổi affine và các phép chiếu trong không gian Decarts ba chiều

Các phép biến đổi affine và các phép chiếu trong không gian Decarts ba chiều có thể được biểu diễn tốt nhất bởi các ma trận 4x4 tương ứng với các tọa độ

Trang 17

8

đồng nhất (Homogeneous coordinates) (x,y,z,w) Điểm ba chiều với tọa độ đồng

nhất (x,y,z,w) sẽ có tọa độ affine là

w

z w

y w

x

,,

Mối quan hệ giữa tọa độ affine và tọa độ đồng nhất không phải là quan hệ 1-1 Cách đơn giản nhất để chuyển từ tọa độ affine (x,y,z) của một điểm sang tọa độ đồng nhất là đặt w=1: (x,y,z,1) Chúng ta thừa nhận rằng tất cả các tọa độ thế giới được biểu diễn bằng cách này

Ta sẽ biểu diễn các phép biến đổi affine (như là co giãn (scaling transformations), phép quay (rotations), và phép tịnh tiến (translations)) bằng các

ma trận mà sẽ không làm thay đổi thành phần w (w=1)

● Tịnh tiến bởi véc tơ T (T x,T y,T z):

1000

100

010

001)

(

z y x

t

T T T T

11

)(

z y x

t

T z

T y

T x

z y x T M

● Phép co giãn theo các nhân tố S (S x,S y,S z):

1000

00

0

000

000)

(

z y x

s

S S S S

11

)(

z S

y S

x S

z y x S M

z y x

000)

,,

(

z y x

z y x

z y x

r

n n n

v v v

u u u n v u

M

Các đối tượng trong mô hình ba chiều được xác định với tọa độ thế giới Cùng với các tọa độ của đối tượng, người dùng cũng phải xác định vị trí và hướng của

Trang 18

Cả tọa độ thế giới và tọa độ mắt đều được biểu diễn bởi tọa độ đồng nhất (Homogeneous Coordinates) với w=1

Bước thứ 2 Tọa độ mắt được chuyển qua tọa độ của thiết bị chuẩn hóa (Nomalized Device Coordinates) để cho vùng không gian mà ta muốn nhìn được đặt trong một khối lập phương tiêu chuẩn:

Bước thứ 2 bao gồm 3 bước con

Một phép chiếu chuyển từ vùng nhìn sang 1 khối lập phương tiêu chuẩn với tọa

độ đồng nhất: 1 x 1 , 1 y 1, 1 z 1 Trong trường hợp sử dụng phép chiếu trực giao, vùng nhìn này sẽ có dạng một ống song song ba chiều với các mặt song song với các mặt của hệ tọa độ mắt Trong trường hợp sử dụng

Trang 19

10

phép chiếu đối xứng, vùng nhìn sẽ là một hình tháp cụt với đầu mút là gốc tọa

độ của hệ tọa độ mắt Hệ tọa độ đồng nhất (4 thành phần) thu được sau phép chiếu được gọi là hệ tọa độ cắt (Clipping Coordinate System) Phép chiếu sẽ là một phép biến đổi affine trong trường hợp phép chiếu là phép chiếu trực giao Nếu phép chiếu là phép chiếu phối cảnh sẽ không phải là một phép biến đổi affine (Vì w sẽ nhận một giá trị khác 1)

Bước tiếp theo, các vùng của không gian hiển thị mà không nằm trong khối tiêu chuẩn đó (Khối này còn được gọi là khối nhìn tiêu chuẩn) sẽ bị cắt đi Các đa giác, các đường thẳng được chứa trong hoặc là có một phần

ở trong sẽ được thay đổi để chỉ phần nằm trong khối nhìn tiêu chuẩn mới được giữ lại Phần còn lại không cần quan tâm nhiều nữa

Sau khi cắt gọt, các tọa độ đồng nhất sẽ được chuyển sang tọa độ của thiết bị bằng cách chia x,y,z cho w Nếu w nhận 1 giá trị đúng qua phép chiếu, thì phép chia này sẽ cho các động phối cảnh mong muốn trên màn hình Vì lý do đó, phép chia này còn được gọi là phép chia phối cảnh (Perspective Division)

Trang 20

11

Hình 1.3 Tổng quan về hiển thị ba chiều và các phép chiếu

1.1.3 Phép biến đổi hiển thị

Phép biến đổi hiển thị sẽ đưa một camera ảo được cho tùy ý về một camera với điểm nhìn trùng với gốc tọa độ và hướng nhìn dọc theo chiều âm của trục Z (xem hình 1.3) Trục Y sau phép biến đổi tương ứng sẽ chỉ lên phía trên của màn hình Trục X sẽ chỉ về phía phải

Trang 21

12

Một cách thuận tiện để xác định vị trí của camera ảo là cho sẵn vị trí của điểm nhìn E, Một điểm trong khung nhìn R (điểm tham chiếu) và một hướng V sẽ chỉ lên phía trên trong màn hình

Phép biển đổi hiển thị sẽ gồm 2 bước:

● Một phép tịnh tiến sẽ đưa điểm nhìn E về gốc tọa độ Ma trận biến đổi tương ứng sẽ là M t ( E) Kết quả sẽ như sau:

Hình 1.4 Kết quả phép tịnh tiến ● Một phép quay sẽ chuyển hướng nhìn ngược về trục Z, quay vectơ V về mặt phẳng YZ Vector V sẽ chỉ được quay về trùng với trục Y nếu V vuông góc với hướng nhìn Trước hết ta sẽ xây dựng tập các véc tơ chuẩn tắc phù hợp trong tọa độ thế giới

R E

R E

n Ngược với hướng nhìn Z(O z )

n V

n V

u Chỉ về phía phải, vuông góc với n X

v n u Chỉ lên giống V , nhưng vuống góc với nu Y

Trang 22

13

Như vậy ma trận của phép quay sẽ là: M r(u,v,n)

Và do đó ma trận của phép biến đổi sẽ là:

10001

000

100

010

001

1000

000)

(),,

(

E n n n n

E v v v v

E u u u u

E E E

n n n

v v v

u u u E M n v

u

M

z y x

z y x

z y x

z y x

z y x

z y x

z y x

t r

Với mô hình khung nối kết, hình dạng của đối tượng ba chiều được biểu diễn bằng hai danh sách (list): danh sách các đỉnh (vertices) và danh sách các cạnh (edges) nối các đỉnh đó Danh sách các đỉnh cho biết thông tin hình học đó là vị trí các đỉnh, còn danh sách các cạnh xác định thông tin về sự kết nối, nó cho biết cặp các đỉnh tạo ra cạnh Chúng ta hãy quan sát một vật thể ba chiều được biểu diễn bằng mô hình khung nối kết như sau:

Trang 23

14

Hình 1.5 Vật thể ba chiều được biểu diễn bằng mô hình khung nối kết Bảng 1.1 Bảng danh sách các cạnh và đỉnh biểu diễn vật thể

Vertex x Y z Edge Vertex1 Vertex2

Trang 24

15

Có nhiều cách để đặc tả mô hình khung nối kết trên máy tính như dùng xâu,

mảng, và mỗi cách đều có các ưu điểm riêng trong từng ứng dụng cụ thể Ở đây

ta minh họa các biểu diễn mô hình khung nối kết bằng cấu trúc dữ liệu mảng như sau :

#define MAXVERTS 50 //số đỉnh tối đa có thể biểu diễn

#define MAXEDGES 100 //số cạnh tối đa typedef struct { float x, y, z;

} POINT3D;

typedef struct { int NumVerts; //Số đỉnh trong mô hình int NumEdges; //Số cạnh trong mô hình POINT3D Vert[MaxVerts]; int Edge[MaxEdges][2]; } WIREFRAME;

Ngoài ra, đôi khi trong mô hình wireframe người ta còn mô tả các mặt (phẳng) của đối tượng Mỗi mặt được định nghĩa bởi một đa giác bao Ví dụ, đối tượng trong hình 1.5 có 7 mặt [1]

1.1.5 Mô hình Wireframe với các phép chiếu

Để vẽ các đối tượng biểu diễn bằng mô hình khung nối kết, đơn giản chúng

ta chỉ cần vẽ các cạnh trong danh sách các cạnh mà thôi Tuy nhiên do các đỉnh và cạnh đều được định nghĩa trong ba chiều nên vấn đề đặt ra ở đây là làm thế nào để

vẽ các đường thẳng ba chiều trong mặt phẳng hai chiều Để làm điều này, chúng ta phải thực hiện phép chiếu từ ba chiều vào hai chiều để bỏ bớt một chiều Có hai loại phép chiếu đơn giản thường dùng đó là phép chiếu song song (parallel projection)

và phép chiếu phối cảnh (perspective projection) Phép chiếu song song sử dụng các đường thẳng song song đi qua các đỉnh của đối tượng, trong khi đó phép chiếu phối cảnh dùng các đường thẳng qua các đỉnh của đối tượng hội tụ về một điểm gọi là tâm chiếu (center of projection) Các đường thẳng trên được gọi là tia chiếu và giao điểm của các đường thẳng này với mặt phẳng chiếu (hay còn gọi là mặt phẳng quan

Trang 25

Trong khi đó, phép chiếu phối cảnh tạo ra được biểu diễn thực hơn nhưng lại không bảo toàn được mối liên hệ giữa các chiều Các đường thẳng càng xa sẽ có các ảnh chiếu nhỏ hơn

Nói chung, kĩ thuật để vẽ một đường thẳng ba chiều là :

• Chiếu mỗi điểm đầu mút thành các điểm hai chiều

• Vẽ đường thẳng nối hai điểm ảnh qua phép chiếu

Hình 1.6 Phép chiếu song song (a) và phép chiếu phối cảnh (b)

Sở dĩ chúng ta làm được điều này vì các phép chiếu mà chúng ta sử dụng bảo toàn đường thẳng

 Phép chiếu song song (parallel projection)

Khi hướng của tia chiếu vuông góc với mặt phẳng chiếu ta có phép chiếu trực giao (orthographic projection) Ngược lại, ta có phép chiếu xiên (oblique projection)

 Phép chiếu trực giao

Trang 26

17

Xét điểm ba chiều P = (P x , P y , P z), cách đơn giản nhất là bỏ đi thành phần z

để chiếu P thành P ’ = (P x , P y ) Điều này tương đương với chiếu điểm đó lên mặt

phẳng xy theo phương của trục z Mặt phẳng xy là mặt phẳng quan sát Xem hình

vẽ minh họa 1.6, ở đây điểm chiếu chính là giao điểm của tia a qua P và song song với trục z vuông góc với mặt phẳng xy Tia a là tia chiếu

Dễ dàng thấy rằng phép chiếu này bảo toàn đường thẳng

Hình 1.7 Phép chiếu trực giao Phép chiếu trực giao ở trên thường được gọi là phép nhìn từ trên xuống (top-view) hoặc dưới lên (bottom-view) Có hai phép chiếu khác cũng khá thông dụng là:

• Phép nhìn từ phía trước (front-view): Tia chiếu song song với trục x và mặt phẳng quan sát là yz Phép chiếu này loại bỏ thành phần x của P

• Phép nhìn từ phía bên cạnh (side-view): Tia chiếu song song với trục y và mặt phẳng quan sát là xz Phép chiếu này loại bỏ thành phần y của P

Hình 1.8 minh họa ba phép chiếu trực giao đã đề cập ở trên lên một vật thể là ngôi nhà Nhận xét rằng với phép chiếu nhìn từ phía trước ta không phân biệt được tường trước và tường sau vì chúng nằm chồng lên nhau, cũng tương tự cho trường hợp phép chiếu nhìn từ phía bên cạnh

Trang 27

18

Hình 1.8 Kết quả của ba phép chiếu trực giao

 Phép chiếu xiên

Hình 1.9 Phép chiếu xiên

Hình 1.9 minh họa một phép chiếu xiên Điểm P = (P x , P y , P z), qua phép

chiếu xiên sẽ nhận được điểm P ’ (x p , y p ) (P x , P y) là hình chiếu của P qua phép chiếu trực giao a là góc hợp bởi tia chiếu và đoạn nối (xp , yp) và (P x , P y) Giả sử đoạn nối này có độ dài là L f là góc giữa đoạn nối trên với trục y

 Phép chiếu phối cảnh (perspective projection)

 Phép chiếu phối cảnh đơn giản nhất

Phép chiếu phối cảnh phụ thuộc vào vị trí tương đối của hai đối tượng đó là mắt nhìn và mặt phẳng quan sát

Quan sát hình sau, với mặt phẳng quan sát là yz và mắt nhìn E(E,0,0) được

đặt dọc theo trục x Khoảng cách giữa mắt E và mặt phẳng quan sát được gọi là tầm

Trang 28

19

nhìn (eye distance).Để xác định hình chiếu của P(x, y, z), ta nối P với E và tìm giao

điểm P’ của đường thẳng này với mặt phẳng quan sát Lúc này P’ chính là điểm cần tìm

Hình 1.10 Phép chiếu phối cảnh đơn giản Trong phép chiếu phối cảnh các tia chiếu không song song với nhau mà hội

tụ về một điểm duy nhất là mắt

Chúng ta giả sử P không nằm phía sau mắt nhìn, tức là x < E P có thể nằm

sau mặt phẳng quan sát, hay trên mặt phẳng quan sát, hay giữa mắt và mặt phẳng quan sát Ta có, tia từ mắt đến P có dạng :

r(t) = (E,0,0)(1 – t) + (x, y, z)t

Tia này giao với mặt quan sát (mặt phẳng x=0) khi x = 0 nên giá trị t ứng với trường hợp này là :

E x t

y y

1

'

;

E x

z z

1

'

Phép chiếu phối cảnh gần giống phép chiếu trực giao chỉ khác là hai tọa độ y,

z được nhân lên thêm một lượng Cũng tương tự như trên, ta có thể dễ dàng kiểm chứng phép chiếu phối cảnh cũng bảo toàn đường thẳng

Nhận xét rằng phép chiếu song song là một trường hợp đặc biệt của phép chiếu phối cảnh Nếu chúng ta cho tầm nhìn E càng ngày càng lớn tiến dần đến vô

Trang 29

20

cực thì các tia chiếu qua mắt sẽ trở nên song song và hệ số

E x

x x

1

'

;

E z

y y

x

height bottom

y

● Thành phần z với 1 z 1 được co lại trong đoạn 0 z w 1

Giá trị z w này sẽ được sử dụng để loại bỏ những bề mặt bị ẩn Những điểm có giá trị z w nhỏ sẽ nằm trước những điểm có giá trị z w lớn hơn

Xây dựng ma trận biến đổi là công việc đơn giản Tuy nhiên sẽ hiệu quả hơn nếu ta thực hiện phép biến đổi một cách trực tiếp:

width left

Trang 30

21

1.1.7 Bộ đệm và các phép kiểm tra

Một mục đích quan trọng của hầu hết các chương trình đồ họa là vẽ được các bức tranh ra màn hình Màn hình là một mảng hình vuông của các pixel Mỗi pixel

đó có thể hiển thị được 1 màu nhất định Sau các quá trình quét (bao gồm Texturing

và fog…), dữ liệu chưa trở thành pixel, nó vẫn chỉ là các “mảnh” (Fragments) Mỗi mảnh này chứa dữ liệu chung cho mỗi pixel bên trong nó như là màu sắc là giá trị chiều sâu Các mảnh này sau đó sẽ qua một loạt các phép kiểm tra và các thao tác khác trước khi được vẽ ra màn hình

Nếu mảnh đó qua được các phép kiểm tra (test pass) thì nó sẽ trở thành các pixel Để vẽ các pixel này, ta cần phải biết được màu sắc của chúng là gì, và thông tin về màu sắc của mỗi pixel được lưu trong bộ đệm màu (Color Buffer)

Nơi lưu trữ dữ liệu cho từng pixel xuất hiện trên màn hình được gọi là bộ

đệm (Buffer) Các bộ đệm khác nhau sẽ chứa một loại dữ liệu khác nhau cho pixel

và bộ nhớ cho mỗi pixel có thể sẽ khác nhau giữa các bộ đệm Nhưng trong một bộ đệm thì 2 pixel bất kỳ sẽ được cấp cùng một lượng bộ nhớ giống nhau Một bộ đệm

mà lưu trữ một bít thông tin cho mỗi pixel được gọi là một bitplane Có các bộ đệm

phổ biến như Color Buffer, Depth Buffer, Stencil Buffer, Accumulation Buffer

1.1.7.1 Bộ đệm chiều sâu (Z-Buffer)

Khái niệm: Là bộ đệm lưu trữ giá trị chiều sâu cho từng Pixel Nó được

dùng trong việc loại bỏ các bề mặt ẩn Giả sử 2 điểm sau các phép chiếu được ánh

xạ vào cùng một pixel trên màn hình Như vậy điểm nào có giá trị chiều sâu (z) nhỏ hơn sẽ được viết đè lên điểm có giá trị chiều sâu lớn hơn Chính vì vậy nên ta gọi

bộ đệm này là Z-buffer

Depth test: Với mỗi pixel trên màn hình, bộ đệm chiều sâu lưu khoảng cách

vuông góc từ điểm nhìn đến pixel đó Nên nếu giá trị chiều sâu của một điểm được ánh xạ vào pixel đó nhỏ hơn giá trị được lưu trong bộ đệm chiều sâu thì điểm này được coi là qua Depth test (depth test pass) và giá trị chiều sâu của nó được thay thế cho giá trị lưu trong bộ đệm Nếu giá trị chiều sâu của điểm đó lớn hơn giá trị lưu trong Depth Buffer thì điểm đó “trượt” phép kiểm tra chiều sâu (Depth test Fail)

Trang 31

22

1.1.7.2 Bộ đệm khuôn (Stencil Buffer)

Khái niệm: Bộ đệm khuôn dùng để giới hạn một vùng nhất định nào đó trong

khung cảnh Hay nói cách khác nó đánh dấu một vùng nào đó trên màn hình Bộ đệm này được sử dụng để tạo ra bóng hoặc để tạo ra ảnh phản xạ của một vật thể qua gương…

Stencil Test: Phép kiểm tra Stencil chỉ được thực hiện khi có bộ đệm khuôn

(Nếu không có bộ đệm khuôn thì phép kiểm tra Stencil được coi là luôn pass) Phép kiểm tra Stencil sẽ so sánh giá trị lưu trong Stencil Buffer tại một Pixel với một giá trị tham chiếu theo một hàm so sánh cho trước nào đó OpenGL cung cấp các hàm như là GL_NEVER, GL_ALWAYS, GL_LESS, GL_LEQUAL, GL_EQUAL, GL_GEQUAL, GL_GREATER hay là GL_NOTEQUAL Giả sử hàm so sánh là GL_LESS, một “mảnh” (Fragments) được coi là qua phép kiểm tra (pass) nếu như giá trị tham chiếu nhỏ hơn giá trị lưu trong Stencil Buffer

Ngoài ra OpenGL còn hỗ trợ một hàm là

glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);

Hàm này xác định dữ liệu trong stencil Buffer sẽ thay đổi thế nào nếu như một “mảnh” pass hay fail phép kiểm tra stencil 3 hàm fail, zfail và zpass có thể là GL_KEEP, GL_ZERO, GL_REPLACE, GL_INCR, GL_DECR …Chúng tương ứng với giữ nguyên giá trị hiện tại, thay thế nó với 0, thay thế nó bởi một giá trị tham chiếu, tăng và giảm giá trị lưu trong stencil buffer Hàm fail sẽ được sử dụng nếu như “mảnh” đó fail stencil test Nếu nó pass thì hàm zfail sẽ được dùng nếu Depth test fail và tương tự, zpass được dùng nếu như Depth test pass hoặc nếu không có phép kiểm tra độ sâu nào được thực hiện Mặc định cả 3 tham số này là

GL_KEEP

1.2 Bài toán tạo bóng trong đồ họa ba chiều

1.2.1 Nguồn sáng và phân loại nguồn sáng

1.2.1.1 Khái niệm

Ánh sáng: là một loại bức xạ, nó có thể được hiểu, giải thích theo hai tính

chất vật lý, thứ nhất là tính chất sóng điện từ trường (quang học sóng), thứ hai là

Trang 32

23

tính chất hạt (quang học hạt) Bóng: trên thực tế bóng và ánh sáng là hai vấn đề liên

quan mật thiết với nhau “có ánh sáng thì mới có bóng, và bóng là sự thể hiện của

ánh sáng” Ánh sáng truyền đi trong không gian khi đến một bề mặt nó tương tác

với bề mặt, sự tương tác này được thể hiện thông qua hai hiệu ứng chính là “bóng

bề mặt”, và “bóng đổ” có thể gọi chung chúng là bóng Hiệu ứng “bóng bề mặt”

xảy ra khi ánh sáng đến bề mặt, và phản xạ lại môi trường một lượng ánh sáng nhất định theo các hướng khác nhau, trong đó có một phần đến được mắt, tác động lên

hệ thần kinh thị giác, vì vậy chúng ta quan sát được đối tượng Theo định luật truyền thẳng ánh sáng khi đến một bề mặt không trong suốt thì bị cản lại, và không thể tiếp tục được truyền đi theo hướng đến, vì vậy mọi điểm phía sau sẽ không có

sự chiếu sáng từ nguồn sáng hiện tượng như vậy được gọi là hiệu ứng “bóng đổ”

Trong quang học sóng, ánh sáng là một loại sóng điện từ trường do đó nó cũng tuân theo các định luật của sóng như định luật truyền thẳng, định luật phản xạ, khúc xạ, Trong trường hợp này năng lượng của ánh sáng được thể hiện hiện bằng các dao động điện từ trường Hướng dao động điện trường và từ trường vuông góc với nhau tạo ra cách ánh sáng truyền đi trong không gian Loại ánh sáng có thành phần sóng điện trường (từ trường) giao động trên một mặt phẳng cố định

được gọi là ánh sáng “phân cực tuyến tính”, hoặc đơn giản là “phân cực” Dựa vào

đặc tính phân cực của ánh sáng khi đi qua một số loại vật liệu nhất định mà người ta

đã xây dựng lên các hệ thống hiển thị hình ảnh ba chiều, ví dụ như hệ thống máy chiếu ba chiều, ti vi ba chiều, kính ba chiều Sự xuất hiện của các thiết bị này là

một trong những động lực quan trọng nhất tạo nên sự phát triển của lĩnh vực đồ họa hiện nay

Trong quang học hạt, năng lượng ánh sáng được thể hiện dưới hình thức của

các hạt photon dịch chuyển trong không gian với vận tốc ánh sáng Mỗi photon

mang một mức năng lượng nhất định, mức năng lượng này phụ thuộc vào tần số hay độ dài bước sóng của ánh sáng

Khả năng quan sát của con người với mỗi loại ánh sáng là khác nhau, bằng thực nghiệm người ta đã chứng minh con người có khả năng nhìn được ánh sáng

Trang 33

24

với bước sóng nằm trong khoảng (380nm - 780nm), ánh sáng có bước sóng lớn hơn

được gọi là hồng ngoại, và nhỏ hơn là tử ngoại đây là những loại ánh sáng mà con

người không có khả năng quan sát được Khả năng nhìn của con người với mỗi loại

ánh sáng trong khoảng nhìn được là không giống nhau Hình 1.11 là đồ thị thể hiện khả năng quan sát của con người với từng mức sóng cụ thể của ánh sáng

Hình 1.11 Khả năng quan sát của con người tương ứng với từng mức sóng Trong đồ họa ba chiều tính chất sóng - hạt của ánh sáng được trừu tượng hóa thông qua các quy luật, việc xây dựng các quy luật này phần lớn dựa vào các quy luật hình học, và các quy luật quang học Các phần nội dung dưới đây sẽ trình bày một số quy luật quan trọng, nhưng trước tiên để hiểu được các quy luật này chúng

ta hãy xem xét một số đơn vị sử dụng trong việc đo lường ánh sáng [1], [2], [3]

Theo mô hình ánh sáng của OpenGl thì ánh sáng gồm có 4 thành phần chính: Emissive Light, Ambient Light, Diffuse Light, Specular Light Các thành phần này

có thể được tính toán độc lập với nhau, và cuối cùng được kết hợp lại với nhau

Trang 34

25

Ambient Light là ánh sáng bị phân rã bởi môi trường và không thể xác định hướng của chúng Nếu trong một khung cảnh ta không xác định nguồn sáng thì kết quả đưa ra cũng giống như khi chúng ta sử dụng Ambient Light

Hình 1.12 Chiếc ấm được chiếu bằng Ambient Light

Diffuse Light (ánh sáng khuếch tán) là ánh sáng chiếu theo một hướng nhất, tuy nhiên khi nó gặp một bề mặt nó sẽ bị phân rã bằng nhau về mọi hướng, Vì thế

nó sáng bằng nhau cho dù có đặt mắt nhìn ở đâu chăng nữa Mọi nguồn sáng đến từ một điểm hay từ một hướng nhất định đều có thành phần Diffuse Light

Hình 1.13 Ấm chè được chiều bằng Diffuse Light Specular Light là ánh sáng phản xạ Khi gặp một bề mặt nó sẽ phản xạ lại đúng theo quy luật phản xạ Nó có thể được nhìn thấy trên những bề mặt cong

Trang 35

Phân loại theo tiêu trí khả năng phát sáng ta có thể chia làm hai loại như sau: Nguồn phát sáng: là các nguồn sáng tự phát ra tia sáng ví dụ như mặt trời,

bóng đèn, ngọn nến vv Trong đồ họa ba chiều chúng ta chỉ xét đến loại

nguồn sáng này mà thôi

Nguồn sáng phản chiếu: là nguồn sáng mà ánh sáng xuất phát từ đó là ánh sáng phản xạ của các nguồn phát khác Ví dụ gương hoặc mặt nước, các vật kim loại có độ bóng cao vvv… Trong nguồn sáng loại này cũng có thể phân thành các dạng khác nhau như nguồn sáng phản xạ lập tức, hay nguồn huỳnh quang, nguồn lân quang vv…

Khi phân loại nguồn sáng dựa trên tiêu trí kích thước, không gian, và phạm chiếu sáng, chúng ta có thể phân nguồn sáng thành các loại như sau (đây chính là

cách phân loại nguồn sáng của hầu hết các hệ thống render):

Nguồn sáng xung quanh

Trang 36

27

Ánh sáng xung quanh là mức sáng trung bình, tồn tại trong một vùng không gian Một không gian lý tưởng là không gian mà tại đó mọi vật đều được cung cấp một lượng ánh sáng lên bề mặt là như nhau, từ mọi phía ở mọi nơi Thông thường ánh sáng xung quanh được xác định với một mức cụ thể gọi là mức sáng xung quanh của vùng không gian mà vật thể đó cư ngụ, sau đó ta cộng với cường độ sáng

có được từ các nguồn sáng khác để có được cường độ sáng cuối cùng lên một điểm hay một mặt của vật thể

Hình 1.15 Sự phản xạ của ánh sáng Tương đương với cách phân loại sau:

Nguồn sáng định hướng

Nguồn sáng định hướng giống như những gì mà mặt trời cung cấp cho chúng

ta Nó bao gồm một tập các tia sáng song song, bất kể cường độ của chúng có giống nhau hay không Có hai loại kết quả của ánh sáng định hướng khi chúng chiếu đến

bề mặt là: khuyếch tán và phản chiếu Nếu bề mặt phản xạ toàn bộ (giống như mặt gương) thì các tia phản xạ sẽ có hướng ngược với hướng của góc tới (Hình 1.15) Trong trường hợp ngược lại, nếu bề mặt là không phản xạ toàn phần (có độ nhám,

xù xì) thì một phần các tia sáng sẽ bị toả đi các hướng khác hay bị hấp thụ, phần còn lại thì phản xạ lại, và lượng ánh sáng phản xạ lại này tỷ lệ với góc tới Ở đây chúng ta sẽ quan tâm đến hiện tượng phản xạ không toàn phần vì đây là hiện tượng phổ biến (vì chỉ có những đối tượng được cấu tạo từ những mặt như mặt gương mới xảy ra hiện tượng phản xạ toàn phần), và đồng thời tìm cách tính cường độ của ánh sáng phản xạ trên bề mặt

Ánh sáng tới Ánh sáng phản

Ánh sáng phản xạÁnh sáng tới

Vector pháp tuyến của mặt

Trang 37

28

(a) (b) Hình 1.16 Sự phản xạ không toàn phần của ánh sáng Trong hình 1.16 thể hiện sự phản xạ ánh sáng không toàn phần độ đậm nét của các tia ánh sáng tới thể hiện cường độ sáng cao, độ mảnh của các tia phản xạ thể hiện cường độ sáng thấp Nói chung, khi bề mặt là không phản xạ toàn phần thì cường độ của ánh sáng phản xạ (hay tạm gọi là tia phản xạ) luôn bé hơn so với cường độ của ánh sáng tới (hay gọi là tia tới), và cường độ của tia phản xạ còn tỷ lệ với góc giữa tia tới với vector pháp tuyến của bề mặt, nếu góc này càng nhỏ thì cường độ phản xạ càng cao, nếu góc này lớn thì cường độ phản xạ rất thấp Ở đây ta chỉ quan tâm đến thành phần ánh sáng khuyếch tán và tạm bỏ qua hiện tượng phản

xạ toàn phần để cho tiện trong việc tính toán ta tạm đổi hướng của tia tới thực sự, vậy bây giờ hướng của tia tới được xem là hướng ngược lại của tia sáng tới

Nếu gọi θ là góc giữa tia tới với vector pháp tuyến của bề mặt thì

Cos(θ) = tích vô hướng của a và n = a.x*n.x+a.y*n.y+a.z*n.z

Vì Cos(θ) có giá trị từ +1 đến -1 nên ta có thể suy ra công thức tính cường độ của ánh sáng phản xạ là:

Cường độ ánh sáng phản xạ = Cường độ của ánh sáng định hướng * [(Cos(θ)+1)/2]

Trong đó [(Cos(θ)+1)/2] có giá trị trong khoảng từ 0 đến 1 Có thể tính được cường độ của ánh sáng phản xạ trên bề mặt khi biết được cường độ của ánh sáng định hướng cũng như các vector pháp tuyến của mặt và

Ánh sáng phản Ánh sáng tới

Vector pháp tuyến của mặt

Ánh sáng phản xạ Ánh sáng tới

Vector pháp tuyến của mặt

Ngày đăng: 23/11/2014, 00:21

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Một cảnh đồ họa ba chiều - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 1.1. Một cảnh đồ họa ba chiều (Trang 14)
Hình 1.3 Tổng quan về hiển thị ba chiều và các phép chiếu. - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 1.3 Tổng quan về hiển thị ba chiều và các phép chiếu (Trang 20)
Hình 1.4 Kết quả phép tịnh tiến    ●   Một phép quay sẽ chuyển hướng nhìn ngược về trục Z, quay vectơ  V  về - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 1.4 Kết quả phép tịnh tiến ● Một phép quay sẽ chuyển hướng nhìn ngược về trục Z, quay vectơ V về (Trang 21)
Hình 1.8.  Kết quả của ba phép chiếu trực giao - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 1.8. Kết quả của ba phép chiếu trực giao (Trang 27)
Hình 1.11. Khả năng quan sát của con người tương ứng với từng mức sóng.  Trong đồ họa ba chiều tính chất sóng - hạt của ánh sáng được trừu tượng hóa  thông qua các quy luật, việc xây dựng các quy luật này phần lớn dựa vào các quy  luật hình học, và các qu - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 1.11. Khả năng quan sát của con người tương ứng với từng mức sóng. Trong đồ họa ba chiều tính chất sóng - hạt của ánh sáng được trừu tượng hóa thông qua các quy luật, việc xây dựng các quy luật này phần lớn dựa vào các quy luật hình học, và các qu (Trang 33)
Hình 1.12. Chiếc ấm được chiếu bằng Ambient Light. - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 1.12. Chiếc ấm được chiếu bằng Ambient Light (Trang 34)
Hình 1.13. Ấm chè được chiều bằng Diffuse Light  Specular  Light  là  ánh  sáng  phản  xạ - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 1.13. Ấm chè được chiều bằng Diffuse Light Specular Light là ánh sáng phản xạ (Trang 34)
Hình 1.14. Ấm chè được chiếu bằng Specular Light - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 1.14. Ấm chè được chiếu bằng Specular Light (Trang 35)
Hình 2.4. Biểu diễn của một căn nhà. - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 2.4. Biểu diễn của một căn nhà (Trang 42)
Hình 2.13. Tư tưởng chính của Z-Pass. - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 2.13. Tư tưởng chính của Z-Pass (Trang 51)
Hình 2.18. Thuật toán tạo bóng khối với kỹ thuật z-fail  Trong hình vẽ trên vật màu cam biễu diễn cho vật thể nhận bóng tối, vật màu  xanh là vật thể chắn sáng - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 2.18. Thuật toán tạo bóng khối với kỹ thuật z-fail Trong hình vẽ trên vật màu cam biễu diễn cho vật thể nhận bóng tối, vật màu xanh là vật thể chắn sáng (Trang 57)
Hình 2.18. Tư tưởng của Z-Fail  Với tư tưởng như vậy cách thể hiện của Z-Fail trái ngược với Z-Pass - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 2.18. Tư tưởng của Z-Fail Với tư tưởng như vậy cách thể hiện của Z-Fail trái ngược với Z-Pass (Trang 58)
Bảng 2.1. So sánh giữa hai thuật toán [2] - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Bảng 2.1. So sánh giữa hai thuật toán [2] (Trang 61)
Hình 3.1. Giao diện mô tả bóng khối - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 3.1. Giao diện mô tả bóng khối (Trang 70)
Hình 3.2. Giao diện mô tả bóng cứng tạo ra từ bóng khối - nghiên cứu một số kỹ thuật tạo bóng khối trong đồ họa ba chiều
Hình 3.2. Giao diện mô tả bóng cứng tạo ra từ bóng khối (Trang 71)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w