B SPLINE và ỨNG DỤNG TRONG đồ họa máy TÍNH

60 1.5K 1
B SPLINE và ỨNG DỤNG TRONG đồ họa máy TÍNH

Đ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

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 ép\\ ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT&TT Nguyễn Thanh Hải B-SPLINE VÀ ỨNG DỤNG TRONG ĐỒ HỌA MÁY TÍNH Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: PGS. TS. ĐẶNG QUANG Á Thái Nguyên - 2011 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 : Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của PGS. TS. Đặng Quang Á. Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố. 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 MỞ ĐẦU 1 1. Đặt vấn đề 1 2. Đối tượng và phạm vi nghiên cứu 1 3. Hướng nghiên cứu của đề tài 1 4. Những nội dung nghiên cứu chính 2 5. Phương pháp nghiên cứu 2 6. Ý nghĩa khoa học của đề tài 2 Chƣơng 1 Lý thuyết mô hình hóa hình học 3 1.1. Cơ sở của mô hình hóa hình học 3 1.1.1. Các phép biến đổi tọa độ 2D 3 1.1.2. Phép biến đổi đồng nhất 4 1.1.3. Các phép biến đổi tọa độ 3D 4 1.1.4. Phép ánh xạ 6 1.1.5. Khung tọa độ 8 1.2. Đường cong – Curve 9 1.3. Mặt cong - Surface 13 1.3.1. Biểu diễn mặt cong 13 1.3.2. Mô hình hóa các mặt cong 14 Chƣơng 2 Đƣờng cong, mặt cong B-Spline 16 2.1. Thuật toán Casteljau 16 2.2. Đường cong và mặt cong Bezier 18 2.2.1. Đường cong Bezier 19 2.2.2. Mặt cong Bezier 23 2.3. Đường cong B-Spline 25 2.3.1. Đánh giá đường cong Bezier 25 2.3.2. Đường cong B-Spline 27 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.3.2.1. Hàm cơ sở B-Spline 27 2.3.2.2. Tính chất của đường cong B-Spline 29 2.3.2.3. Đường cong B-Spline đều và tuần hoàn 30 2.3.2.4. Đường cong B-Spline không tuần hoàn 32 2.3.2.5. Đường cong B-Spline hữu tỷ không đều 32 2.4. Mặt cong B-Spline 34 Chƣơng 3 Ứng dụng B-Spline mô hình hóa các vật thể 3D 35 3.1. Bài toán mô hình hóa các vật thể 3D 35 3.2. Phép nội suy và mịn hóa đường cong 36 3.2.1. Nối điểm một chiều 37 3.2.2. Xấp xỉ hóa hai chiều 38 3.3. Tìm điểm kiểm soát cho đường cong B-Spline 38 3.4. Vẽ một số đối tượng 3D 39 3.4.1. Vẽ quả táo 39 3.4.2. Vẽ lọ hoa 44 3.4.3. Vẽ máy bay 46 3.4.4. Giao diện chương trình chính 50 KẾT LUẬN 51 TÀI LIỆU THAM KHẢO 52 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 DANH SÁCH HÌNH VẼ Hình 1.1: Phép biến đổi tọa độ 2D 3 Hình 1.2: Phép biến đối tọa độ dưới hình thức hệ tọa độ chuyển động 9 Hình 1.3: Biểu diễn đường tròn đơn vị 11 Hình 1.4: Mô hình bề mặt kẻ 14 Hình 1.5 Mô hình mặt tròn xoay 15 Hình 1.6: Mô hình mặt trượt 15 Hình 2.1: Thuật toán Casteljau cho ba điểm 17 Hình 2.2: Đường cong Bezier bậc 1, 2, 3 20 Hình 2.3: Mặt cong Bezier 25 Hình 2.4: Các thành phần của đa thức riêng phần 26 Hình 2.5: Đường cong B-Spline 29 Hình 2.6: Mặt cong B-Spline 34 Hình 3.1 Phép nối điểm và mịn hóa đường cong 37 Hình 3.2 Xác định đa giác kiểm soát của đường cong B-Spline qua một số điểm đã biết nằm trên đường cong. 38 Hình 3.3: Biểu diễn quả táo 44 Hình 3.4: Biểu diễn lọ hoa 45 Hình 3.5: Biểu diễn máy bay 49 Hình 3.6: Giao diện chương trình chính 50 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 DANH SÁCH CÁC BẢNG Bảng 1.1: Phép quay 3D quanh các trục tọa độ 5 Bảng 2.1: Vector nút đều 31 Bảng 2.2: Vector nút của đường cong B-Spline bậc 2,3,4 không tuần hoàn 32 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 Với những tình cảm chân thành, tôi xin bày tỏ lòng biết ơn sâu sắc đến Ban giám hiệu cùng các thầy cô giáo trường Đại học Công nghệ thông tin và Truyền thông – Đại học Thái Nguyên, toàn thể các thầy giáo, cô giáo tại Viện Công nghệ thông tin – Viện Khoa học và Công nghệ Việt Nam đã nhiệt tình giảng dạy, giúp đỡ tôi trong quá trình học tập, nghiên cứu. Qua đây tôi cũng xin gửi lời cảm ơn bạn bè, đồng nghiệp đã động viên, giúp đỡ và tạo điều kiện thuân lợi cho tôi trong thời gian học tập và nghiên cứu để hoàn thành luận văn. Đặc biệt, tôi xin bày tỏ lòng biết ơn sâu sắc tới PGS. TS Đặng Quang Á đã trực tiếp tận tình hướng dẫn, giúp đỡ tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn này. Mặc dù cũng có nhiều cố gắng, nhưng trong luận văn này cũng khó tránh khỏi những thiếu sót, khiếm khuyết. Kính mong sự góp ý, chỉ bảo của quý thầy, cô và các bạn. Xin chân trọng cảm ơn. Thái Nguyên, tháng 9 năm 2011 Tác giả Nguyễn Thanh Hải 1 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Ở ĐẦU 1. Đặt vấn đề Công nghệ thông tin ngày càng phát triển và đồ họa máy tính là một lĩnh vực công nghệ phát triển rất nhanh. Đồ họa đã được áp dụng rộng rãi trong nhiều lĩnh vực khác nhau từ khoa học, công nghệ, y tế, kỹ thuật đến giải trí Đồ họa máy tính phát triển dựa trên các kết quả của hình học họa hình, hình học vi phân cùng với nhiều kết quả toán học khác đặc biệt bao gồm đại số và giải tích. Hiện nay, với sự phát triển của phần cứng máy tính, đồ họa cũng phát triển nhanh hơn, tuy vậy nền tảng của nó vẫn là cơ sở mô hình hóa hình học. Có nhiều bài toán đặt ra trong đồ họa máy tính. Một trong những bài toán cơ bản của nó là xử lý các đường cong và mặt cong. B-Splines là một dạng đường cong và mặt cong trong mô hình hóa hình học đã được nhiều tác giả trên thế giới nghiên cứu. Đề tài này tìm hiểu về B-Splines, từ đó đưa ra một ứng dụng trong đồ họa máy tính, cụ thể là ứng dụng trong bài toán mô hình hóa vật thể 3D. 2. Đối tƣợng và phạm vi nghiên cứu  Đối tượng: Cơ sở mô hình hóa hình học, B-Splines, Ứng dụng B- Splines trong đồ họa.  Phạm vi: Đề tài tập trung tìm hiểu lý thuyết về B-Splines của mô hình hóa hình học. 3. Hƣớng nghiên cứu của đề tài  Tổng hợp một số kết quả cơ bản của hình học vi phân và phép biến đổi hình học sử dụng trong mô hình hóa hình học. Trong đó tập trung chủ yếu đến các lý thuyết về đường cong, mặt cong và các phép biến đổi tọa độ.  Tìm hiểu lý thuyết mô hình hóa các thực thể hình học bao gồm đường cong và mặt cong. 2 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  Tìm hiểu lý thuyết B-Splines.  Từ những kết quả lý thuyết B-Splines, ứng dụng vào bài toán mô hình hóa vật thể 3D. 4. Những nội dung nghiên cứu chính  Tìm hiểu những kiến thức tổng quan về mô hình hóa hình học.  Tìm hiểu lý thuyết về đường cong B-Splines, mặt cong B-Splines.  Ứng dụng B-Splines vào bài toán mô hình hóa vật thể 3D. 5. Phƣơng pháp nghiên cứu  Phương pháp chuyên gia: Tham khảo ý kiến của các thầy cô trong lĩnh vực đồ họa, đảm bảo toán học cho máy tính và hệ thống tính toán và các lĩnh vực có liên quan.  Thu thập, nghiên cứu tài liệu từ các giáo trình, bài báo, tạp chí, bài giảng.  Phương pháp thực nghiệm: Cài đặt ứng dụng bằng ngôn ngữ MATLAB. 6. Ý nghĩa khoa học của đề tài Kết quả nghiên cứu của đề tài là đưa ra 1 ứng dụng cụ thể của B-Splines trong bài toán mô hình hóa vật thể 3D. Bên cạnh đó, đề tài cũng đã tổng hợp được các kết quả nghiên cứu cơ bản của hình học vi phân và phép biến đổi hình học sử dụng trong mô hình hóa hình học, đặc biệt là các kết quả về B- Splines. 3 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 Chƣơng 1. Lý thuyết mô hình hóa hình học Chƣơng này dành trình bày về: Các kết quả cơ bản của hình học vi phân và phép biến đổi hình học sử dụng trong mô hình hóa hình học. Lý thuyết về đường mặt cong và các phép biến đổi tọa độ trong không gian 3D. 1.1. Cơ sở của mô hình hóa hình học 1.1.1. Các phép biến đổi tọa độ 2D Tất cả các phép biến hình trong ĐHMT và mô hình hóa hình học đều dựa trên 3 hình thức biến đổi tọa độ cơ bản là dịch chuyển tịnh tiến, lấy tỷ lệ và quay [5]. Xét điểm P'(x', y') là vị trí của điểm P(x, y) sau phép biến đổi tọa độ. Tọa độ (x', y') của điểm P' tương ứng với vector dịch chuyển t(t x , t y ) (Hình 1.1a), hệ số tỷ lệ s(s x , s y ) (Hình 1.1b); góc xoay θ ngược chiều quay kim đồng hồ (Hình 1.1c) được xác định như sau: x' = x + t x ; y' = y + t y (1.1) x' = s x x; y' = s y y (1.2) x' = xcosθ – ysinθ; y' = xsinθ + ycosθ (1.3) Hình 1.1: Phép biến đổi tọa độ 2D a P(x,y) P ’ (x’,y’) t x t y y x o b P(x,y) P ’ (x’,y’) y x o c r θ P(x,y) P ’ (x’,y’) r y x o α [...]... Pierre Bezier trong quá trình thiết kế mẫu xe ôtô Bezier là nhân viên hãng RENAULT Vào những năm 1970 ông là người đi đầu trong việc ứng dụng máy tính cho việc xây dựng các b mặt Hệ thống UNISURF 18 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 của ông được áp dụng trong thực tế vào năm 1972 được thiết kế và kiểm xe Mezesez hay Renault Điểm mạnh của lí thuyết Bezier là tính. .. ≤1 ta tính giá trị a(t) giữa hai điểm P0 và P1: a(t) = (1 - t)P0 + tP1  Tính b( t) giữa hai điểm P1 và P2 b( t) = (1 - t)P1 + tP2  Cuối cùng tính C(t) giữa hai điểm a(t) và b( t) C(t)=(1 - t)a(t) + tb(t) = (1 – t)2P0 + 2t(1-t)P1 + t2P2 Tương tự như trên, trong trường hợp có 4 điểm kiểm soát P0, P1, P2, P3 như trong Hình 2.2c, ta tính được: BEZ0,3 = (1 - t)3 BEZ1,3 = 3t(1 - t)2 BEZ2,3 = 3t2(1 - t) BEZ3,3... Đặt Pow(t) = (t0, t1, , tn), BEn là ma trận biểu diễn mảng BEZn(t), trong đó mỗi hàng i của ma trận này ứng với các hệ số tương ứng (a0 ,a1 , ,an) của đa thức BEZi,n(t) và tại vị trí (i,j) trong ma trận BEn có giá trị: BEn(i,j) = (-1)j- i 𝐶 𝑛𝑖 𝐶 𝑖 𝑗 (2.11) Do đó C(t) có thể viết lại thành: C(t) = Pow(t).BEn.PT (2.12) Đối với đường cong Bezier b c 3 ta có Ma trận BE3 là: 1 0 BE3 = −3 3 3 −6 −1 3 0 0 3... gần đúng Để tính C(ti) ta có thể áp dụng ma trận của C(t) ở công thức (2.12) trong đó chỉ có thành phần Pow(ti) là thay đổi, còn tích BEn.PT với P = (P0, P1, P2, …, Pn) là không đổi [3] * Các tính chất của đường cong Bezier Đường cong Bezier có các tính chất:  Nội suy được các điểm đầu và cuối: C(0) = P0 và C(1) = Pn  Tính b t biến Affine: Khi biến đổi một đường cong Bezier, ta không cần biến đổi mọi... Không tuần hoàn (open or unperodic)  Không đều (non-uniform) 2.3.2.2 Tính chất của đường cong B- Spline Hàm B- Spline thực chất là dùng làm hàm trộn cho đường cong Bezier nên các tính chất của đường cong Bezier cũng thỏa cho đường cong B- Spline:  Các đường B- Spline b c m là các đa thức riêng phần b c m Chúng là các Spline 29 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... cong C được xác định b i công thức: C(t) = BEZ0,1.P0 + BEZ1,1.P1 = (1 - t)P0 + tP1, (0≤ t ≤1) (2.6) Đường cong C đi qua 2 điểm P0 và P1lúc này chính là đoạn thẳng P0P1 như trong Hình 2.2a Ta thấy C(t) là tuyến tính theo tham số t và ta gọi đó là đường cong Bezier b c 1 Trường hợp có 3 điểm kiểm soát P0, P1, P2 như trong Hình 2. 2b, ta có: BEZ0,2 = (1 - t)2 BEZ1,2 = 2t(1 – t) 19 Số hóa b i Trung tâm Học... Chương này trình b y về một số loại đường cong và mặt cong trong không gian 3D, trong đó tập trung vào đường cong và mặt cong B- Spline 2.1 Thuật toán Casteljau Như đã trình b y trong chương 1, không xét những phương pháp biểu diễn mặt cong và đường cong b i các công thức toán học tường minh, ở đây ta sẽ b n đến các công cụ cho phép chỉ ra các dạng đường và mặt khác nhau dựa trên các dữ liệu Điều này... đường cong B- Spline b c m-1 được xây dựng dựa trên vector nút T và (n + l) điểm kiểm soát Pi có dạng : 27 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.20) 𝑖=0 Trong đó: Ni,m(t) gọi là hàm Cox-de Boor hay hàm cơ sở B- Spline có cấp m (order m) và b c (m-1) (degree m-1) là phương pháp chuẩn để định nghĩa hàm cơ sở B- Spline Ni,m(t) được cho b i công... cho 4 điểm * Dạng biểu diễn ma trận của đường cong Bezier Để thích hợp cho việc biểu diễn trên máy tính, ta biểu diễn 2 mảng BEZn(t) và P như sau: BEZn(t) = (BEZ0,n(t), B1 ,n(t), …, Bn,n(t)) P = (P0, P1, P2, …, Pn) P0 𝑃 = > PT = 1 𝑃2 𝑃3 Khi đó theo công thức (2.5) ta có C(t) = BEZn(t).PT (2.9) Các hàm trộn có thể biểu diễn dưới dạng đa thức tổng quát: BEZi,n = a0 + a1t + a2t2 + + an.tn = (t°, t1, , tn).(a0... thể sử dụng phương trình toán học b t kỳ để biểu diễn đường cong, nhưng mô hình toán học dưới dạng đa thức được sử dụng phổ biến nhất do có đặc tính dễ dàng xử lý, đủ linh hoạt để mô tả phần lớn các loại đường cong sử dụng trong kỹ thuật Mỗi đường cong có các đặc tính đó là: Độ chảy, Vector tiếp tuyến đơn vị, Vector pháp tuyến chính, Độ cong và b n kính cong [5] Xét đường cong được biểu diễn b ng phương . Thanh Hải B-SPLINE VÀ ỨNG DỤNG TRONG ĐỒ HỌA MÁY TÍNH Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH Người. một ứng dụng trong đồ họa máy tính, cụ thể là ứng dụng trong bài toán mô hình hóa vật thể 3D. 2. Đối tƣợng và phạm vi nghiên cứu  Đối tượng: Cơ sở mô hình hóa hình học, B-Splines, Ứng dụng B- Splines. triển của phần cứng máy tính, đồ họa cũng phát triển nhanh hơn, tuy vậy nền tảng của nó vẫn là cơ sở mô hình hóa hình học. Có nhiều bài toán đặt ra trong đồ họa máy tính. Một trong những bài

Ngày đăng: 31/07/2014, 01:22

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan