Tải bản đầy đủ (.pdf) (55 trang)

Bài giảng Ray Tracing

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (571.83 KB, 55 trang )

Ray Tracing

1


Giới thiệu
 Các  nhà  khoa  học  đồ  họa  máy  tính  luôn  muốn  tạo 
được những hình  ảnh như  thật như  trong tự nhiên. 
Điều  đó  có  thể  đạt  được  khi  ngày  nay  máy  tính  đã 
trở nên mạnh hơn, những thiết bị xuất nhập đồ họa 
trở nên phổ biến. 
 Vì thế không ai không bị gây  ấn tượng khi những gì 
họ thấy trong phim khoa học viễn tưởng thực chất 
là  do  máy  tính tạo  ra.  Đối  với  những  công  việc  cần 
có mô hình phức tạp và tốn công để vẽ thì bây giờ có 
thể  mô  hình  hóa  trên  máy  tính  với  những  chi  tiết 
phức  tạp  nhưng  lại  cho  ra  những  kết  quả  hết  sức 
trung thực.
2


Giới thiệu (cont.)
 Nền tảng  để máy tính xây dựng các hình  ảnh chính 
là cách mô hình hình học chính xác các hình  ảnh  đó. 
Hiện  nay  có  nhiều  thuật  giải  đã  được  phát  hiện 
dùng  để hiển thị cho nhiều mô hình toán học hiển 
thị mặt cong: mặt tham số hóa, các mặt bậc ba, các 
mặt dạng ẩn… 
 Sự  khác  nhau  giữa  các  thuật  giải  này  chính  là  sự 
khác  nhau  về  mặt  hình  học  của  đối  tượng  cần 
được  hiển  thị.  Vì  vậy  đối  với  mỗi  loại  đối  tượng 


khác  nhau  cần  có  một  phương  pháp  hiển  thị  khác 
nhau tương ứng.

3


Ưu điểm
Khắc  phục  được  nhược  điểm  trên,  Ray  Tracing  là 
phương  pháp  tổng  quát  rất  hữu  hiệu  để  hiển  thị  các 
mặt cong bởi vì: 
– là tính đơn giản của thuật toán, 
– sử  dụng  nguyên  lý  quang  hình  nên  tạo  ra  những  hình  ảnh 
rất giống thực tế, 
– áp dụng cho nhiều loại mặt cong. 

4


Điều kiện áp dụng thuật toán Ray Tracing
Để áp dụng thuật toán Ray Tracing cho các mặt cong thì 
ta phải xác định được 2 điều: 
– giao điểm của một đường thẳng với một mặt cong
– pháp vector tại một điểm trên mặt cong. 

Những  mặt  cong  nào  thỏa  mãn  2  điều  kiện  này  thì  có 
thể áp dụng phương pháp Ray Tracing để hiển thị. 

5



Tính chất của Ray Tracing
 Ray  tracing  là  phương  pháp  để  tạo  ra  những  hình 
ảnh giống như thật:
– sự  tương  tác  giữa  ánh  sáng  và  bóng  tối  với  các  vật  thể 
được thể hiện giống như ta thấy trong tự nhiên.
– sự kết hợp  đơn giản của các hiệu  ứng như  bóng, sự phản 
xạ, khúc xạ. 
– mô phỏng theo  đường  đi giữa tia sáng và vật thể theo quy 
luật của quang hình học.

 Những gì (hình  ảnh) mà chúng ta thấy  được là sự tổ 
hợp màu của hàng tỉ tia sáng đi vào mắt chúng ta. 
 Vì vậy, Ray Tracing  đề ra phương pháp  để tính toán 
màu sắc của tia sáng. 
6


Tính chất của Ray Tracing

Eyepoint

Screen

Scene
7


Mô hình tạo ảnh của Ray Tracing
Nguồn sáng


Vật thể

Tia này giao với 
một vật thể. 
Màu của điểm 
ảnh tương ứng 
tùy thuộc vào 
màu của vật thể 
và những yếu 
tố khác.

Tương ứng 
giữa View 
Plane và 
Buffer lưu trữ 
hình ảnh.

Buffer

Viewpoint
Location
View 
Plane

