Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 84 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
84
Dung lượng
3,73 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG lu an va n MÔNG ĐỨC HÙNG p ie gh tn to TRONG THỰC TẠI ẢO d oa nl w MỘT SỐ DẠNG NGUỒN SÁNG VÀ SỰ CHIẾU SÁNG nf va an lu z at nh oi lm ul LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH z m co l gm @ an Lu n va Thái Nguyên, 2018 ac th si PHỤ LỤC LỜI NÓI ĐẦU CHƯƠNG 1: KHÁI QUÁT VỀ THỰC TẠI ẢO VÀ BÀI TOÁN CHIẾU SÁNG TRONG THỰC TẠI ẢO 1.1.Khái quát thực ảo Thực ảo gì? 1.1.1 1.1.2 Các thành phần hệ thống thực tế ảo (Virtual Reatily – VR) 1.1.2.1 Phần mềm 1.1.2.2 Phần cứng 14 1.1.3 Các lĩnh vực ứng dụng Thực ảo 17 1.2 Bài toán chiếu sáng thực ảo 19 1.2.1 Khái quát chiếu sáng 19 lu 1.2.2 Một số ứng dụng chiếu sáng ảnh 22 an CHƯƠNG MỘT SỐ KỸ THUẬT CHIẾU SÁNG CƠ BẢN 25 2.1 Nguồn sáng 25 n va 1.2.3 Một số hình ảnh chiếu sáng 22 tn to ie gh 2.1.1 Các đơn vị sử dụng đo lường ánh sáng 25 p 2.1.2 Các loại nguồn sáng thực ảo 29 w 2.1.3 Các hướng chiếu sáng 30 d oa nl 2.1.3.1 Chiếu sáng diện (Front lighting) 31 2.1.3.2 Chiếu sáng bên (Side Lighting) 31 an lu 2.1.3.3 Chiếu sáng phía sau (Back lighting) 32 nf va 2.1.3.4 Chiếu sáng từ phía (Top Lighting) 33 lm ul 2.1.3.5 Chiếu sáng từ phía (Below Lighting) 34 2.2.Kỹ thuật Phong Shading 36 z at nh oi 2.3 Kỹ thuật phản chiếu ngược Phong Shading 38 2.4 Kỹ thuật Gouraud Shading 39 z Chương CHƯƠNG TRÌNH THỬ NGHIỆM 43 3.1.Phân tích, u cầu tốn 43 gm @ 3.2.Phân tích thiết kế chương trình 43 l co 3.2.1 Khối Modul thực mở ảnh 43 m 3.2.2 Khối Modul thực xử lý thêm nguồn sáng vào ảnh 46 3.2.3 Khối Modul thực thêm nguồn sáng 49 an Lu 3.2.4 Khối Modul thực thiết lập thông số nguồn sáng 52 n va ac th si 3.2.5 Khối Modul thực kiện thay đổi nguồn sáng 63 3.2.6 Khối Modul thực hiển thị kết xử lý ảnh 74 3.3.Một số kết chương trình 77 3.3.1 Giao diện chương trình 77 3.3.2.Thực mở ảnh 78 3.3.3 Thiết lập màu, tọa độ nguồn sáng, kiểu chiếu sáng,… 78 3.3.4 Xử lý chiếu sáng ảnh kết 79 3.3.5 Thêm nhiều nguồn sáng đồng thời 80 KẾT LUẬN 82 TÀI LIỆU THAM KHẢO 83 lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si LỜI CAM ĐOAN Tôi Mông Đức Hùng xin cam đoan nội dung trình bày luận văn kết tìm hiểu, nghiên cứu thân hướng dẫn PGS.TS Đỗ Năng Toàn nhà nghiên cứu trước Nội dung tham khảo, kế thừa, phát triển từ cơng trình cơng bố trích dẫn, ghi rõ nguồn gốc Kết mơ phỏng, thí nghiệm lấy từ chương trình thân Nếu có sai phạm tơi xin hoàn toàn chịu trách nhiệm Người cam đoan lu an Mông Đức Hùng n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si LỜI CẢM ƠN Trong trình thực luận văn gặp nhiều khó khăn tơi nhận quan tâm, giúp đỡ từ thầy cô, đồng nghiệp bạn bè người thân Đây nguồn động lực giúp tơi hồn thành luận văn Tôi xin gửi lời chân thành cảm ơn tới PGS.TS Đỗ Năng Tồn tận tình giúp đỡ, hướng dẫn bảo trình thực luận văn Tôi xin chân thành cảm ơn tới quý thầy, cô trường Đại học Công nghệ thông tin truyền thông - Đại học Thái Nguyên tận tình bảo, truyền đạt kiến thức qúy báu giúp tơi hồn thành nhiệm vụ học tập suốt thời gian theo học trường Q thầy giúp tơi có kiến thức quan trọng lu an lĩnh vực Công nghệ thông tin, tảng vững cho nghiên cứu n va thân thời gian tới gh tn to Tôi xin cảm ơn anh em, đồng nghiệp giúp đỡ, ủng hộ tinh thần thời gian tham gia học tập p ie Cuối cùng, xin cảm ơn tất người luôn quan tâm, sẻ oa nl w chia động viên d Thái Nguyên, ngày tháng năm 2019 nf va an lu Người thực z at nh oi lm ul Mông Đức Hùng z m co l gm @ an Lu n va LỜI NÓI ĐẦU ac th si Trong năm gần đây, công nghệ thông tin ứng dụng mạnh mẽ hầu hết lĩnh vực Các ứng dụng vào sống ngày phong phú, đa dạng thiết thực Từ lĩnh vực khoa học bản, đến lĩnh vực kinh tế, kỹ thuật lĩnh vực giải trí, du lịch; khơng lĩnh vực khơng có ứng dụng thiết thực hiệu công nghệ thông tin Sự phát triển không ngừng sức mạnh máy tính làm cho số lĩnh vực khó phát triển trước kia, có khả phát triển đạt thành tựu đáng kể; là: Các hệ chuyên gia, hệ xử lý thời gian thực,v.v… lĩnh vực phát triển mạnh giới, cơng nghệ mơ Việc “tái tạo” tượng, vật giới thực máy tính có lu nhiều tác dụng Trong giải trí, giúp xây dựng trò chơi an việc dựng mơ hình thực ảo cho phép có nhìn trực quan, n va sống động, gần gũi với người tạo sức lôi mạnh mẽ Trong xây dựng, to gh tn xác để đưa định, sáng kiến thiết kế cơng p ie trình xây dựng đắn Trong giáo dục, thí nghiệm, ví dụ mơ tả sát thực máy tính giúp cho người học hứng thú hơn, kiến thức oa nl w thể rõ hơn, trực quan hơn, đầy đủ d “Thực ảo” lĩnh vực nhằm mô giới thực người vào lu nf va an máy tính, mà người tương tác cảm nhận giới thực Để mô giới thực máy tính, thiết mơi trường lm ul giới thực cần mơ phỏng; nguồn sáng chiếu thành z at nh oi phần quan trọng thiếu Xuất phát từ thực tế đó, tơi chọn đề tài: “Một số dạng nguồn sáng chiếu sáng thực ảo” z Nội dung luận văn chia làm phần chính: @ an Lu Chương 2: Một số kỹ thuật chiếu sáng m - Bài toán chiếu sáng thực ảo co - Khái quát thực ảo l gm Chương 1: Tổng quan thực ảo toán chiếu sáng thực ảo n va ac th si Hệ thống hóa số kỹ thuật chiếu sáng thực ảo: - Nguồn sáng - Kỹ thuật Phong Shading - Kỹ thuật phản chiếu ngược Phong Shading - Kỹ thuật Gouraud Shading Chương 3: Chương trình thử nghiệm Xây dựng nguồn sáng chiếu sáng số thí nghiệm dựa kỹ thuật mơ hình hóa lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si CHƯƠNG 1: KHÁI QUÁT VỀ THỰC TẠI ẢO VÀ BÀI TOÁN CHIẾU SÁNG TRONG THỰC TẠI ẢO 1.1 Khái quát thực ảo 1.1.1 Thực ảo gì? Thực tế ảo hay thực ảo môi trường người giả lập qua phân mềm chuyên dụng Nó hiển thị qua hình máy tính hay thơng qua kính thực tế ảo nhằm đem lại trải nghiệm thực tế cho người xem họ khơng gian Để gia tăng tính trải nghiệm, số mơi trường cịn kèm với giác quan khác âm thanh, chuyển động Cần phân biệt rõ phim 3D phim thực tế ảo Mặc dù thể loại phim lu có cách hoạt động tương đối giống cho hình ảnh an n va chiều mắt người xem phim 3D, người xem không tương tn to tác với môi trường phim cịn phim thực tế ảo ta khơng cảm giác gh môi trường chiều thực mà cịn tương tác với mơi p ie trường d oa nl w nf va an lu z at nh oi lm ul z l gm @ co Hình 1.1 : Lấy ví dụ phim ứng dụng cơng nghệ real 3D Madagascar Đối với 3D, m bạn xem phía nước ơng có mặc quần chip hay khơng cịn an Lu thực tế ảo, bạn hoàn toàn làm điều n va ac th si lu Hình 1.2 : Công nghệ thực tế ảo không cho phép bạn xem, cịn cho phép bạn an sống giới va n 1.1.2 Các thành phần hệ thống thực tế ảo (Virtual Reatily – VR) gh tn to 1.1.2.1 Phần mềm ie Phần mềm linh hồn hệ thống VR Khơng có dù phần p cứng có mạnh vơ nghĩa (giống có trai mà khơng có gái trai có nl w mạnh đến đâu dẹp) Nếu phần cứng cung cấp cần thiết để mơi d oa trường hoạt động phần mềm cung cấp mơi trường lu nf va an Về ngun tắc tạo mơi trường ảo ngơn ngữ lập trình OpenGL, C++, Java3D, X3D , phần mềm đồ họa thương mại lm ul WorldToolKit, Peopleshop, hay phần mềm làm game Unity 3D, Unreal z at nh oi Engine hỗ trợ việc tạo nên môi trường ảo Và đa phần nhà sản xuất VR tiếng Oculus, Google phát hành API cho phép bạn tạo nên môi trường ảo nhanh dễ dàng (bạn truy cập link bên z gm @ để sử dụng api google oculus nhé) co l Nói thêm rằng, VR phải đáp ứng cơng dụng tạo m hình mơ Về việc tạo hình thực phần mềm an Lu hay sử dụng phần mềm trung gian phần mềm đồ họa AutoCAD, 3d Studio, 3Ds Max, Maya Mô khả mô phản ứng vật lý n va ac th si động học, va chạm, động lực học mô ứng xử đối tượng áo dính nước màu áo phải đậm hơn, cốc rơi xuống bể lu an n va Hình 1.3: Một vật cạn có trạng thái khác vật nước gh tn to Trên thực tế, để có trải nghiệm hoàn hảo Người ta thường sử dụng p ie thiết bị kèm kính thực tế ảo Nó có tác dụng nào? Lấy ví dụ d oa nl w Google CardBoard Google nf va an lu z at nh oi lm ul z l gm @ m co Hình 1.3: Một vật cạn có trạng thái khác vật nước an Lu Nếu nhìn vào, bạn thấy Google CardBoard có khung nhìn kèm theo thấu kính tương ứng với vị trí mắt phải mắt trái Phía trước khu vực n va ac th si 69 } CString vl; if (myS[i].type==0){ vl.Format("Oy:%d",slb1->GetPos()); lu an va tb1->SetWindowText(vl); n p ie gh tn to vl.Format("Ox:%d",slb2->GetPos()); w d oa nl tb2->SetWindowText(vl); z at nh oi lm ul }else{ nf va Preview(i); an lu // vl.Format("Oy:%d",slb1->GetPos()-Wh/2); z l gm @ tb1->SetWindowText(vl); tb2->SetWindowText(vl); Preview(i); an Lu // m co vl.Format("Ox:%d",slb2->GetPos()-Hi/2); n va ac th si 70 } *pResult = 0; if(QP) lu an va OnButtonLight(); n p ie gh tn to } d oa nl w nf va an lu void Cpr1View::OnChangeType() // z at nh oi lm ul { TODO: Add your control notification handler code here CMainFrame *frm = z gm @ (CMainFrame*)CWnd::GetParentFrame(); CListBox *myList = (CListBox*)frm- co l m >m_wndDlgBar.GetDlgItem(IDC_LIST_L an Lu IGHT); CButton *ctrl1 = (CButton*)frm- n va ac th si 71 >m_wndDlgBar.GetDlgItem(IDC_RAD IO1); CButton *ctrl2 = (CButton*)frm- >m_wndDlgBar.GetDlgItem(IDC_RAD IO2); int i = myList->GetCurSel(); lu an if (iSetCheck(0) tn to ; ctrl2- >SetCheck(0) gh p ie ; w ::AfxMessageBox("Ban chua chon d oa nl nguon sang!"); return; nf va an lu } i = ctrl1- z at nh oi if (i==1) lm ul >GetCheck(); z m co else l gm @ myS[curSource].type = 0; an Lu n va ac th si 72 myS[curSource].type = 1; if(QP) OnButtonLight(); } lu an n va to p ie gh tn void Cpr1View::RemoveLightSource() TODO: Add your control lu // d oa nl w { nf va an notification handler code here int i; CMainFrame *frm = (CMainFrame*)CWnd::GetParentFrame(); z at nh oi lm ul CListBox *myList = (CListBox*)frm- z i = myList- an Lu (countSm_wndDlgBar.GetDlgItem(IDC_LIST_LIGHT); n va ac th si 73 ::AfxMessageBox("Ban chua chon nguon sang!"); return; } + myS[curSource].ty pe = -1; myList- lu an >DeleteString(i); n va if (i>=countS-1) tn to p ie gh act[i] = 0; d oa nl w else lu nf va an for (i=i;i=0;i-) if (act[i]= =1){ myList>SetCurSel(i) ; curSource = i; break; lu an va n } gh tn to p ie coun w tS oa nl ; if(Q d nf va an lu P) lm ul OnButtonLight(); z at nh oi } z l gm @ an Lu void Cpr1View::OnDraw(CDC* pDC) m co 3.2.6 Khối Modul thực hiển thị kết xử lý ảnh n va ac th si 75 { Cpr1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) lu an return; n va gh tn to ie a TODO: add draw code p for native data here RECT d oa nl w rc; lm ul if nf va an lu if (zoomV==0){ Hi/800) zoomV = z 800/Wh; z at nh oi (Wh/600>= @ an Lu zoomV = 600/Hi; m co l gm else n va ac th si 76 } rc.left = 1; rc.right = (long)(Wh*zoomV); rc.bottom = (long)(Hi*zoomV); lu rc.top = 1; an n va to tn if(daDocAnh){ fip- gh >draw(pDC- p ie >m_hDC,rc); long d oa nl w nwh = Wh; nf va an lu long nhi = Hi; lm ul nwh = long(nwh*scaleFactorDr z at nh oi aw); nhi = long(nhi*scaleFactorDr z aw); CSize s = m co an Lu } l ,s); gm SetScrollSizes(MM_TEXT @ CSize(Wh,Hi); n va ac th si 77 } 3.3 Một số kết chương trình 3.3.1 Giao diện chương trình Các chức chương trình bao gồm : (1) Mở ảnh mới: Chọn đường dẫn tới thư mục chứa ảnh hiển thị ảnh lên chương lu trình,… an (2) Thêm nguồn sáng mới: Chức cho ta thêm nhiều nguồn va n sáng khác lúc vào ảnh để chỉnh sửa ảnh mong muốn to tn (3) Chọn tọa độ nguồn sáng p ie gh (4) Chọn kiểu nguồn sáng, màu sắc cho nguồn sáng (5) Chọn cường độ sáng nl w (6) Chọn bán kính nguồn sáng oa (7) Chọn phạm vi chiếu sáng d (8) Thực xử lý chiếu sáng nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si 78 3.3.2.Thực mở ảnh lu an n va p ie gh tn to nl w d oa 3.3.3 Thiết lập màu, tọa độ nguồn sáng, kiểu chiếu sáng,… nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si 79 lu an n va p ie gh tn to d oa nl w 3.3.4 Xử lý chiếu sáng ảnh kết nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si 80 lu an n va p ie gh tn to 3.3.5 Thêm nhiều nguồn sáng đồng thời d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si 81 lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si 82 KẾT LUẬN Hiểu nắm rõ kỹ thuật chiếu sáng ảnh, hiểu rõ Phong shading, phép nội suy Phong, phép phản chiểu ngược Phong, Gouraud shading, tính bất biến màu sắc xây dựng ứng dụng mơ hình chiếu sáng ảnh Với việc xây dựng ứng dụng mơ hình chiếu sáng ảnh giúp lu cho điều chỉnh ảnh không gian, thời gian an linh hoạt hơn, có tính sáng tạo hồn cảnh cụ thể Ứng dụng va n giúp có thêm lựa chọn cho công cụ phục vụ cho lĩnh Nghiên cứu kỹ thuật chiếu sáng ảnh giúp cho việc hoàn thiện p ie gh tn to vực nghệ thuật khác ảnh mơi trường khác Từ việc hồn thiện việc chiếu sáng cho oa nl w ảnh giúp cho cơng nghệ xử lý ảnh hoàn thiện hơn, làm d cho nghệ thuật tranh ảnh phát triển, v.v lu nf va an Hướng phát triển đề tài: lm ul Sau nghiên cứu, tìm hiểu kỹ thuật chiếu sáng ảnh xây dựng ứng dụng thử nghiệm sử dụng kỹ thuật này, z at nh oi xây dựng thêm kỹ thuật chiếu sáng ảnh khác có chất lượng ảnh tốt hơn,… Đề tài tiếp tục tìm hiểu mặt hạn chế ứng dụng chiếu sáng z gm @ ảnh khắc phục hoàn thiện ứng dung Cung cấp thêm nhiều công l cụ ứng dụng phục vụ cho việc chiếu sáng ảnh hoàn cảnh cụ m co thể để có ảnh mong muốn an Lu n va ac th si 83 TÀI LIỆU THAM KHẢO Tài liệu Tiếng Việt: PTS Nguyễn Ngọc Kỷ, Bài giảng xử lý ảnh cho Cao học Tin học ĐHBK [1] Hà Nội, Hà Nội 1997; [2] PGS.TS Đỗ Năng Tồn, TS Phạm Việt Bình, Giáo trình mơn học Xử lý ảnh, Nhà xuất Đại học Thái Nguyên, 2007 [3] Phạm Anh Phương, Nguyễn Hữu Tài, “Giáo trình lý thuyết đồ họa” [4] Dương Anh Đức, Lê Đình Huy, Chiếu sáng tạo bóng lu an Tài liệu Tiếng Anh: va Andrew V.Nealen, “Shadow Volume and Shadow Mapping”, Recent Development Ikrima Elhassan, “Shadow Algorithms”, 20-02-2007 n [5] [7] http://www.vicman.net/lightartist/lightartist_g.htm p ie gh tn to [6] w http://www.snapfiles.com/get/lightartist.html [9] http://www.codeproject.com/KB/graphics/Basic_Illumination_Model.a spx d oa nl [8] nf va an lu lm ul [10] http://www.codeproject.com/KB/graphics/Simple_Ray_Tracing_in_C_ aspx z at nh oi [11] http://en.wikipedia.org/wiki/Phong_shading [12] http://en.wikipedia.org/wiki/Lambertian_reflectance [13] http://en.wikipedia.org/wiki/Gouraud_shading z m co l gm @ an Lu n va ac th si