..
ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
Vũ Duy Tuyên
CÁC KỸ THUẬT CHẠM NỔI 3D VÀ ỨNG DỤNG
LUẬN VĂN THẠC SĨ
Thái Nguyên – 2010
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
Vũ Duy Tuyên
CÁC KỸ THUẬT CHẠM NỔI 3D VÀ ỨNG DỤNG
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS. Đỗ Năng Tồn
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Thái Nguyên – 2010
LỜI CAM ĐOAN
Tôi, Vũ Duy Tuyên xin cam đoan toàn bộ nội dung bản luận văn này là
do tôi tự sưu tầm, tra cứu và sắp xếp cho phù hợp với nội dung yêu cầu của đề
tài. Nội dung luận văn này chưa từng được công bố hay xuất bản dưới bất kỳ
hình thức nào và cũng khơng được sao chép từ bất kỳ một cơng trình nghiên
cứu nào. Phần mã nguồn của chương trình đều do tơi tự thiết kế và xây dựng,
trong đó có sử dụng một số thư viện chuẩn và các thuật toán được các tác giả
xuất bản cơng khai và miễn phí trên mạng Internet.
Nếu sai tơi xin hồn tồn chịu trách nhiệm.
Người Cam Đoan
Vũ Duy Tuyên
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
LỜI CÁM ƠN
Sau thời gian nghiên cứu, tìm hiểu và viết luận văn, giờ luận văn của
em đã hoàn thành. Lời đầu tiên em xin được chân thành cảm ơn sự giúp đỡ,
sự chỉ bảo và hướng dẫn nhiệt tình của thầy giáo PGS.TS Đỗ Năng Tồn –
Viện Cơng nghệ Thông tin thuộc Viện Khoa học và Công nghệ Việt Nam là
giáo viên hướng dẫn em trong suốt thời gian làm luận văn.
Em xin chân thành cảm ơn các thầy giáo, cơ giáo, các anh, chị cơng tác
tại phịng Thực tại ảo – Viện Công nghệ thông tin, các thầy cô giáo công tác
tại Khoa công nghệ thông tin – Đại học Thái Nguyên, cùng tập thể các bạn
học viên lớp cao học Khóa 6 đã ln giúp đỡ chia sẻ kinh nghiệm trong suốt
khóa học.
Xin chân thành cám ơn Ban lãnh đạo Ngân hàng Nông nghiệp và Phát
triển Nông thơn Việt Nam chi nhánh Hải Phịng cùng các bạn đồng nghiệp
trong phịng Điện Tốn đã tạo điều kiện giúp đỡ để tơi hồn thành được khóa
học .
Thái Ngun, ngày 10 tháng 10 năm 2010
Học viên
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Vũ Duy Tuyên
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
i
MỤC LỤC
Trang
DANH MỤC KÝ HIỆU, CÁC CHỮ VIẾT TẮT ................................................... iii
DANH MỤC CÁC HÌNH VẼ................................................................................. iv
PHẦN MỞ ĐẦU ...................................................................................................... 1
Chương 1: KHÁI QUÁT THỰC TẠI ẢO VÀ CHẠM NỔI 3D ............................. 2
1.1. Khái quát thực tại ảo ......................................................................................... 2
1.2. Ứng dụng cơ bản của thực tại ảo....................................................................... 4
1.2.1. Giáo dục và khoa học............................................................................. 4
1.2.2. Y học ...................................................................................................... 5
1.2.3. Thiết kế xây dựng .................................................................................. 7
1.2.5. Hàng không ............................................................................................ 8
1.2.4. Quân sự .................................................................................................. 9
1.2.6. Nghệ thuật ............................................................................................ 10
1.2.7. Điện ảnh ............................................................................................... 11
1.2.8. Game và giải trí.................................................................................... 11
1.2.9. Hội thảo từ xa....................................................................................... 11
1.3. Kỹ thuật chạm nổi 3D ..................................................................................... 13
Chương 2: MỘT SỐ KỸ THUẬT CHẠM NỔI .................................................... 14
2.1. Kỹ thuật Bump mapping ................................................................................. 14
2.1.1. Kỹ thuật Emboss bump mapping ......................................................... 16
2.1.2. Kỹ thuật Dot Product 3 ........................................................................ 17
2.1.3. Kỹ thuật Environment mapping........................................................... 17
ii
2.2. Kỹ thuật Normal mapping............................................................................... 22
2.3. Kỹ thuật Displayment mapping ...................................................................... 25
2.3.1. Khơng gian tiếp tuyến .......................................................................... 30
2.3.2. Tính tốn các bản đồ chiều cao: .......................................................... 33
2.3.3. Ánh xạ thay thế trên mỗi đỉnh ............................................................. 33
2.3.4. Ánh xạ thay thế trêm mỗi điểm ảnh..................................................... 37
2.3.5. Ánh xạ thay thế trên mỗi điểm ảnh cùng với hàm khoảng cách.......... 41
2.4. Kỹ thuật Parallax mapping .............................................................................. 50
2.4.1. Parallax mapping ................................................................................. 51
2.4.2. Steep parallax mapping:....................................................................... 54
2.4.3. Parallax mapping cùng với độ dốc thông tin: ...................................... 55
Chương 3: CHƯƠNG TRÌNH THỬ NGHIỆM..................................................... 58
3.1. Đặt vấn đề ....................................................................................................... 58
3.2. Kỹ thuật chạm nổi ánh xạ thay thế sử dụng hàm khoảng cách ....................... 58
3.3. Một số hình ảnh kết quả của chương trình ...................................................... 59
PHẦN KẾT LUẬN ................................................................................................ 63
TÀI LIỆU THAM KHẢO ...................................................................................... 64
iii
DANH MỤC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Binormal
Véc tơ nửa pháp tuyến
Bitangent
Véc tơ nửa tiếp tuyến
BRDF
Hàm phân bố năng xuất phản xạ hai chiều (Bidirectional
Reflectance Distribution Funtion)
CPU
Bộ xử lý trung tâm (Center Processing Unit)
3D
3 chiều (3Dimension)
FS
Tơ bóng mảnh (Fragment shader)
GPU
Đơn vị xử lý đồ họa (Graphic Processor Unit)
Mipmap
Tập hợp nhóm các loại cỡ của mảng hình chất liệu
NURB
Là một kiểu của Basis spline (Non-Uniform Rational BSplines)
PS
Tơ bóng điểm ảnh (Pixel Shader)
VS
Tơ bóng đỉnh (Vertex Shader)
Texel
Là đơn vị cơ bản của không gian kết cấu (Texture element –
texture pixel)
iv
DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Hình ảnh của dự án nghiên cứu về tay của con người ............................. 5
Hình 1.2. Bên trái- Quả tim người, Bên phải- Mắt con người ................................. 6
Hình 1.3. Hình ảnh ứng dụng của thực tại ảo trong xây dựng ................................. 7
Hình 1.4. Ứng dụng của thực tại ảo trong huấn luyện quân sự ............................... 9
Hình 2.1. Bump mapping ......................................................................................... 13
Hình 2.2. Các ảnh kết cấu cho bản đồ khối.............................................................. 17
Hình 2.3. a- Environment map, b- Tính tốn véc tơ phản chiếu .............................. 18
Hình 2.4. Ý tưởng cơ bản của displacement mapping ............................................. 26
Hình 2.5. Khơng gian tiếp tuyến .............................................................................. 28
Hình 2.6. Displacement mapping trên thiết bị tơ bóng đỉnh .................................... 31
Hình 2.7. Ánh xạ thay thế trên mỗi điểm ảnh .......................................................... 34
Hình 2.8. Ray tracing của trường chiều cao............................................................. 35
Hình 2.9. Một trường hợp khó khăn cho các thuật tốn Displacement ................... 39
Hình 2.10. Việc kết xuất văn bản được thay thế ...................................................... 39
Hình 2.11. Một ví dụ ánh xạ khoảng cách trong hai đơn vị độ dài .......................... 40
Hình 2.12. Sphere stracing ....................................................................................... 41
Hình 2.13. Displacement mapping cùng với việc vẽ hình cầu ................................ 44
Hình 2.14. Ánh xạ song song (Parallax mapping) ................................................... 47
Hình 2.15. Ánh xạ song song cùng với offset limiting ............................................ 48
Hình 2.16. Parallax mapping with slope information .............................................. 50
Hình 3.1. Ảnh màu -ảnh chiều cao - ảnh pháp tuyến của quạt ................................ 54
Hình 3.2. Ảnh quạt của kỹ thuật chạm nổi............................................................... 54
v
Hình 3.4. Ảnh màu - ảnh chiều cao - ảnh pháp tuyến của bức tường đá ................. 55
Hình 3.5. Ảnh bức tường đá của kỹ thuật chạm nổi ................................................ 55
Hình 3.6. Hình kết quả thay đổi độ sâu bump và số lần lặp .................................... 56
Hình 3.7. Hình kết quả khi thay đổi độ sâu về 0.50 ................................................. 56
Hình 3.8. Kết quả thay đổi lần lặp về 0.................................................................... 57
Hình 3.9. Kết quả khi thay đổi hướng ánh sáng....................................................... 57
Hình 3.10. Ảnh màu - ảnh chiều cao - ảnh pháp tuyến của đoạn văn bản ............... 58
Hình 3.11. Ảnh chữ của kỹ thuật chạm nổi.............................................................. 58
Hình 3.12. Kết quả giảm độ sâu về 0.30 của ảnh text .............................................. 59
1
PHẦN MỞ ĐẦU
Ngày nay với sự phát triển như vũ bão của ngành công nghệ thông tin cũng
như ứng dụng rộng khắp của nó vào trong đời sống kinh tế xã hội của con người. Đi
liền với sự phát triển của ngành công nghệ thông tin là lĩnh vực đồ họa máy tính,
lĩnh vực này được rất nhiều nhà khoa học quan tâm nghiên cứu từ thế kỷ trước để
ứng dụng vào thực tế.
Nghiên cứu các đối tượng ảnh 3D là một trong những cách mô phỏng thực tế
nhất các đối tượng trong thế giới thực. Các kỹ thuật xử lý ảnh 3D sẽ giúp cho việc
hiển thị, mô phỏng một cách tốt nhất thế giới bên ngoài trên máy tính. Một trong
các kỹ thuật xử lý ảnh 3D là kỹ thuật chạm nổi, kỹ thuật này cho phép làm nổi bật
các thành phần của hình ảnh giống như thật. Cùng với việc ứng dụng rộng khắp của
đồ họa 3D đã thơi thúc tác giả tìm hiểu về các kỹ thuật đồ họa 3D. Do đó luận văn
tốt nghiệp nghiên cứu về “Một số kỹ thuật chạm nổi 3D và ứng dụng”. Luận văn
gồm các phần như sau: phần mở đầu, phần kết luận, phần nội dung. Phần nội dung
có 3 chương cụ thể như sau:
Chương 1: Khái quát thực tại ảo và kỹ thuật chạm nổi 3D
Phần này đề cập đến khái niệm thực tại ảo, so sánh thực tại ảo với một số
lĩnh vực khác, ứng dụng của thực tại ảo, kỹ thuật chạm nổi: Khái niệm và một số
vấn đề về kỹ thuật chạm nổi.
Chương 2: Các kỹ thuật chạm nổi
Tổng hợp một số các kỹ thuật chạm nổi: kỹ thuật tạo bề mặt sần, kỹ thuật
ánh xạ thay thế, kỹ thuật ánh xạ pháp tuyến, kỹ thuật ánh xạ song song.
Chương 3: Chương trình thử nghiệm
Giới thiệu bài toán kỹ thuật chạm nổi sử dụng phương pháp ánh xạ thay thế
dựa trên hàm khoảng cách, một số hình ảnh kết quả của chương trình.
2
Chương 1
KHÁI QUÁT THỰC TẠI ẢO VÀ CHẠM NỔI 3D
1.1. Khái quát thực tại ảo
Thực tại ảo mô phỏng môi trường khơng gian ba chiều trên máy tính, trong
mơi trường mơ phỏng đó con người có thể quan sát và thực hiện những thao tác mà
mình mong muốn. Với tất cả những gì có trong mơi trường mơ phỏng thơng qua
thiết bị đầu vào với kết quả trả lại là những thay đổi của mơi trường đó mà con
người có thể quan sát hay cảm nhận được thông qua các thiết bị đầu ra.
Theo như định nghĩa trên có thể nhận ra các thành phần của thực tại ảo là:
môi trường khơng gian ba chiều, mơ hình tạo trên máy tính, sự tương tác, các thiết
bị vào, ra. Thực tại ảo là một thế giới thực song lại ảo, vì một phần của thế giới thực
sẽ được tái tạo trên máy tính, thơng qua các thiết bị đầu vào con người có thể chìm
đắm trong mơi trường khơng gian ba chiều và cho phép con người có khả năng
quan sát, tương tác với mơi trường ảo đó. Những tương tác đó đều được chương
trình xử lý và thơng qua thiết bị đầu ra sẽ đem lại cho con người cảm nhận về thay
đổi của môi trường ấy như trong thực tế và tất cả mọi thứ diễn ra trong không gian
ba chiều.
Chúng ta thấy rằng khái niệm trên là khái niệm khá rõ ràng, song đôi khi
chúng ta vẫn cảm thấy có sự mập mờ giữa thực tại ảo với multimedia hay thực tại
ảo với game 3D hoặc thực tại ảo với television. Điều đó khơng có gì ngạc nhiên vì
thực tại ảo là một lĩnh vực hiện cịn khá mới mẻ, nhưng giữa chúng có những điểm
khác biệt quan trọng.
Trong thế giới Multimedia mọi thứ chỉ là 2D còn trong thế giới Thực tại ảo
mọi thứ có thể mơ phỏng 3D. Trong multimedia thì vấn đề đã được xếp đặt và lên
chương trình trước, thơng tin được đóng gói với một kịch bản xác định và tương tác
của người sử dụng với các đối tượng chỉ là những tương tác có sẵn, người sử dụng
khơng thể thay đổi được bất cứ cái gì và khơng thể thêm cái gì vào đó được. Thực
tại ảo thì khác, tương tác trở lên tốt hơn và dễ dàng hơn, thậm chí một số hệ thống
còn cho phép thêm vào và kết hợp với các tương tác, với âm thanh, hình ảnh, phần
3
mềm và phần cứng trợ giúp làm cho con người có thể đắm mình trong thế giới thực
tại. Khi nói đến truyền thanh hay truyền hình ai trong chúng ta cũng nghĩ tới những
chương trình được tổ chức một cách cơng phu nhằm hấp dẫn những người theo dõi
chương trình và cố gắng làm cho người theo dõi chương trình cảm thấy chương
trình càng hấp dẫn, càng thu hút càng tốt.
Như vậy chương trình truyền thanh hay truyền hình chỉ nhằm hướng người ta
theo dõi chương trình chứ khơng hướng người ta tham gia vào các chương trình.
Cịn trong thực tại ảo thì hồn tồn khác, khơng những chỉ hướng người sử dụng
theo dõi chương trình mà cịn làm cho người xem tham gia vào hệ thống một cách
tự nhiên, thoải mái, thám hiểm hấp dẫn trong cái thế giới ảo đó. Trong thực tại ảo có
thể thực hiện tương tác như trong thế giới thực và cũng cảm nhận sự tương tác
ngược trở lại như trong thế giới thực. Thỉnh thoảng chúng ta có xem một số film
khoa học viễn tưởng, chúng ta thấy được những viễn cảnh hoàn tồn khơng có thực
trên thế giới này. Đó là sản phẩm với trí tưởng tượng phong phú của con người và
chúng được mơ hình hố trên máy vi tính và được đưa vào phim. Như vậy chúng ta
có thể thấy được rằng sự khác biệt ở đây sẽ càng khó phân biệt hơn khi chúng ta
ứng dụng thực tại ảo vào Television. Thực tại ảo bao gồm Game3D vì nguyên nhân
đầu tiên mà thực tại ảo ra đời là nhằm phục vụ giải trí đặc biệt là Game 3D và Game
3D chỉ nằm trong lĩnh vực giải trí cịn thực tại ảo thì có thể bao trùm mọi lĩnh vực
của đời sống xã hội.
1.2. Ứng dụng cơ bản của thực tại ảo
Tại hội trợ triển lãm thương mại năm 1989 hai công ty VPL và Autodesk đã
giới thiệu các thiết bị cho việc giao tiếp với thế giới ảo. Đây là bước đi đầu tiên cho
việc khám phá rộng rãi các lĩnh vực ứng dụng mới của thực tại ảo và kỹ thuật chạm
nổi. Những lĩnh vực đang ứng dụng thực tại ảo và chạm nổi một cách mạnh mẽ hiện
nay là: Giáo dục và khoa học, Y học, Công nghệ thơng tin, Hàng khơng, Xây dựng,
Giải trí, Qn sự, Điện ảnh.
4
1.2.1. Giáo dục và khoa học
Giáo dục con người là vấn đề hàng đầu của mỗi quốc gia. Tìm hiểu, nghiên
cứu nhằm đưa ra phương pháp giáo dục hiệu quả đã khó, song cịn có những vấn đề
cịn khó khăn hơn đó là làm sao kích thích được niềm say mê học tập, nghiên cứu
của con người và tính tự giác, khả năng tư duy và tưởng tượng của mỗi con người
và làm sao để cung cấp môi trường học tập nghiên cứu tốt nhất nhằm phát huy hết
những khả năng của con người.
Theo như cách giáo dục truyền thống nhiều khi chúng ta không thể cung cấp
được môi trường nghiên cứu học tập tốt, không khơi dậy được niềm đam mê, hứng
thú hay không thể phát huy hết được khả năng tưởng tượng và tư duy của con người
làm cho hiệu quả giáo dục khơng cao. Những chương trình nhằm rèn luyện tư duy,
những chương trình rèn luyện khả năng tưởng tượng, những chương trình cung cấp
mơ hình thực nghiệm, những chương trình kích thích trí tị mị là chưa nhiều hay có
thể là chưa nhiều chương trình hiệu quả. Nguyên nhân là các chương trình được xây
dựng chưa có khả năng phát huy hết được sự cảm nhận của con người, chưa gây
được ấn tượng sâu sắc về vấn đề cần truyền đạt cho đối tượng cần truyền đạt, mơi
trường truyền đạt khơng gây được trí tị mị. Hiện nay có một xu hướng mới trong
việc ứng dụng Công nghệ thông tin trong giáo dục mà rất được quan tâm nghiên
cứu và phát triển đó là xây dựng mơ hình thực tại ảo trên máy vi tính nhằm cung
cấp các môi trường học tập và nghiên cứu. Những mơ hình được xây dựng ở đây
phải xây dựng làm sao để chuyển tải được thực tế vào môi trường mơ phỏng đó,
cung cấp khả năng tương tác của con người với mơi trường mơ phỏng đó, có khả
năng kích thích cao với người tham gia. Qua những lần thực nghiệm này thì chúng
ta sẽ ngày càng đạt được hiệu quả cao hơn trong giảng dạy.
1.2.2. Y học
Khi xã hội càng phát triển thì vấn đề sức khoẻ con người càng được quan
tâm hơn. Càng ngày người ta càng cố gắng tìm ra các phương pháp, các cách thức
chữa trị bệnh cho con người ngày một tốt hơn. Hiện nay Công nghệ thông tin đang
phát triển và những ứng dụng của nó vào thực tế trở nên phổ biến, đồng thời những
5
thành quả to lớn của nó đem lại thì khơng ai có thể phủ nhận được, một trong các
lĩnh vực mà ứng dụng Công nghệ thông tin một cách hiệu quả hiện nay là y học, cụ
thể là đã có một số phần mềm hỗ trợ cho việc khám chữa bệnh: Phần mềm quản lý
bệnh nhân, phần mềm nội soi, phần mềm mô phỏng các bộ phận cơ thể con người
giúp cho việc điều trị bệnh. Ví dụ như dự án nghiên cứu của Châu Âu vào tháng 11
năm 1993, dự án này cho phép xây dựng lại mơ hình cánh tay của con người trong
không gian 3D từ những dữ liệu hình ảnh trong y học và mơ phỏng tất cả sự thay
đổi có thể có của các bộ phận như sự co giãn cơ. Dự án nghiên cứu nhằm đưa thực
tại ảo vào việc chữa trị bệnh cho con người. Bằng cách xây dựng một chương trình
mà cho phép các bác sĩ trên khắp thế giới có thể cùng tham gia quan sát, thảo luận
để đưa ra phương pháp chữa trị hiệu quả nhất. Trong y học con người cịn gặp rất
nhiều những vấn đề mà nếu khơng có thực tại ảo thì khơng dễ tìm ra phương pháp
giải quyết. Ví dụ như việc cung cấp mơi trường thực hành cho việc nghiên cứu và
học tập, đây cũng là vấn đề bức xúc và gặp nhiều khó khăn hiện nay, chúng ta thiếu
các mẫu để thực tập phẫu thuật hay môi trường thực để quan sát. Đôi khi vì khả
năng con người ví dụ như tầm quan sát của mắt chúng ta không thể quan sát được
mạch máu của chúng ta như thế nào hay cấu trúc lược đồ gen của chúng ta ra sao
hay trong phẫu thuật nhiều khi không thể thực hiện được do đối tượng thực hiện
khơng có điều kiện sức khoẻ để thực hiện ca phẫu thuật lớn. Dưới đây là một số
hình ảnh minh hoạ về việc nghiên cứu và ứng dụng thực tại ảo trong y học:
Hình 1.1. Hình ảnh của dự án nghiên cứu về tay của con người
Đây là dự án nghiên cứu của Châu Âu vào tháng 11 năm 1993, dự án này
cho phép xây dựng lại mơ hình cánh tay của con người trong không gian 3D từ
6
những dữ liệu hình ảnh trong y học và mơ phỏng tất cả sự thay đổi có thể có của các
bộ phận như sự co giãn cơ (theo địa chỉ: ) .
Hình 1.2. Bên trái- Quả tim người, Bên phải- Mắt con người
Những vấn đề trên được giải quyết một cách hiệu quả khi có ứng dụng thực
tại ảo. Chỉ bằng cách xây dựng các mơ hình thực tại ảo cần thiết cho các đối tượng
là chúng ta đã có ngay môi trường quan sát, nghiên cứu thực tập tốt thậm chí có thể
nói là tốt hơn thực tế.
1.2.3. Thiết kế xây dựng
Những chương trình đồ họa mạnh nhất hiện nay chủ yếu được phục vụ vào
các lĩnh vực thiết kế và xây dựng như AUCAD, AUTODEST, 3DMAX,
SHAPRE,… Những chương trình này đã giúp cho những nhà thiết kế xây dựng
giảm được rất nhiều chi phí về thời gian và cơng sức thiết kế. Song hầu hết các
chương trình này mới chỉ dừng lại ở mức các bản vẽ chứ chưa thực sự tạo ra cho
người ta cảm giác hay một cái nhìn về những cơng trình mà họ thiết kế trên thực tế
nó sẽ như thế nào. Thực tại ảo tạo ra cho người ta cảm giác chìm đắm trong một
không gian như trên thực tế mà đã được xây dựng trên máy vi tính và sẽ giúp cho
chúng ta có thể có một cái nhìn chi tiết về cơng trình đã được thiết kế.
7
Hình 1.3. Hình ảnh ứng dụng của thực tại ảo trong xây dựng
1.2.5. Hàng không
Thời gian, nguồn đầu tư là vấn đề sống cịn của tất cả các cơng ty tham gia
hoạt động sản xuất kinh doanh đặc biệt là những ngành địi hỏi phải có nguồn vốn
lớn mà thời gian thu hồi vốn lâu và sức cạnh tranh cao như ngành hàng không vũ
trụ. Chúng ta không thể đầu tư một chiếc tàu vũ trụ để phóng thử nghiệm vào không
gian, chúng ta không thể giao một chiếc máy bay cho một viên phi công lần đầu tiên
bước lên máy bay mà chưa qua huấn luyện vì chi phí cho chiếc máy bay không phải
là nhỏ và quan trọng hơn nữa là vấn đề an tồn tính mạng con người. Trên thực tế
người ta làm thế nào để giải quyết vấn đề đó, thực tế khi mà chưa có ứng dụng của
Cơng nghệ thơng tin thì người ta buộc tất cả những học viên phải trau dồi lý thuyết
thật nhuần nhuyễn trước khi bước lên máy bay nhằm giảm thiểu những thiệt hại hay
nguy hiểm. Tuy nhiên cách giải quyết này có nhược điểm là địi hỏi q nhiều thời
gian và kinh phí đào tạo. Một vài năm khi Công nghệ thông tin phát triển và các
ứng dụng của nó vào lĩnh vực này càng trở nên mạnh mẽ đặc biệt là trong vấn đề trợ
giúp đào tạo phi cơng, người ta xây dựng rất nhiều chương trình mơ phỏng cho phi
8
công tập luyện kết hợp với các thiết bị phần cứng để tạo ra một môi trường làm cho
con người tưởng như ở trên một chiếc máy bay thật và mọi thứ diễn ra giống như
thực tế. Một chương trình máy tính tạo ra khơng gian 3D kết hợp với thiết bị phần
cứng cho phép người phi công thực hiện những chuyến bay đến các sân bay đã
được xây dựng sẵn với các tình huống khác nhau nhằm nâng cao kỹ năng xử lý tình
huống như trong thực tế cho phi công với cách này người ta đã giảm thiểu được thời
gian đào tạo, chi phí đào tạo và nâng cao tính tốn an tồn của mỗi chuyến bay.
1.2.4. Qn sự
Vấn đề môi trường thực tế, điều kiện kinh tế, kỹ thuật, vấn đề an tồn tính
mạng con người là những vấn đề khó khăn hàng đầu của các quốc gia về quân sự.
Một trong lý do đầu tiên mà thực tại ảo ra đời là nhằm phục vụ cho quân sự. Chắc
hẳn ai cũng biết rằng không phải là lúc nào cũng có chiến tranh, song khi có chiến
tranh không phải là lúc chúng ta chuẩn bị lực lượng, vậy thì lấy đâu ra mơi trường
thực tế để rèn luyện, chuẩn bị lực lượng hay trên thực tế có thể tạo ra môi trường
tập luyện thực sự. Do điều kiện kinh tế kỹ thuật không cho phép hơn nữa việc tập
luyện ấy quá nguy hiểm tới tính mạng cho con người.
Như vậy vấn đề ở đây là làm sao tạo ra được môi trường tập luyện như trên
thực tế mà lại không quá tốn kém hay không nguy hiểm đến tính mạng con người
trong khi đó hiệu quả tập luyện lại tốt như thực tế. Người ta đã giải quyết vấn đề
trên một cách thực sự hiệu quả khi ứng dụng thực tại ảo. Điều này có thể thấy rõ
như ở một số nước có quân sự mạnh như Mỹ, Nga, Trung Quốc,…Người ta đã xây
dựng các hệ thống mô phỏng phục vụ cho việc tập luyện của bộ binh hay những hệ
thống mô phỏng an ninh, mô phỏng trận địa phục vụ cho việc nghiên cứu, tập luyện
nhằm tìm ra các biện pháp phịng thủ hay chiến đấu một cách hiệu quả và nâng cao
chất lượng của quân sự. Khi ứng dụng thực tại ảo vào trong quân sự thì hiệu quả
kinh tế mà nó mang lại là thực sự to lớn, người ta sẽ giảm được một lượng lớn kinh
phí phục vụ cho việc tập luyện hay thực hiện được những vấn đề mà trên thực tế
khó có thể thực hiện được hay những vấn đề trên thực tế phải áp dụng những quy
tắc an toàn nghiêm ngặt song vẫn có mối nguy hiểm lớn đến tính mạng và tài sản
9
của con người. Hình ảnh sau là ảnh minh họa của chương trình huấn luyện quân đội
mới của hãng Cubic cho phép người lính có thể tự do di chuyển trong một môi
trường thực tế ảo 360o. Thông qua một chiếc kính đeo trước mắt, họ có thể nhìn và
tương tác với cảnh vật xung quanh trong môi trường ảo đó để di chuyển và tập
luyện chứ khơng bị bó buộc phải đứng một chỗ như các hệ thống huấn luyện ảo như
trước đây, thường phải thông qua các máy chiếu hoặc tập luyện trên các màn hình
kích thước lớn
Hình 1.4. Ứng dụng của thực tại ảo trong huấn luyện quân sự
1.2.6. Nghệ thuật
Một dự án đang thiết kế và xây dựng Viện bảo tàng nghệ thuật ảo (The
Networked Virtual Art Museum), dự án này hiện tại đang kết hợp thực tại ảo với
viễn thông. Qua dự án này, người ta cũng đang đầu tư nhiều lĩnh vực hoặc đầu tư
thêm vào lĩnh vực khác nhau như là phần mềm xây dựng thế giới, nghệ thuật ảo và
kiến trúc ảo, viễn thơng, lập trình máy tính, trí tuệ nhân tạo, giao thức truyền thông.
Việc xây dựng bảo tàng ảo này cần đến nhiều sự cộng tác của các chuyên gia khác
nhau như là nhà nghệ thuật, nhà kiến trúc, chuyên gia xây dựng cơng cụ trợ giúp
máy tính, lập trình viên, nhà soạn nhạc, chuyên viên viễn thông để cùng phối hợp
với đội thiết kế nhằm giải quyết vấn đề kết nối trong môi trường nhúng. Sự cài đặt
ban đầu cho viện ảo này là toà nhà Fun House. Hay ở Việt Nam để kỷ niệm 1000
năm Thăng Long Hà Nội, đã có dự án phục dựng lại tồn bộ kinh thành Thăng Long
bằng môi trường 3D,..
10
1.2.7. Điện ảnh
Như chúng ta đã biết hiện nay điện ảnh là một lĩnh vực đang lên ngôi, chắc
hẳn ai trong chúng ta cũng đã từng xem phim và cũng đã từng thưởng thức những
cảnh thú vị trong phim do các diễn viên, nhân vật trong phim thể hiện. Và chúng ta
chỉ có thể nghĩ rằng những điều đó chỉ có thể có trong phim chứ khơng có trên thực
tế. Đúng vậy những phim được coi là hay nhất, được ưa chuộng nhất hiện nay là
những phim có những cảnh ngoạn mục, hoành tráng. Một vài những năm gần đây
những phim đó đó ứng dụng thực tại ảo và những phương pháp xử lý đồ họa mạnh
tạo ra những hiệu ứng, những cảnh mà trên thực tế không thể thực hiện được.
1.2.8. Game và giải trí
Lý do đầu tiên mà thực tại ảo ra đời là phục vụ cho giải trí, như chúng ta đã
thấy lịch sử ra đời của thực tại ảo là nhằm phục vụ cho giải trí, thực hiện việc mơ
phỏng các mơ hình 3D, cung cấp các dịch vụ phục vụ tương tác của con người trong
mơi trường ảo với hình ảnh tuyệt vời kết hợp với âm thanh nổi, các thiết bị vào ra
làm cho con người ở trong môi trường ảo mà như là ở trong mơi trường thật. Thậm
chí cịn hấp dẫn hơn nhiều bởi trong mơi trường đó con người có thể thực hiện
những điều mà trên thực tế họ không thể thực hiện được. Với khả năng kết hợp với
các thiết bị vào ra, các hiệu ứng đồ họa chỉ có thể thấy được trên máy tính đã làm
cho thực tại ảo nhanh chóng trở thành một ứng dụng khơng thể thiếu trong Game và
trong giải trí với những trị Game giải trí 3D làm say đắm con người.
1.2.9. Hội thảo từ xa
Các công việc được trao đổi giữa những người ở các nơi khác nhau bằng
cách chia sẻ thông tin thông qua mạng. Hội thảo từ xa là một ứng dụng của mục
đích này. Sự cảm nhận khơng gian và sử dụng không gian cho việc gặp gỡ và trao
đổi với nhau trong mơi trường ba chiều có đặc điểm: Kích thích mạnh mẽ người
tham gia trong hội thảo, Âm thanh vẫn giữ được tự nhiên, Có được các thao tác
phối hợp như trong thế giới thực.
Vì hội thảo ảo đóng một vai trị quan trọng trong viễn thơng nên có nhiều
nhà nghiên cứu tập trung vào các vấn đề trong công việc truyền thông và công việc
11
có tính chất phối hợp với nhau. Lấy một ví dụ minh hoạ cho vấn đề này: Các thành
viên của nhóm Human Tele-Group trong khoa nghiên cứu về điều kiện và kết quả
làm việc để cải tiến công việc hiệu quả hơn của trường đại học Twente, Hà Lan đã
thiết kế và cài đặt một hệ thống hội thảo nhiều bên từ xa. Thành phần của hệ thống
này là phòng họp ảo ba chiều mà ở đó mọi người tham gia nhìn thấy nhau qua hình
ảnh, hình ảnh này được đưa lên bề mặt ba chiều, bề mặt này quay theo hướng nhìn
của người tham dự. Các khe, đốm sáng trên bàn hoặc trên tài liệu ở trên bàn cho
thấy những người khác đang làm việc. Khi đó trong thực tế thì những người tham
dự là đang ở nhà riêng của họ ngồi bên cạnh máy tính cùng với một máy quay gọi là
Eyegaze, thiết bị này gắn với hệ thống theo dõi mắt. Hệ thống này được cài đặt dựa
trên VRML 2.0 và thư viện Java.
Như vậy thực tại ảo có ứng dụng trong hầu hết các lĩnh vực của đời sống.
Qua đó cũng nhận thấy được ý nghĩa to lớn của việc ứng dụng thực tại ảo, bởi
những vấn đề khó khăn mà nếu khơng có thực tại ảo thì có thể nói là khó lịng giải
quyết hay nếu có giải quyết được thì hiệu quả cũng khơng cao và chi phí sẽ rất tốn
kém. Cịn khi ứng dụng thực tại ảo vào thì những vấn đề đó trở nên đơn giản hơn và
hiệu quả mang lại thật sự to lớn kể cả vật chất lẫn tinh thần. Thực tại ảo cung cấp
một giao diện nhiều chiều giữa máy và con người, chính nhờ điều này và kết hợp
với các thiết bị khác nhau cho nên thực tại ảo tạo ra những ứng dụng mà ở đó con
người có một cách để xây dựng, thao tác dữ liệu phức tạp một cách tự nhiên và thực
tại ảo được sử dụng để mô phỏng thế giới thực trong nhiều ứng dụng khác nhau.
Tuy nhiên để có được các mơ hình thực tại ảo như trên thì cần phải có một ngơn
ngữ xây dựng chúng, chương tiếp theo sẽ tìm hiểu ngơn ngữ VRML để xây dựng
mơ hình thực tại ảo.
1.3. Kỹ thuật chạm nổi 3D
Lịch sử phát triển của các kỹ thuật chạm nổi gắn liền với sự phát triển của
các kỹ thuật đồ họa 3D. Sự ra đời của kỹ thuật chạm nổi bắt đầu từ những năm 70
của thế kỷ trước. Năm 1978 J.Blimn đã trình bày kỹ thuật chạm nổi đầu tiên, sau đó
rất nhiều các nhà khoa học trên thế giới đã phát minh cải tiến các kỹ thuật chạm nổi
12
nhằm từng bước cho các ảnh tốt hơn để gắn các kỹ thuật này vào trong các chip đồ
họa và đưa các kỹ thuật này ứng dụng phổ biến trên thực tế.
Để thực hiện chạm nổi trên ảnh 3D quả là rất khó bởi vậy chúng ta phải sử
dụng ảnh 2D để làm giả 3D. Sự khác nhau giữa Displacement mapping (còn được
gọi là bump mapping) và sự giả mạo (hay bump mapping 2D) là giả bump mapping
chỉ xáo trộn các bề mặt chuẩn thay thế bởi hình học. Sự khác nhau này có thể xem
trong hình bóng hay các hình chiếu. Trong bump mapping thực sự, các điểm nhấp
nhơ là được áp dụng cho hình học, làm ảnh hưởng tới một điểm nhấp nhơ hình
bóng. Giả bump mapping là được tính tốn một cách hiệu quả và có thể được thực
hiện trong thời gian thực bởi card 3D, trong khi các bump mapping thật thường
được nhận cho off-line (không phải thời gian thực) các ảnh được dõi quang tia (raytraced images). Cho mục đích đạt được thời gian thực, bump mapping thường đề
cập đến một pass (pass là một quá trình từ khi bắt đầu tới khi kết thúc để sinh ra một
khung) hoặc là nhiều pass (multi-pass) và có thể được thực thi như là nhiều pass
(thường là ba hoặc bốn) để giảm số lượng tính tốn lượng giác được yêu cầu.
13
Chương 2
MỘT SỐ KỸ THUẬT CHẠM NỔI
2.1. Kỹ thuật Bump mapping
N
Normal
Normal
Quan sát
Đèn
h
Bề mặt phẳng T,B
Bề mặt phẳng
Hình 2.1. Bump mapping
Là một phương pháp tái tạo hiệu ứng nhấp nhô, lổn nhổn của các bề mặt trên
phạm vi nhỏ. Kỹ thuật chạm nổi là một kỹ thuật đồ họa máy tính, nơi mỗi một điểm
ảnh, sự xáo trộn lên bề mặt pháp tuyến của đối tượng được lấy lại tìm trong ánh xạ
kết cấu (texture map) và được áp dụng trước khi việc tính tốn sự chiếu sáng được
thực hiện. Kết quả là rất tốt, được chi tiết trong việc biểu diễn bề mặt hồn tồn
giống với chi tiết vốn có trong thế giới tự nhiên. Ánh xạ pháp tuyến và ánh xạ song
song (Normal và parallax mapping) là những kỹ thuật thường được sử dụng để tạo
các nhấp nhô nhỏ (bumps), sử dụng các kỹ thuật mới để tạo bump mapping, việc sử
dụng tỷ lệ mức xám đã lỗi thời. Sự khác nhau giữa displacemen mapping và bump
mapping là hiển nhiên trong các ảnh ví dụ; trong bump mapping một thành phần
bình thường được xáo trộn, khơng ảnh hưởng đến chính hình học của nó. Các phần
đầu này tạo ra các vật bên trong hình bóng của đối tượng (một khối cầu vẫn có vịng
trịn bao quanh bóng).
Bump mapping là một kỹ thuật đồ họa máy tính để tái tạo bề mặt nhìn hiện
thực hơn bởi mơ hình tương tác của một bề mặt kết cấu nhấp nhô cùng với ánh sáng
trong môi trường. Bump mapping thực hiện điều này bằng cách thay đổi độ sáng
của các điểm ảnh trên bề mặt tương ứng với độ cao của bản đồ (height map) điều
14
này là đặc biệt cho mỗi bề măt. Khi nhận lại một cảnh 3D, độ sáng và màu của các
điểm ảnh được phụ thuộc vào sự tương tác của mô hình 3D cùng với ánh sáng trong
cảnh. Sau đó nó được phụ thuộc vào đối tượng hữu hình, lượng giác được sử dụng
để tính tốn pháp tuyến bề mặt hình học (geometric’ suface normal) của đối tượng,
được định nghĩa như là một vector tại mỗi vị trí của điểm ảnh trên đối tượng. Bề
mặt hình học thường được định nghĩa đối tượng nào tương tác mạnh mẽ cùng với
ánh sáng tới từ việc sử dụng phương pháp Phong shading hoặc thuật tốn ánh sáng
tương tự. Ánh sáng đi vng góc tương tác lên bề mặt một cách mạnh mẽ hơn là
ánh sáng song song tác động lên bề mặt. Sau khi sự tính tốn hình học ban đầu được
thực hiện, một kết cấu được tô màu thường áp dụng cho mơ hình để tạo ra đối tượng
xuất hiện một cách hiện thực hơn. Sau đó một sự tính tốn được thực hiện cho mỗi
điểm ảnh trên bề mặt của đối tượng:
- Tìm các vị trí trên bản đồ chiều cao tương ứng với vị trí trên bề mặt.
- Tính tốn pháp tuyến bề mặt của bản đồ chiều cao (heightmap).
- Thêm vào pháp tuyến bề mặt từ bước 2 với pháp tuyến bề mặt hình học để
pháp tuyến chỉ trong một hướng mới.
- Tính tốn sự tương tác của bề mặt nhấp nhô mới cùng với các ánh sáng
trong cảnh đang sử dụng. ví dụ Phong shading.
- Kết quả là một bề mặt xuất hiện để có chiều sâu thực sự. Thuật toán bảo
đảm rằng bề mặt xuất hiện thay đổi như là các ánh sáng trong cảnh di chuyển vòng
quanh. Kỹ thuật ánh xạ pháp tuyến (Normal mapping) thường được sử dụng trong
kỹ thuật bump mapping nhưng kỹ thuật này có thể thay bằng các kỹ thuật khác như
là kỹ thuật ánh xạ song song (Parallax mapping).
Đây là một phương pháp mà tại đó các ảnh phẳng của ánh xạ kết cấu (texture
map) sẽ được thay đổi để tạo ra một ấn tượng của việc không phẳng (non-smooth)
nhưng không thay đổi hình dạng vật lý của bề mặt. Bump mapping đang trở nên
phổ biến trong các game 3D bởi nó có thể được sử dụng để thêm các chi tiết trong
phạm vi nhỏ (small scale detail) như là các nếp nhăn, vết xước,.. mà không cần
thêm nhiều đa giác. Nó làm điều này bằng cách sử dụng ánh xạ kết cấu khác
15
(texture map) để thay đổi độ sáng của điểm ảnh trong kết cấu chính trên bề mặt.
Bump mapping có thể được xem như là một phiên bản đơn giản nhất của
displacement mapping. Kỹ thuật này được thực hiện trong phần cứng của đồ họa
thậm chí trước cả sự phổ biến của lập trình GPUs[PAC97, Kil00, BERW97]. Nếu
bề mặt khơng đồng đều có các nhấp nhơ nhỏ thì có thể được ước tính như là hồn
tồn phẳng. Trong trường hợp bề mặt phẳng, điểm nhìn thấy được xấp xỉ bằng với
điểm được xử lý. Tuy nhiên, để hình dung các nhấp nhơ nhỏ, nó là cần thiết để mơ
phỏng các hiệu ứng ánh sáng ảnh hưởng như thế nào lên chúng. Cách đơn giản để
tính tốn các pháp tuyến được xáo trộn cho mỗi điểm ảnh và sử dụng các pháp
tuyến này để thực hiện việc chiếu sáng [6].
2.1.1. Kỹ thuật Emboss bump mapping
Đây là kỹ thuật sử dụng Texture map để đưa ra hiệu ứng chạm nổi mà không
yêu cầu sự nhận lại của người sử dụng. Đây là thuật toán multi-pass là một sự mở
rộng và chắt lọc của texture embossing. Đây là tiến trình sao lại kết cấu ảnh đầu
tiên, thay đổi tồn bộ nó để nhận được số lượng nhấp nhô, các điểm tới bên dưới,
cắt ra để phù hợp với hình dáng từ kết cấu trên đầu và trộn lẫn hai kết cấu vào thành
một. Đây được gọi là 2 pass chạm nổi bóng bởi vì nó yêu cầu hai kết cấu. Nó thực
hiện một cách đơn giản và khơng có u cầu về phần cứng, và do đó được giới hạn
bởi tốc độ của CPU. Tuy nhiên, nó chỉ ảnh hưởng bởi ánh sáng khuếch tán và ảo
ảnh được phá vỡ phụ thuộc vào góc của ánh sáng. Bump mapping còn đươc gọi là
height map, nó là một phiên bản greysacle đơn giản của kết cấu để được chạm nổi,
nhờ đó các giá trị texel được sử dụng để thay thế màu của các điểm ảnh ban đầu.
Height map là được kết xuất 2 lần, cùng với lần thứ hai được di chuyển nhẹ. Khi 2
bản đồ được kết hợp cùng nhau, thì kết quả của bump map mới chính là sự khác
biệt giữa 2 bản đồ. Điều này sau đó nhân với kết cấu cơ bản được yêu cầu.
2.1.2. Kỹ thuật Dot Product 3
Bump map được gọi là normal map, kết cấu này chứa các giá trị thay thế các
pháp tuyến bề mặt của các điểm ảnh ban đầu. Một pháp tuyến bề mặt giống như
một mũi tên chỉ theo hướng tới các bề mặt đối diện, như là các góc xa từ một nguồn