Tia này không giao với vật thể nào. 
Màu của điểm ảnh tương ứng 
được xác định bởi màu nền.

8



Mô hình tạo ảnh của Ray tracing


Mô hình tạo ảnh của Ray Tracing, bao gồm: 
– light source (nguồn sáng), 
– object (vật thể), 
– viewing geometry (tầm nhìn).





Light source bao gồm các thuộc tính vị trí và màu sắc.
Object có các thuộc tính: màu sắc, vị trí, độ phản xạ, khúc xạ, 
phương trình mặt, vectơ trực chuẩn.
Viewing geomeotry (tầm nhìn) được định nghĩa phức tạp hơn. 
Thực chất, tầm nhìn xác định vị trí mắt người nhìn, hướng của 
mắt sẽ nhìn tới và vùng nào trong không gian mà mắt sẽ nhìn 
thấy 3 chiều thông qua một cửa sổ gọi là viewplane. 

9


Viewing Geometry
View Plane

Mắt

Mắt

Direction
Location

Up
Right
View Plane

Không gian vật thể 
phía sau View Plane
10


Viewing Geometry
Chúng ta sử dụng 4 vector để định nghĩa viewing 
geomeotry:
 Location: xác định vị trí của mắt trong hoạt cảnh 3 
chiều. Vị trí của mắt được xác định trong cùng hệ tọa độ 
với các vật thể.
 Direction: định nghĩa bởi một vector từ vị trí mắt điểm 
giữa của viewplane. Độ lớn của vector này xác định khoảng 
cách giữa mắt và viewplane.
 Up: vector có gốc là điểm giữa của viewplane và ngọn là 
điểm giữa của cạnh trên viewplane.
 Right: vector có gốc là điểm giữa của viewplane và ngọn 
là điểm giữa của cạnh phải viewplane.
11


Phương pháp tạo ảnh
 Trên thực tế, tia sáng xuất phát từ nguồn sáng, đi vào hoạt 

cảnh 3 chiều, sau khi tương tác với các vật thể tia sáng đi ra 
khỏi hoạt cảnh, có thể được mắt nhìn thấy hoặc không. 
 Phương pháp này thường được gọi là Ray Tracing thuận và 
phải tính toán rất nhiều. 
 Sở dĩ như vậy là vì khi muốn tạo hình ảnh của hoạt cảnh ta 
phải xây dựng hàng tỉ tia sáng (có thể hơn thế nữa) đi từ nguồn 
sáng mà chỉ có một số ít có hướng đi đúng qua viewplane và tới 
mắt người xem. 
 Như thế máy tính PC không thể trong thời gian ngắn hoàn 
thành được công việc đồ sộ như vậy.
12


Phương pháp tạo ảnh (cont.)
 Bằng  cách  thay  phương  pháp  đi  của  tia  sáng,  ta  được  một  kỹ 
thuật tạo  ảnh nhanh chóng hơn nhiều thường  được gọi là Ray 
Casting hay Ray Tracing ngược. 
 Ý tưởng của phương pháp này là cho tia sáng xuất phát từ vị trí 
mắt và đi qua từng điểm trên viewplane vào hoạt cảnh 3 chiều. 
 Khi  tia  sáng  tương  tác  với  các  vật  thể  trong  hoạt  cảnh,  điểm 
trên viewplane (và điểm màu trên buffer) tương ứng với tia sáng 
đó sẽ có màu của giao  điểm của vật thể gần nhất mà tia sáng 
tương tác.

13


Ray Casting

Eyepoint


Screen

Scene
14


Lighting model
Màu sắc của một điểm trên vật thể bị ảnh hưởng bởi những yếu 
tố sau đây:
 Giữa điểm đó và nguồn sáng có vật thể nào che khuất hay không, 
nếu không nó được chiếu sáng hoàn toàn.
 Sự phản xạ của bề mặt vật thể. Điển hình là cái gương nó phản xạ 
hoàn toàn các tia sáng tới. Cái gương không hề có màu của nó mà 
mang màu của những tia sáng đi tới.
  Sự khúc xạ ánh sáng của bề mặt vật thể. Ví dụ khi nhìn miếng thủy 
tinh ta không hề thấy màu của miếng thủy tinh mà chỉ thấy màu của 
những vật thể phía sau nó. 

