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

Biểu diễn mô hình 3d bằng kỹ thuật NURBS trong máy tính

73 369 1

Đ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 73
Dung lượng 4,31 MB

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &TRUYỀN THƠNG MAI THỊ BÍNH BIỂU DIỄN MƠ HÌNH 3D BẰNG KỸ THUẬT NURBS TRONG MÁY TÍNH LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2016 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THƠNG MAI THỊ BÍNH BIỂU DIỄN MƠ HÌNH 3D BẰNG KỸ THUẬT NURBS TRONG MÁY TÍNH Chun ngành: KHOA HỌC MÁY TÍNH Mã số: 60 48 01 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 - 2016 i LỜI CAM ĐOAN Tôi xin cam đoan luận văn cơng trình nghiên cứu riêng cá nhân tơi, kết luận văn hồn tồn kết tự thân tơi tìm hiểu, nghiên cứu hướng dẫn giáo viên hướng dẫn PGS.TS Đỗ Năng Tồn Tơi hồn tồn chịu trách nhiệm tính pháp lý q trình nghiên cứu khoa học luận văn Thái Nguyên, tháng năm 2016 HỌC VIÊN Mai Thị Bính ii LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS TS Đỗ Năng Tồn người tận tình hướng dẫn, bảo, giúp đỡ em suốt trình làm luận văn Em xin gửi lời cảm ơn đến thầy cô giáo trường Đại học Công nghệ thông tin Truyền thông - Đại học Thái Nguyên, thầy cô Viện Công nghệ thông tin truyền đạt kiến thức giúp đỡ em suốt trình học Học viên xin gửi lời cảm ơn tới Ban giám hiệu trường Trung cấp Kinh tế Kỹ thuật Lạng sơn tạo điều kiện thuận lợi cho học viên tham gia khóa học vào q trình hồn thành luận văn Và học viên xin gửi lời cảm ơn tới đồng nghiệp, gia đình bạn bè người ủng hộ, động viên tạo điều kiện giúp đỡ để học viên có kết ngày hơm Thái Nguyên,10 tháng năm 2016 Học viên Mai Thị Bính iii MỤC LỤC MỞ ĐẦU Lý chọn đề tài CHƯƠNG KHÁI QUÁT VỀ ĐỐI TƯỢNG 3D VÀ BÀI TOÁN BIỂU DIỄN NURBS 1.1 Khái quát đối tượng 3D 1.1.1 Một số khái niệm đồ họa 3D 1.1.2 Khái niệm số chi tiết mơ hình 1.1.2.1 Các điểm (Points) 1.1.2.2 Các đường cong(Curves) 1.1.2.3 Các Surface 11 1.1.2.4 Mơ hình 3D 12 1.1.2.5 Tổng quan mơ hình hóa 13 1.1.2.6 Hệ tọa độ không gian chiều 13 1.1.2.7 Quá trình xử lý hiển thị đồ họa 3D 15 1.2 Biểu diễn đối tượng 3D 15 1.2.1 Biểu diễn mặt lưới 3D 16 1.2.2 Biểu diễn bề mặt trơn tham số 17 1.2.3 Đường cong tham số NURBS 17 1.2.4.Thư viện xử lý đồ họa OpenGL 20 1.3 Kết luận chương 21 CHƯƠNG 22 MỘT SỐ VẤN ĐỀ TRONG BIỂU DIỄN 22 MƠ HÌNH 3D BỞI KỸ THUẬT NURBS 22 2.1 Đường cong tham số NURBS 22 2.1.1 Đường cong – CURVE 22 2.1.2 Điểm biểu diễn đường cong (curve represents points ) 22 2.1.3 Đường cong đa thức bậc ba tham biến 23 2.1.4 Đường cong Hermite 24 iv 2.1.5 Đường cong Bezier 26 2.1.6 Đường cong B-Splines 29 2.1.6.1 Đường cong bậc ba Splines 29 2.6.1.2 Đường B-Spline 33 2.1.7 Đường cong tham số NURBS 38 2.2 Bề mặt NURBS 40 2.2.1 Mơ hình bề mặt (Surface) phương pháp xây dựng 40 2.2.1.1 Các khái niệm 40 2.2.1.2 Biểu diễn mảnh tứ giác 40 2.2.1.3 Tam giác – Triangular 42 2.2.2 Mặt từ đường cong 43 2.2.2.1 Mặt cong bậc ba Hermite 43 2.2.2.2 Mặt cong Bezier 45 2.2.2.3 Mặt cong B-spline 48 2.2.2.4 Bề mặt NURBS 49 2.2.2.5 Thuật toán NURBS biểu diễn bề mặt 50 CHƯƠNG CHƯƠNG TRÌNH THỰC NGHIỆM 52 3.1 Bài toán 52 3.2 Phân tích lựa chọn công cụ 53 3.3 Một số kết chương trình 55 PHẦN KẾT LUẬN 62 TÀI LIỆU THAM KHẢO 63 v DANH MỤC HÌNH ẢNH Hình 1.1 Minh hoạ tham số đường cong điểm Hình 1.2 Normal 10 Hình 1.3 Các thành phần đường cong 11 Hình 1.4 Một cảnh biểu diễn đối tượng chiều 12 Hình 1.5 Hệ tọa độ Descartes ba chiều với trục y 14 có chiều chạy xa người quan sát 14 Hình 1.6 Hệ tọa độ Descartes ba chiều với trục x 14 có chiều chạy phía người quan sát 14 Hình 1.7 Quá trình xử lý hiển thị 3D 15 Hình 1.8 Biểu diễn đường cong mặt cong 16 Hình 1.9 Lưới tam giác lưới tứ giác 17 Hình 1.10 Biểu diễn mặt đa giác 17 Hình 1.11 Minh hoạ tiến trình dựng cốc đơn giản NURBS 18 Hình 2.1 Đường cong đa thức bậc ba 23 Hình 2.2 Đường cong Hermite 24 Hình 2.3 Đường cong Hermite 26 Hình 2.4 Đường cong Bezier 27 Hình 2.5 Hàm hợp đường cong Bezier 27 Hình 2.6 Kết nối hai đường cong 30 Hình 2.7 Phân đoạn đường cong Spline – Hermite 31 Hình 2.8 Đường cong B-spline 35 Hình 2.9 Biểu diễn mảng tứ giác 41 Hình 2.10 Kết nối mảng tứ giác 41 Hình 2.11.Mảnh tam giác 42 Hình 2.12 Mặt cong Hermite điểm liệu 44 vi Hình 2.13 Mặt cong Bezier 45 Hình 2.14 Nối hai mảnh Bezier bậc ba 47 Hình 2.15 Bề mặt NURBS 49 Hình 3.1 Biểu diễn mơ hình bề mặt Nurbs 55 Hình 3.2 Biểu diễn mơ hình bề mặt Nurbs 56 Hình 3.3 Biểu diễn mơ hình bề mặt Nurbs 569 vii DANH MỤC TỪ VIẾT TẮT STT Ký hiệu Tiếng Anh Tiếng Việt 2D Two- dimensional Không gian hai chiều 3D Three-dimensional Không gian ba chiều CAD Computer-aided design CP Control point CPU Central Processing Unit Bộ xử lí trung tâm CT Computed Tomography chụp quét cắt lớp điện toán CV 10 thiết kế hỗ trợ máy tính Một điểm điều khiển hình dạng đối tượng Một điểm mà điều khiển hình dạng đường cong NURBS hay bề mặt Một điểm mà nằm đường cong điểm nối EP Edit point đa thức biểu diễn đường cong Non-Uniform Rational B-spline hữu tỉ không đồng NURBS B-spline tiêu chuẩn kỹ thuật đồ họa có mục đích định OPENGL Open Graphics Library giao diện lập trình ứng dụng (tiếng Anh: API)đồ họa chiều Control vertex MỞ ĐẦU Lý chọn đề tài Trong năm gần công nghệ thông tin đạt bước phát triển nhảy vọt phần cứng lẫn phần mềm Những ứ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, 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 có khả phát triển đạt thành tựu đáng kể Chúng ta kể đến lĩnh vực như: hệ chuyên gia, hệ xử lý thời gian thực … Hiện nay, đồ họa máy tính lĩnh vực lý thú ứng dụng nhiều sống, đặc biệt phương pháp mơ hình hóa hình học đối tượng chiều dựa mặt cong NURBS quan tâm nghiên cứu triển khai đồ họa ba chiều Hơn thế, phương pháp ứng dụng để mô hình hóa vật thể hệ thống CAD/CAM Các đường cong surface NURBS có nhiều ứng dụng ưa dùng thiết kế công nghiệp tự động Đây nơi hình dạng trơn tru với lượng liệu tối thiểu yêu cầu đặt Các đường cong NURBS phát huy hiệu việc tạo đường chuyển động liên tục đối tượng hoạt hoá Trong trình tìm hiểu nghiên cứu đồ họa máy tính gợi ý thầy hướng dẫn học viên lựa chọn đề tài “Biểu diễn mơ hình 3D kỹ thuật NURBS máy tính” Đối tượng phạm vi nghiên cứu + Đối tượng: - Mơ hình đối tượng 3D; 50 Một B-spline hữu tỷ thay đổi, NURBS bề mặt với tham số xác định với biến đổi spline không gian tham số không gian 3D Bề mặt NURBS mô tả hai biến số độc lập u v bốn biến số phụ thuộc x(s,t), y(s,t), z(s,t) d(s,t) cho: Rõ ràng: với điều kiện hàm tạo dáng B-spline N(u) định nghĩa: (u)= Thiết lập véc tơ điểm nút: ui=u0; u1,…, um 2.2.2.5 Thuật toán NURBS biểu diễn bề mặt NURBS bề mặt cong dùng để biểu diễn, mơ hình hóa hình dạng mơ đối tượng 3D Hình dạng đối tượng xác định điểm điều khiển NURBS có tính động cao, dễ dàng điều chỉnh hình dạng phần bề mặt không ảnh hưởng đến tồn bề mặt, tức tính điều khiển cục bề mặt đối tượng Một bề mặt NURBS biểu diễn công thức sau: 51 Trong đó:  Pi,j: Là điểm điều khiển  W: độ rộng vector nút  Ni,k-u(u), Nj,k-v(v): hàm  N,m: số điểm điều khiển  K-u, k-v: bậc hàm theo hướng u,v  Ni, k-u(u), Nj, k-v(v) biểu diễn hàm đệ quy Cox-de Boor Hàm đệ quy Cox-de Boor biểu diễn sau: 52 CHƯƠNG CHƯƠNG TRÌNH THỰC NGHIỆM Chương trình bày kết chạy chương trình biểu diễn bề mặt NURBS 3.1 Bài tốn Mơ hình hóa hình học ngành khoa học máy tính chuyên nghiên cứu phương pháp, kỹ thuật để mơ tả thao tác đối tượng giới thực máy tính Một vấn đề việc thiết kế mơ hình hóa hình học lựa chọn phương pháp toán học cho đường cong bề mặt đối tượng Trong sinh học, người ta quan tâm đến mơ hình hóa hình dạng tế bào phân tử dựa liệu thu kính hiển vi điện tử Những hình ảnh chi tiết quan nội tạng người tim mạch nội khoa tim, phổi, gan… Trong phẫu thuật thẩm mỹ, khn mặt mơ hình hóa tốn học Mơ hình sau thao tác để hiển thị hình ảnh sau phẫu thuật Trong phẫu thuật chỉnh hình, người ta quan tâm đến bên xương xương tham gia với Trong máy tính thơng tin để tránh chướng ngại kiểm sốt cơng cụ cung cấp cho robot hay chip Hoặc thiết kế sản xuất hình dáng bên ngồi tàu, tơ, tàu ngầm máy bay cịn thiết kế phơng chữ cho ngôn ngữ khác NURBS cơng thức tốn học mà đại diện hình học đường cong, hình trịn, vịng cung bề mặt không gian 3D Đường cong dạng tự bề mặt tạo chỉnh sửa với mức độ cao hai tính: linh hoạt xác Bài tốn: Biểu diễn bề mặt NURBS Bề mặt NURBS mạng lưới, lưới, điểm điều khiển có trọng số hướng U V 53 - Nhập vào: Nhập vào điểm điều khiển hình dạng đối tượng CP; bậc theo chiều dài, chiều rộng (U Degree, V Degree); - Kết quả: Mơ hình biểu diễn bề mặt NURBS 3.2 Phân tích lựa chọn cơng cụ OpenGL (Open Graphics Library) tiêu chuẩn kỹ thuật đồ họa có mục đích định giao diện lập trình ứng dụng (application programming interface API) đồ họa chiều OpenGL dùng ứng dụng đồ họa chiều Giao diện lập trình chứa khoảng 250 hàm để vẽ cảnh phức tạp từ hàm đơn giản Nó dùng rộng rãi trị chơi điện tử Ngồi dùng ứng dụng CAD, thực tế ảo, mô khoa học, mô thông tin, phát triển trị chơi OpenGL cịn có đối thủ cạnh tranh làDirectX Microsoft Không gian OpenGL miêu tả qua hình học xạ ảnh Một điểm khơng gian có tất tọa độ Cách thể điểm không gian tọa độ cho phép xử lý điểm vô tận cách tổng quát Vì mã nguồn ứng dụng đơn giản hóa nhiều Có số ngơn ngữ phát triển lập trình đố hoạ Open GL C++ hay java 3D để phát triển ứng dụng đồ hoạ chiều, luận văn lựa chọn Visual studio 2013 để phát triển ứng dụng Microsoft Visual C++ (còn gọi MSVC) sản phẩm Mơi trường phát triển tích hợp (IDE) cho ngơn ngữ lập trình C, C++, C++/CLI Microsoft Nó có cơng cụ cho phát triển gỡ lỗi mã nguồn C++, đặc biệt mã nguồn viết cho Microsoft Windows API, DirectX API, Microsoft NET Framework Mơi trường phát 54 triển tích hợp (tiếng Anh: Integrated Development Environment; viết tắt: IDE) gọi "Môi trường thiết kế hợp nhất" (tiếng Anh: Integrated Design Environment) hay "Môi trường gỡ lỗi hợp nhất" (tiếng Anh: Integrated Debugging Environment) loại phần mềm máy tính có cơng dụng giúp đỡ lập trình viên việc phát triển phần mềm  Các môi trường phát triển hợp thường bao gồm:  Một trình soạn thảo mã (source code editor): dùng để viết mã  Trình biên dịch (compiler) / trình thơng dịch (interpreter)  Công cụ xây dựng tự động: sử dụng biên dịch (hoặc thông dịch) mã nguồn, thực liên kết (linking), chạy chương trình cách tự động  Trình gỡ lỗi (debugger): hỗ trợ dị tìm lỗi  Ngồi ra, cịn bao gồm hệ thống quản lí phiên cơng cụ nhằm đơn giản hóa cơng việc xây dựng giao diện người dùng đồ họa (GUI) Chương trình biểu diễn đường cong NURBS, bề mặt NURBS xây dựng môi trường Visual Studio C++ 2013 với thư viện đồ họa OpenGL Cài đặt thêm thư viên GLUT (khơng có sẵn Windows) 55 3.3 Một số kết chương trình Hình 3.1 Biểu diễn mơ hình bề mặt Nurbs Ở hình 3.1 thể bề mặt NURBS với 16 điểm điều khiển hình dạng đối tượng bề mặt gồm: { -6, -6, -6 }, { -3, -1, -3 }, { -3, 1, }, { -6, 6, -6 }; { -10, -30, -30 }, { -1, -1, }, { -1, 1, -3 }, { -1, 3, -3 }; { 10, -3, -3 }, { 1, -1, }, { 1, 1, }, { 1, 3, -3 }; { 3, -3, -3 }, { 3, -1, -3 }, { 3, 1, }, { 3, 3, -3 }; 56 Ưu điểm NURBS có tính động cao, dễ dàng điều chỉnh hình dạng phần bề mặt khơng ảnh hưởng đến tồn bề mặt, tức tính điều khiển cục bề mặt đối tượng Chính mà ta thay đổi tọa độ biểu diễn mơ hình bề mặt để bề mặt NURBS có hình dạng khác theo ý muốn: Hình 3.2 Biểu diễn mơ hình bề mặt Nurbs Ở hình 3.2 thể bề mặt NURBS với 16 điểm điều khiển hình dạng đối tượng bề mặt gồm tọa độ điểm điều khiển sau: { -3, -1 -3 }, { -3, -1, -3 }, { -3, 1, }, { -3, 6, -3 }; { -1, -3, -3 }, { -1, -1, }, { -1, 1, -3 }, { -1, 3, -3 } { 5, -3, -3 }, { 1, -1, }, { 1, 1, }, { 1, 3, -3 } { 3, -3, -3 }, { 3, -1, -3 }, { 3, 1, }, { 3, 3, -3 }; 57 Hình 3.3 Biểu diễn mơ hình bề mặt Nurbs Ở hình 3.3 thể bề mặt NURBS với 16 điểm điều khiển hình dạng đối tượng bề mặt gồm tọa độ điểm điều khiển sau: {-3, -6, -3}, { -10, -3, -3 }, { 5, -3, -3 }, { 3, -3, -8 }, { -3,-6,-3 }, { -10, -1, }, { 1, -1, }, { 3, -1, -8 }, {-3, 6, }, { -10, 1, -3 }, { 1, 1, }, { 3, 1, }, {-3, 6, -3 } { -10, 3, -3} { 1, 3, -3 } { 3, 3, -88 } 58 Biểu diễn bề mặt NURBS theo trục ta được:  Khi nhấn phím x để xoay theo trục tọa độ x ta có kết sau:  Khi nhấn phím y để xoay theo trục tọa độ y ta có kết sau: 59  Khi nhấn phím z để xoay theo trục tọa độ z ta có kết sau: Áp dụng đường cong NURBS, bề mặt NURBS để biểu diễn vật thể 3D kết sau: 60 61 62 PHẦN KẾT LUẬN Sự cần thiết đê tài: Sự phát triển công nghệ thông tin đẩy nhanh phát triển nhiều lĩnh vực đời sống xã hội Với phát triển phần cứng phương diện thu nhận hiển thị mở nhiều hướng cho phát triển phần mềm Trong số phải kể đến lĩnh vực thể hình ảnh chiều Bên cạnh đó, NURBS từ viết tắt Non-Uniform Rational B-Spline tập hợp rộng lớn đường cong conic, splines Bezier Chúng có khả phù hợp đặc biệt 3D chúng cung cấp tính liên tục hồn hảo với lượng tối thiểu điểm điều khiển (control points) Sau thời gian tìm hiểu hướng dẫn tận tình thày giáo PGS.TS Đỗ Năng Tồn hướng dẫn, luận văn tập trung nghiên cứu kỹ thuật NURBS biểu diễn mơ hình 3D đạt số kết bước đầu sau: - Luận văn trình bày tổng quan đối tượng 3D toán biểu diễn NURBS - Hệ thống trình bày số vấn đề biểu diễn mơ hình 3D kỹ thuật NURBS; - Cài đặt thử nghiệm chương trình biểu diễn bề mặt NURBS Hướng phát triển Luận văn nghiên cứu đường cong NURBS, bề mặt NURBS biểu diễn mơ hình 3D máy tính Trong thời gian tới, tác giả tiếp tục phát triển vấn đề nghiên cứu luận văn là: Xây dựng đối tượng cụ thể biểu diễn ứng dụng mơ hình NURBS hồn chỉnh; tìm hiểu vấn đề che phủ ánh sáng, tăng chường chất lượng hình ảnh 3D 63 TÀI LIỆU THAM KHẢO TIẾNG VIỆT [1] Bùi Thế Duy (2009), Đồ họa máy tính, NXB Đại học Quốc gia HN [2] Hoàng Kiếm, Dương Anh Ðức, Lê Ðình Duy, Vu Hải Quân (2000) Giáo trình sở Ðồ hoạ Máy tính, NXB Giáo dục [3] Lê Tấn Hùng, Huỳnh Quyết Thắng (2002) Kỹ thuật đồ hoạ máy tính, NXB khoa học kỹ thuật [4] Châu Ngọc, Minh Hồng (2006), Đồ họa máy tính, NXB Đà Nẵng, 2006 [5] Nguyễn Văn Huân, Trịnh Xuân Hùng, Phạm Bá Mây,Trần Ngọc Thái (2009) Cải tiến kỹ thuật biểu diễn bề mặt NURBS, Kỷ yếu hội thảo Quốc gia lần thứ 12 – Một số vấn đề chọn lọc Công nghệ thông tin Truyền thông Đồng Nai 05-06/12/2009, NXB Khoa học Kỹ thuật, Hà Nội 2010, 85-99 TIẾNG ANH [1] Gerald Farin (Academic Press, 1990), Curves and surfaces for Computer Aided Geometric [2] Richard H Bartels, John C Beatty, and Brian A Barsky (Morgan Kaufmann Publishers, 1987), Introduction to Splines used in computer graphics and geometric modeling [3] C 4.6.3, "Triangulated Surface Mesh," CGAL.ORG, 29 2015 [Online] Available: http://doc.cgal.org/latest/Surface_mesh_simplification/ [Accessed 29 2015] [4] Jarek Rossignac and Paul Borrel, "Multi-resolution 3d approximation for rendering complex scenes," in Geometric Modeling in Computer Graphics, Springer Verlag, 1993, p 455–465 [5] Schroeder, W., Zarge, J and Lorensen, W., Decimation of triangle meshes, Computer Graphics (SIGGRAPH, 1992 64 [6] Michael Garland and Paul S Heckbert, "Surface simpli cation using quadric error metrics," in Proceedings of the 24th annual conference on Computer graphics and interactive techniques, New York, NY, USA, 1997, p 209–216 [7] G Turk, Re-tiling polygonal surfaces.Computer Graphics, SIGGRAPH ’92 Proceedings, 1992 [8] M H Gross, O G Staadt and Roger Gatti, "Efficient triangular surface approximation using wavelets and quadtree data structures," in IEEE Transaction on Visualization and Computer Graphics, 1996, p 130–143 ... hình 3D kỹ thuật NURBS máy tính? ?? Đối tượng phạm vi nghiên cứu + Đối tượng: - Mơ hình đối tượng 3D; - Kỹ thuật NURBS biểu diễn đối tượng 3D; + Phạm vi: - Biễu diễn kỹ thuật NURBS để biểu diễn đường... & TRUYỀN THƠNG MAI THỊ BÍNH BIỂU DIỄN MƠ HÌNH 3D BẰNG KỸ THUẬT NURBS TRONG MÁY TÍNH Chun ngành: KHOA HỌC MÁY TÍNH Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học:... đối tượng 3D toán biểu diễn NURBS Chương Một số vấn đề biểu diễn mơ hình 3D kỹ thuật NURBS; Chương Chương trình thử nghiệm 3 CHƯƠNG KHÁI QUÁT VỀ ĐỐI TƯỢNG 3D VÀ BÀI TỐN BIỂU DIỄN NURBS Nội dung

Ngày đăng: 09/12/2016, 15:31

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w