Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 57 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
57
Dung lượng
1,21 MB
Nội dung
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN Nguyễn Anh Dũng KỸ THUẬT RAY TRACING TRONG SINH ẢNH VÀ ỨNG DỤNG LUẬN VĂN THẠC SỸ NGÀNH KHOA HỌC MÁY TÍNH Thái Nguyên - 2010 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN Nguyễn Anh Dũng KỸ THUẬT RAY TRACING TRONG SINH ẢNH VÀ ỨNG DỤNG Chuyên ngành: Khoa học máy tính Mã số: LUẬN VĂN THẠC SỸ NGÀNH KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS. Nguyễn Thị Hồng Minh Thái Nguyên - 2010 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CAM ĐOAN Tôi xin cam đoan toàn bộ nội dung luận văn này 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 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 tôi xin hoàn toàn chịu trách nhiệm. Thái Nguyên, ngày 09 tháng 10 năm 2010. Người cam đoan Nguyễn Anh Dũng Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CẢM ƠN Sau một thời gian nỗ lực thực hiện, luận văn nghiên cứu “Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng” đã cơ bản hoàn thành. Ngoài sự cố gắng hết mình của bản thân, em đã nhận được nhiều sự khích lệ từ phía nhà trường, thầy cô, gia đình và bạn bè. Trước hết em xin cảm ơn gia đình, người thân đã luôn động viên và tạo mọi điều kiện tốt nhất để em được học tập và hoàn thành luận văn này. Em xin cảm ơn quý thầy cô trường Đại học Thái Nguyên đã truyền đạt những kiến thức quý báu cho em trong quá trình học tập. Đặc biệt, em xin bày tỏ sự biết ơn chân thành đến cô giáo, TS.Nguyễn Thị Hồng Minh, người đã tận tình hướng dẫn và giúp đỡ em trong quá trình làm luận văn tốt nghiệp. Xin cảm ơn tất cả bạn bè đã và đang động viên, giúp đỡ tôi trong quá trình học tập và hoàn thành luận văn tốt nghiệp này. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỤC LỤC Trang Phần mở đầu 1 Chương 1. Khái quát về đồ họa máy tính ba chiều và kỹ thuật kết xuất đồ họa 4 1.1. Khái quát về đồ họa máy tính ba chiều 4 1.1.1. Đồ họa máy tính 4 1.1.2. Các kỹ thuật đồ họa 5 1.1.3. Đồ họa máy tính ba chiều (3D - Dimensions) 5 1.2. Các kỹ thuật kết xuất đồ họa ba chiều 11 1.2.1. Kết xuất đồ họa ba chiều 11 1.2.2. Kỹ thuật kết xuất Ray tracing 18 Chương 2. Kỹ thuật Ray tracing 22 2.1. Tính toán đường đi của ánh sáng 22 2.1.1. Tia sáng và Tam giác 22 2.1.2. Tia sáng và Tứ giác 24 2.1.3. Tia sáng và các mặt bậc hai 25 2.1.4. Tia sáng và Mặt ẩn 27 2.1.5. Tia sáng và Mặt NURBS 27 2.1.6. Tia sáng và Mặt con 28 2.1.7. Tia sáng và Khối hộp 29 2.2. Xử lý đổ bóng với Ray tracing 30 2.3. Một số vấn đề khác về Ray tracing 32 2.4.1. Ray tracing phân tán 36 2.4.2. Ray tracing theo đường 37 2.4.3. Đổ bóng với nguồn sáng hẹp 37 2.4.4. Đổ bóng với nguồn sáng rộng 38 2.4.5. Phản xạ bề mặt bóng 39 2.4.6. Phản xạ khuếch tán 40 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 2.4.7. Độ sâu trường ảnh 41 2.4.8. Làm mờ chuyển động 41 Chương 3. Chương trình ứng dụng 43 3.1. Bài toán 43 3.2. Phân tích các yêu cầu đối với chương trình cài đặt thử nghiệm kỹ thuật sinh ảnh trong không gian 3D theo hướng Ray-tracing. 43 3.3. Chương trình sinh ảnh RTRendering theo kỹ thuật Ray-tracing 44 Kết luận 48 Tài liệu tham khảo 50 1 Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng PHẦN MỞ ĐẦU Phần mở đầu Đồ họa máy tính là một lĩnh vực của khoa học máy tính nghiên cứu về cơ sở toán học, các thuật toán cũng như các kỹ thuật để cho phép tạo, hiển thị và điều khiển hình ảnh trên màn hình máy tính. Đồ họa máy tính có liên quan ít nhiều đến một số lĩnh vực như đại số, hình học giải tích, hình học họa hình, quang học, và kỹ thuật máy tính, đặc biệt là chế tạo phần cứng. Theo nghĩa rộng hơn, đồ họa máy tính là phương pháp và công nghệ dùng trong việc chuyển đổi qua lại giữa dữ liệu và hình ảnh trên màn hình bằng máy tính. Đồ họa máy tính hay kỹ thuật đồ họa máy tính còn được hiểu dưới dạng phương pháp và kỹ thuật tạo hình ảnh từ các mô hình toán học mô tả các đối tượng hay dữ liệu lấy được từ các đối tượng trong thực tế. Khái niệm Đồ hoạ máy tính 3D được William Fetter đưa ra năm 1960. Đồ họa 3D cho phép mô phỏng không gian 3 chiều trong máy tính. Về mặt toán học, đây là một công việc cực kỳ phức tạp, tuy nhiên hầu hết những công việc phức tạp này được thực hiện bởi phần cứng chuyên dụng với tốc độ rất cao. Trong đồ họa máy tính 3D, Rendering - kết xuất đồ họa - là một quá trình sinh tạo một hình ảnh từ một mô hình bằng cách sử dụng một chương trình ứng dụng phần mềm. Nhiều thuật toán kết xuất đồ họa đã được nghiên cứu và phần mềm dùng trong quá trình kết xuất có thể áp dụng một số những kỹ thuật kết xuất để đạt được hình ảnh cuối cùng. Các kỹ thuật kết xuất đồ họa phổ biến được sử dụng là Tạo ảnh điểm (rasterization), Chiếu tia (Ray casting) và Dò tia (Ray-tracing). Ray-tracing là một kỹ thuật để sinh ảnh bằng cách tìm đường đi của ánh sáng qua các điểm ảnh trong một mặt phẳng ảnh và mô phỏng các hiệu 2 Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng ứng khi ánh sáng chạm vào bề mặt các đối tượng ảo. Kỹ thuật này dò theo đường đi của các tia sáng, bắt đầu từ Camera, tới bề mặt đầu tiên và sau đó phụ thuộc vào tính trong suốt hay phản xạ của bề mặt, xác định hướng đi tiếp theo của tia sáng. Ray-tracing lần đầu tiên cho phép tính đến môi trường xung quanh trong sự chiếu sáng vật thể, cho phép tạo ra các khung hình có độ chân thực rất cao so với phương pháp kết xuất quét dòng thông thường. Ray- tracing đặc biệt phù hợp với các ứng dụng có các ảnh được kết xuất chậm như ảnh tĩnh, phim hay các hiệu ứng truyền hình đặc biệt. Ray-tracing có khả năng mô phỏng nhiều hiệu ứng quang học như phản xạ, khúc xạ, tán xạ, và quang sai màu. Xuất phát trong hoàn cảnh đó, luận văn lựa chọn đề tài Kỹ thuật Ray- tracing trong sinh ảnh và ứng dụng là vấn đề không chỉ có tính khoa học mà còn mang đậm tính thực tiễn. Trong phạm vi nghiên cứu, luận văn được chia thành các phần: Phần mở đầu, phần kết luận và ba chương chính, cụ thể: Chương 1. Khái quát về đồ họa máy tính ba chiều và kỹ thuật kết xuất đồ họa Chương này giới thiệu khái quát về đồ họa máy tính ba chiều gồm các khái niệm, định nghĩa cơ bản trong đồ họa máy tính ba chiều;trình bày khái quát các kỹ thuật kết xuất đồ họa ba chiều từ cơ bản đến phức tạp xếp theo thứ tự phát triển của các kỹ thuật, trong đó giới thiệu sơ lược về kỹ thuật kết xuất Ray tracing. Chương II. Kỹ thuật Ray tracing Chương này tìm hiểu chi tiết về kỹ thuật kết xuất Ray tracing, bao gồm các nội dung về tính toán đường đi của ánh sáng trong các trường hợp mô phỏng vật thể với nhiều hình dáng bề mặt khác nhau; các nội dung về việc 3 Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng ứng dụng kỹ thuật Ray tracing xử lý các hiệu ứng khi mô phỏng các hình ảnh ba chiều như đổ bóng, phản xạ, khúc xạ ánh sáng… Chương III.Chương trình ứng dụng Chương này nêu ra bài toán ứng dụng kỹ thuật Ray tracing đối với việc sinh một ảnh trong không gian ba chiều, phân tích các yêu cầu đối với chương trình cài đặt thử nghiệm giải quyết bài toán đặt ra và giới thiệu các chức năng, tính năng kỹ thuật của chương trình sinh ảnh sử dụng kỹ thuật Ray tracing. 4 Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng Chƣơng 1 KHÁI QUÁT VỀ ĐỒ HỌA MÁY TÍNH BA CHIỀU VÀ KỸ THUẬT KẾT XUẤT ĐỒ HỌA Chương 1. Khái quát về đồ họa máy tính ba chiều và kỹ thuật kết xuất đồ họa 1.1. Khái quát về đồ họa máy tính ba chiều 1.1.1. Đồ họa máy tính Đồ họa máy tính là một lĩnh vực của khoa học máy tính nghiên cứu về cơ sở toán học, các thuật toán cũng như các kĩ thuật để cho phép tạo, hiển thị và điều khiển hình ảnh trên màn hình máy tính. Đồ họa máy tính có liên quan ít nhiều đến một số lĩnh vực như đại số, hình học giải tích, hình học họa hình, quang học, và kĩ thuật máy tính, đặc biệt là chế tạo phần cứng (các loại màn hình, các thiết bị xuất, nhập, các vỉ mạch đồ họa ) [1], [3]. Theo nghĩa rộng hơn, đồ họa máy tính là phương pháp và công nghệ dùng trong việc chuyển đổi qua lại giữa dữ liệu và hình ảnh trên màn hình bằng máy tính. Đồ họa máy tính hay kĩ thuật đồ họa máy tính còn được hiểu dưới dạng phương pháp và kĩ thuật tạo hình ảnh từ các mô hình toán học mô tả các đối tượng hay dữ liệu lấy được từ các đối tượng trong thực tế [6], [8], [11]. Thuật ngữ "đồ họa máy tính" (computer graphics) được đề xuất bởi một chuyên gia người Mĩ tên là William Fetter vào năm 1960. Khi đó ông đang nghiên cứu xây dựng mô hình buồng lái máy bay cho hãng Boeing. William Fetter đã dựa trên các hình ảnh 3 chiều của mô hình người phi công trong buồng lái để xây dựng nên mô hình buồng lái tối ưu cho máy bay Boeing. Đây là phương pháp nghiên cứu rất mới vào thời kì đó. Phương pháp này cho phép các nhà thiết kế quan sát một cách trực quan vị trí của người lái trong [...]... kính và tia sáng bị khúc xạ khi tới mắt người b) Ray tracing trong thực tế Kết xuất đồ họa bao gồm quá trình tính toán màu sắc cho từng điểm ảnh trong một bức ảnh Việc kết xuất được thực hiện bằng cách chiếu một cảnh 3D lên thành một ảnh 2D Ray tracing là một trong những phương pháp kết xuất đồ họa phổ biến nhất hiện nay Thuật toán Ray tracing cơ bản bao Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng. .. hình trên mới mô tả hình ảnh đơn giản của hai ấm trà được kết xuất đồ họa với một màu đen Để cải thiện về điều này, chúng ta cần sử dụng thêm các mô hình đổ bóng, phản xạ v.v… được phân tích kỹ hơn ở các phần sau Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng 22 Chƣơng 2 KỸ THUẬT RAY TRACING Chương 2 Kỹ thuật Ray tracing 2.1 Tính toán đƣờng đi của ánh sáng Các thuật toán về ray tracing đều hướng tới... ray tracing (phương pháp dò tia), hoặc radiosity (phương pháp lộ sáng) Trong thực tế mỗi phương thức đều có các bộ render Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng 10 khác nhau để tạo hình ảnh thực hơn và các bộ đó có thể tạo ra các hình ảnh ở thời gian thực Khác với render thời gian thực, khi cần cho ra kết quả là một khung ảnh với độ chân thực cao, các công nghệ được sử dụng thường là ray tracing. .. Trong kỹ thuật ray tracing, để nâng cao chất lượng của một hình ảnh thì chỉ cần tăng số lượng tia sáng bắn ra đối với mỗi điểm ảnh Việc làm này sẽ giảm thiểu các hiệu ứng răng cưa, bậc thang khi hiển thị vật thể Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng 21 Hình 1.3: Hình ảnh thô biểu diễn hai ấm trà Trong hình trên sử dụng kỹ thuật ray tracing đơn giản để thể hiện hình dáng của hai ấm trà nhìn từ... mặt phẳng 2D" Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng 19 Hình 1.1: Mô phỏng hình ảnh 3D bằng phương pháp thủ công Ray tracing cũng được sử dụng trong thiết kế ống kính cho kính hiển vi, kính thiên văn, máy ảnh Isaac Newton (1642-1727) cũng đã nói đến sự phản xạ và khúc xạ các tia trong 1.704 cuốn sách nổi tiếng Opticks của ông [10] Một trong những minh họa của ông được thể hiện trong hình sau:... đối tượng, trong suốt, mờ đục, ), thêm kết cấu, bump-maps và nhiều đặc điểm khác Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng 9 Bƣớc 2: Cài đặt bố cục khung cảnh (Scene) Cài đặt bố cục khung cảnh nghĩa là sắp xếp các đối tượng ảo, ánh sáng, máy quay camera và toàn bộ các đối tượng khác trên khung cảnh mà người dùng mong muốn Ánh sáng là một đối tượng quan trọng trong khung cảnh Giống như trong thế... Y và Z tương ứng với các chiều của không gian, tuân theo quy ước: X: Chiều rộng Y: Chiều cao Z: Độ sâu Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng 7 Theo đồ thị trên, các điểm X nằm ở trái và phải, các điểm thuộc trục Y nằm hướng trên hoặc dưới, và các điểm thuộc trục Z dùng để biểu thị độ sâu theo hướng chéo Các ứng dụng 3D sử dụng các trục này để chuyển đổi, quay và phân chia các đối tượng trong. .. việc kết xuất đồ họa Một số được kết hợp trong những bộ phần mềm tạo mô hình và làm phim hoạt họa, một số khác là những phần mềm ứng riêng Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng 12 (stand-alone) và một số là những dự án nguồn mở tự do (free open-source projects) Bên trong chúng, chương trình kết xuất đồ họa là một chương trình ứng dụng được thiết kế và xây dựng một cách cẩn trọng, dựa trên... ở trong tầm mắt hiệu ứng nhòe hình của vật chuyển động (motion blur) - phương pháp mô tả vật thể bị nhòe đi trong khi đang chuyển động với tốc độ cao, hoặc do chuyển động của máy quay phim hiệu ứng tạo hình thái như thật của ảnh chụp (photorealistic morphing) - phương pháp mô tả tạo hiệu ứng như ảnh chụp của kết xuất 3D làm cho hình ảnh giống như thật Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng. .. một khung cảnh chuyển động lớn Nhiều lớp đối tượng, vật liệu có Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng 11 thể được render riêng rẽ và tích hợp lại ở giai đoạn cuối bằng việc sử dụng các phần mềm kết hợp đặc biệt 1.2 Các kỹ thuật kết xuất đồ họa ba chiều 1.2.1 Kết xuất đồ họa ba chiều Trong đồ họa máy tính, kết xuất đồ họa (tiếng Anh: rendering), gọi tắt là kết xuất, là một quá trình sinh tạo . toán đặt ra và giới thiệu các chức năng, tính năng kỹ thuật của chương trình sinh ảnh sử dụng kỹ thuật Ray tracing. 4 Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng Chƣơng. các nội dung về việc 3 Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng ứng dụng kỹ thuật Ray tracing xử lý các hiệu ứng khi mô phỏng các hình ảnh ba chiều như đổ bóng, phản xạ,. hướng Ray- tracing. 43 3.3. Chương trình sinh ảnh RTRendering theo kỹ thuật Ray- tracing 44 Kết luận 48 Tài liệu tham khảo 50 1 Kỹ thuật Ray tracing trong sinh ảnh và ứng dụng PHẦN