15


Shadow – Bóng
Đường thẳng nối giao điểm và nguồn sáng giao với vất thể
khác.

16


Inter-object reflections – Phản xạ

Tạo tia sáng phản xạ ra khỏi vật thể,
Nếu nó tương tác với vật thể khác thì tính toán màu sắc của
nó và phối hợp màu với giao điểm đầu tiên.

17


Refraction – Khúc xạ
Vật thể trong suốt bẻ cong ánh sáng khi đi qua nó

sin
n1 2
sin

i
r

n2
n1
18


Recursive ray tracing - Đệ qui

19


Lighting model (cont.)



Do vậy để tính màu tại một điểm ta phải tổng hợp màu: 
– màu do nguồn sáng (local shading), 
– màu do tia phản xạvà màu do tia khúc xạ mang tới (recursive 
shading). 



Hai màu do tia phản xạ và khúc xạ tạo nên có được bằng cách 
xây dựng thêm hai tia phản xạ và khúc xạ và tiếp tục tính màu 
của hai tia trên bằng phương pháp trên. Đây được gọi là sự đệ 
qui trong cách xây dựng màu của vật thể. 

20


Ưu điểm và nhược điểm
Ưu điểm:
Transparency
Reflection
Shadow
No clipping, no projections, no scan conversion

Nhược điểm:
Tính toán giao điểm phức tạp

21


Thuật toán Ray Tracing tổng quát



Với mỗi điểm ảnh trên buffer,
– Xác định điểm P tương ứng trên viewplane;
– Xây dựng tia Ray đi từ mắt qua P;
– Xác định giao điểm gần nhất giữa tia Ray và các vật thể Objects trong 
khung cảnh;
– Nếu không tồn tại giao điểm thì điểm ảnh có màu là màu nền;
– Ngược lại,
• Tính vector trực chuẩn của vật thể tại giao điểm;
• Màu điểm ảnh là màu ambient;
• Với mỗi nguồn sáng,
– Tạo tia đi từ giao điểm đến nguồn sáng;
– Tính sự phân phối ánh sáng diffuse tới vật thể và cộng dồn vào 
màu của điểm ảnh;
– Nếu vật thể phản xạ,
» Tính toán tia phản xạ;
» Xác định màu của tia phản xạ;
» Cộng dồn vào màu của điểm ảnh;
– Nếu vật thể trong suốt,
» Tính toán tia khúc xạ;
» Xác định màu của tia khúc xạ;
» Cộng dồn vào màu của điểm ảnh;
22


Ứng dụng Ray Tracing
Chúng ta chỉ cần xác định giao điểm của tia và mặt cong, vector 
trực chuẩn của mặt cong tại giao điểm đó:






Biểu  diễn tia
Biểu diễn vật thể
Giao điểm của tia và vật thể
Vectơ pháp tuyến tại giao điểm

23


Biểu diễn tia


  


Tia đóng vai trò quan trọng trong thuật toán ray tracing. Tia bao gồm 
gốc và hướng. Tia được tạo bởi hai vector, một cho gốc và một cho 
hướng của tia. Để mô tả tia di chuyển như thế nào ta xem thời gian 
như tham số t, ta có phương trình của tia như sau: 

R(t)

Rd * t

Ro, t

0




R(t) là tập hợp những điểm tạo nên đường đi của tia. Tia chỉ đi về 
một hưóng được định bởi t>0.
Rd:hướng của tia.



R0:gốc của tia.

R0

Rd
24


Phương trình tham số của tia


Phương trình R(t) được xét trong không gian 3 chiều nên ta có cách 
khác:
x(t) x d * t x 0

y(t)
z(t)

yd * t
zd * t

y0

z0

– hướng của tia được mô tả bởi vector (xd, yd , zd)
– gốc của tia mô tả bởi vector (xo, yo , zo) . 



Như bạn đã biết, thuật toán ray tracing liên quan rất nhiều đến việc 
xác định giữa tia và vật thể có giao với nhau hay không. Sử dụng 
phương trình tham số của tia, chúng ta dễ dàng có thể xác định giao 
điểm giữa tia và vật thể. 

R0

Rd
25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×