Mô hình hóa mặt cong tham số bậc thấp từ lưới tam giác dựa trên phương pháp dịch chuyển hình học cục bộ

TÓM TẮT— Tái tạo mặt cong tham số từ lưới tam giác, đặc biệt là mặt cong tham số bậc thấp, có ý nghĩa quan trọng và mang lại nhiều ứng dụng thực tiễn trong lĩnh vực tái tạo ngược, thực tại ảo và hỗ trợ thiết kế. Bài báo này đề xuất một phương pháp mới nhằm tái tạo các mặt cong trên miền tham số tam giác có bậc thấp (cụ thể là các mặt Bézier, B-Patch và B-spline) dựa trên phương pháp dịch chuyển hình học cục bộ và lược đồ tái hợp mảnh. Bằng cách sử dụng lược đồ tái hợp mảnh nhằm thô hóa lưới điều khiển của mặt cong và điều chỉnh cục bộ các điểm điều khiển thông qua mỗi bước dịch chuyển hình học, các mặt cong được tái tạo xấp xỉ với hầu hết các điểm dữ liệu của lưới tam giác ban đầu mà không cần phải giải các hệ phương trình tuyến tính phức tạp. Độ chính xác của mặt cong tham số tái tạo đạt được bằng cách điều chỉnh vị trí các điểm điều khiển và đám mây nút trong mỗi bước lặp. Các kết quả thực nghiệm cho thấy phương pháp đề xuất đơn giản, mềm dẻo, hiệu quả và có thể áp dụng được với lưới tam giác có hình dạng bất kỳ

Mô hình hóa mặt cong tham số bậc thấp từ lưới tam giác dựa trên phương pháp dịch chuyển hình học cục bộ trang 1

Trang 1

Mô hình hóa mặt cong tham số bậc thấp từ lưới tam giác dựa trên phương pháp dịch chuyển hình học cục bộ trang 2

Trang 2

Mô hình hóa mặt cong tham số bậc thấp từ lưới tam giác dựa trên phương pháp dịch chuyển hình học cục bộ trang 3

Trang 3

Mô hình hóa mặt cong tham số bậc thấp từ lưới tam giác dựa trên phương pháp dịch chuyển hình học cục bộ trang 4

Trang 4

Mô hình hóa mặt cong tham số bậc thấp từ lưới tam giác dựa trên phương pháp dịch chuyển hình học cục bộ trang 5

Trang 5

Mô hình hóa mặt cong tham số bậc thấp từ lưới tam giác dựa trên phương pháp dịch chuyển hình học cục bộ trang 6

Trang 6

Mô hình hóa mặt cong tham số bậc thấp từ lưới tam giác dựa trên phương pháp dịch chuyển hình học cục bộ trang 7

Trang 7

Mô hình hóa mặt cong tham số bậc thấp từ lưới tam giác dựa trên phương pháp dịch chuyển hình học cục bộ trang 8

Trang 8

pdf 8 trang xuanhieu 7640
Bạn đang xem tài liệu "Mô hình hóa mặt cong tham số bậc thấp từ lưới tam giác dựa trên phương pháp dịch chuyển hình học cục bộ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Mô hình hóa mặt cong tham số bậc thấp từ lưới tam giác dựa trên phương pháp dịch chuyển hình học cục bộ

Mô hình hóa mặt cong tham số bậc thấp từ lưới tam giác dựa trên phương pháp dịch chuyển hình học cục bộ
 điều khiển của mặt cong. 
 Cập nhật lại đám mây nút trong miền tham số của mặt cong. 
 i i
 4. Ứng với mỗi điểm dữ liệu pj, xác định các véctơ lỗi j . Trong đó j là độ lệch giữa các điểm dữ liệu so 
 với mặt cong dịch chuyển Si. 
 i
 5. Dựa trên các véctơ lỗi j , điều chỉnh lại lƣới dịch chuyển cũng nhƣ các điểm điều khiển của mặt cong. 
 Nhờ đó mà mặt cong dịch chuyển cũng đƣợc điều chỉnh lại cho dần hội tụ đến các điểm dữ liệu của lƣới 
 ban đầu. 
 Trong quá trình dịch chuyển, một chuỗi các lƣới dịch chuyển đƣợc tạo ra, cập nhật và đƣợc thô hóa. Từ đó, một 
chuỗi các mặt cong tƣơng ứng cũng lần lƣợt đƣợc sinh ra và dội tụ dần về phía lƣới ban đầu. Qua mỗi bƣớc dịch 
 i
chuyển, véctơ lỗi trung bình avg giảm dần. Quá trình dịch chuyển dừng khi véctơ lỗi trung bình bé hơn dung sai Sau 
một số bƣớc dịch chuyển hình học cục bộ, mặt cong tham số tái tạo đƣợc nội suy hầu hết các điểm dữ liệu của lƣới ban 
đầu với lỗi trung bình nhỏ nhất. Giải thuật đƣợc thể hiện chi tiết thông qua sơ đồ trong Hình 3. 
 Start M0 = triMesh(p | ) 
 j j=1..m
 M* = M0 ; k = 0 
 Mi = invSub(M*, i) k ++ 
 i i * *
 S = paraSurf(M ) M = triMesh(p j | j=1..m) 
 i i * i
 j = errVect(pj,S ) p j = pj+j 
 No 
  i = errAvg( i) i
 avg j avg <= 
 Yes 
 S = paraSurf(Mi) End 
 Hình 3. Sơ đồ giải thuật dịch chuyển hình học cục bộ 
312 MÔ HÌNH HÓA MẶT CONG THAM SỐ BẬC THẤP TỪ LƢỚI TAM GIÁC DỰA TRÊN PHƢƠNG PHÁP DỊCH CHUYỂN 
 Các ký hiệu trong sơ đồ có ý nghĩa nhƣ sau: 
 0 0 
 M = triMesh(pj| j=1..m): Dựng lƣới tam giác M từ m các điểm dữ liệu pj. 
 i * i * 
 M = invSub(M , i): Tạo lƣới thô M từ lƣới dịch chuyển M thông qua i lần tái hợp mảnh. 
 i i i i
 S = paraSurf(M ): Sinh mặt cong tham số tam giác S bằng cách sử dụng lƣới M làm lƣới điều khiển. 
 i i i
 j = errVect(pj,S ): Xác định các véctơ lỗi j ứng với mỗi điểm dữ liệu pj. 
 i i i
 avg = errAvg(j ): Tính véctơ lỗi trung bình dựa trên các véctơ lỗi j . 
 Giả sử rằng quá trình dịch chuyển mặt cong thực hiện k lần, khi đó, giá trị k phụ thuộc vào dung sai . Với m 
điểm dữ liệu pj, giải thuật dịch chuyển hình học cục bộ để tái tạo mặt cong tham số tam giác S sẽ có độ phức tạp 
 mk () 
 V. KẾT QUẢ THỰC NGHIỆM 
 Để có đƣợc các kết quả thực nghiệm, chúng tôi đã cài đặt giải thuật đề xuất trên máy tính cá nhân Pentium dual 
core CPU 2.16GHz với 1.0GB RAM, sử dụng Microsoft VC++ và thƣ viện đồ họa mở OpenGL. Ứng với các mô hình 
thực nghiệm dùng để tái tạo các mặt cong trên miền tham số tam giác nhƣ Bézier tam giác, B-patch và B-spline tam 
giác, chúng tôi đều xem xét bậc, độ chính xác, độ cong của mặt cong đạt đƣợc và thời gian thực hiện của thuật toán. 
 Gọi i là số lần tái hợp mảnh Loop; k là số bƣớc lặp khi thực hiện giải thuật dịch chuyển hình học cục bộ; avg là 
độ lệch trung bình tính đƣợc tại lần tái hợp mảnh i và bƣớc dịch chuyển k; N là độ hội tụ của mặt cong ứng với dung 
sai và N đƣợc tính bằng tỉ lệ phần trăm của số điểm dữ liệu đi qua mặt cong đạt đƣợc so với tổng các điểm dữ liệu 
của lƣới tam giác ban đầu. Khi đó, các mô hình lƣới thực nghiệm, một số kết quả tính toán và các mặt cong tham số tái 
tạo tƣơng ứng đƣợc liệt kê trong Bảng 1. 
 Bảng 1. Các mô hình thực nghiệm và mặt cong kết quả đạt đƣợc tƣơng ứng 
 Lưới khởi tạo Kết quả tính toán Mặt cong tham số được tái tạo 
 Mô hình Số Số Thời Số điểm Số tam giác 
 i k  N (%) Mặt cong Bậc 
 điểm mặt avg  gian(s) điều khiển miền tham số 
 BézierMesh 561 1024 1 6 0.0009291 99.756 <1 Bézier 16 153 1 
 BpatchMesh 153 256 2 10 0.004664 94.771 22 B-patch 4 15 1 
 BsplineMesh 3681 7168 3 9 0.004034 91.979 114 B-spline 2 69 28 
 Mô hình đầu tiên để tái tạo mặt cong tham số Bézier tam giác là lƣới tam giác BézierMesh bao gồm 561 điểm và 
1024 mặt (Hình 4a). Nếu dùng lƣới này nhƣ lƣới điều khiển của mặt cong dịch chuyển thì mặt cong thu đƣợc sẽ có bậc 
n=32. Tuy nhiên, để giảm bậc của mặt cong kết quả, chúng tôi đã áp dụng lƣợc đồ tái hợp mảnh Loop lên lƣới này và 
sử dụng lƣới kết quả nhƣ lƣới điều khiển của mặt cong dịch chuyển, sau k = 2, 4, 6 bƣớc dịch chuyển hình học cục bộ, 
Bézier kết quả nhanh chóng hội tụ về lƣới ban đầu (Hình 4b,c,d). Hình 4d và 4e cho thấy mặt cong đạt đƣợc đi qua hầu 
hết các điểm dữ liệu, đó là một Bézier tam giác có bậc n = 16 và nhận 153 điểm làm điểm điều khiển. Hình 4f hiển thị 
Bézier tái tạo đƣợc cùng với độ cong Gaussian của mặt cong. Thời gian tái tạo Bézier này khá nhanh, chƣa tới 1 giây 
cho k = 6 bƣớc dịch chuyển hình học, với độ lệch trung bình khá nhỏ, avg = 0.0009291, và độ hội tụ cao, N = 99.756%. 
 (a) (b) (c) 
 (d) (e) (f) 
 Hình 4. Tái tạo mặt cong Bézier tam giác: (a) Lƣới khởi tạo, (b,c,d) mặt cong đạt đƣợc sau k=2,4,6 bƣớc dịch chuyển, 
 (e) mặt trong của mặt cong (d), và (f) độ cong Gaussian của Bézier kết quả với bậc n=16 
Lê Thị Thu Nga, Nguyễn Tấn Khôi, Nguyễn Thanh Thủy 313 
 Mô hình thứ hai BpatchMesh đƣợc hiển thị trong Hình 5a, thông tin về lƣới tam giác này nhƣ trong Bảng 1. Sau 
khi áp dụng i=2 lần tái hợp mảnh Loop, chúng tôi thu đƣợc lƣới thô chỉ còn 15 điểm điều khiển và 16 mặt. Dùng lƣới 
thô kết quả để dựng mặt cong tham số B-patch và dịch chuyển hình học mặt cong này bằng cách điều chỉnh cục bộ lƣới 
dịch chuyển theo các véctơ lỗi. Sau k=10 bƣớc dịch chuyển, B-patch thu đƣợc là một mặt cong tham số bậc n=4 (Hình 
5b). Mặt cong này đạt đƣợc tại độ lệch trung bình avg = 0.004664 và độ hội tụ khá cao, N = 94.771%. 
 (a) (b) (c) (d) 
 Hình 5. Tái tạo mặt cong B-patch: (a) Lƣới khởi tạo, (b) B-patch bậc n=4 đạt đƣợc sau k=10 bƣớc dịch chuyển, 
 (c) mapping zebra của (b), và (f) miền tham số cùng với các đám mây nút của B-patch kết quả 
 Hình 6a minh họa mô hình thứ ba, lƣới tam giác BsplineMesh, gồm 3681 điểm và 7168 mặt. Để có đƣợc lƣới 
điều khiển của mặt cong dịch chuyển B-spline với bậc thấp, chúng tôi áp dụng i=3 lần tái hợp mảnh Loop lên lƣới này. 
Kết quả thu đƣợc là một lƣới tam giác điều khiển chỉ còn 69 điểm. Từ lƣới thô kết quả, chúng tôi dựng mặt cong B-
spline bậc n=2, với miền tham số là một lƣới phẳng gồm 28 tam giác (Hình 6f). Sau k=3, 6, 9 bƣớc dịch chuyển hình 
học cục bộ (Hình 6b, c, d), mặt cong B-spline trên miền tham số tam giác có bậc n=2 đạt đƣợc với độ lệch trung bình 
khá nhỏ, avg = 0.004034, và độ hội tụ khá cao N = 91.979%. Mặc dù cần phải xác định rất nhiều Spline đơn hình để 
tính tọa độ của một điểm trên mặt cong, nhƣng thời gian để tái tạo B-spline này không quá hai phút. 
 (a) (b) (c) 
 (d) (e) (f) 
 Hình 6. Tái tạo mặt cong B-spline tam giác: (a) Lƣới khởi tạo, (b,c,d) mặt cong đạt đƣợc sau k=3,6,9 bƣớc dịch chuyển, 
 (e) lƣới điều khiển và B-spline kết quả bậc n=2, và (f) miền tham số cùng với các đám mây nút của B-spline kết quả 
 Cuối cùng, để đánh giá độ chính xác của các mặt cong Bézier tam giác, B-patch và B-spline tam giác đƣợc tái 
tạo so với các mô hình lƣới tam giác ban đầu, cũng nhƣ tốc độ hội tụ của giải thuật dịch chuyển hình học cục bộ trong 
các bƣớc lặp k, Hình 7 minh họa sự ảnh hƣởng này thông qua độ lệch trung bình avg và độ hội tụ N. Hình 7a cho thấy 
độ lệch trung bình avg của cả ba mô hình phụ thuộc mạnh mẽ vào số bƣớc dịch chuyển k, đặc biệt chúng giảm mạnh 
trong bốn bƣớc đầu tiên. Các độ lệch này tƣơng đối ổn đinh từ bƣớc thứ năm trở đi và nằm trong khoảng từ 0.004 đến 
0.005 (đối với B-patch, B-spline tam giác) và từ 0.0007 đến 0.0009 (đối với Bézier tam giác). Điều này cho thấy các 
mặt cong tham số đạt đƣợc nhanh chóng hội tụ về các điểm dữ liệu chỉ sau vài bƣớc dịch chuyển hình học. Tƣơng tự, 
các đồ thị trong Hình 7b cho thấy số bƣớc lặp càng tăng thì độ hội tụ N theo bƣớc dịch chuyển k càng cao. Các giá trị 
N này cũng tăng nhanh trong bốn bƣớc đầu và sau đó dần chạm ngƣỡng 92% (đối với B-spline tam giác), 95% (đối 
với B-patch) và 100% (đối với Bézier tam giác). Sở dĩ việc tái tạo mặt cong Bézier tam giác cho kết quả cao hơn so với 
hai dạng mặt cong còn lại có thể giải thích đƣợc là do miền tham số của mặt cong Bézier chỉ đơn thuần là một tam giác 
miền. Trong khi đó B-patch và B-spline, bên cạnh miền tham số tam giác còn có các đám mây nút. Cấu hình các đám 
mây nút này cũng ảnh hƣởng đến hình dáng của mặt cong. 
314 MÔ HÌNH HÓA MẶT CONG THAM SỐ BẬC THẤP TỪ LƢỚI TAM GIÁC DỰA TRÊN PHƢƠNG PHÁP DỊCH CHUYỂN 
 (a) (b) 
 Hình 7. Ảnh hƣởng của số bƣớc lặp k đối với độ cính xác của mặt cong đƣợc tái tạo theo: 
 (a) lỗi trung bình avg và (b) độ hội tụ N(%) 
 VI. KẾT LUẬN 
 Trong bài báo này, dựa trên giải thuật dịch chuyển hình học cục bộ cùng với lƣợc đồ tái hợp mảnh, chúng tôi đã 
đề xuất một giải pháp mới cho phép tái tạo mặt cong trên miền tham số tam giác có bậc thấp. Phƣơng pháp đề xuất có 
một số ƣu điểm sau: 
 Tránh đƣợc các nhƣợc điểm của các phƣơng pháp truyền thống là phải giải các hệ phƣơng trình tuyến 
 tính và giải quyết các vấn đề bình phƣơng tối thiểu, mặt cong kết quả vẫn đi qua hầu hết các điểm dữ liệu 
 của lƣới tam giác ban đầu. 
 Tận dụng ƣu điểm đơn giản, mềm dẻo và trực quan của các phƣơng pháp xấp xỉ lặp lại gần đây. Hơn 
 nữa, bằng cách sử dụng lƣợc đồ tái hợp mảnh nên mặt cong đƣợc tái tạo có bậc thấp hơn nhiều so với 
 việc sử dụng lƣới ban đầu nhƣ lƣới điều kiển. Mặt khác, bằng cách điều chỉnh cục bộ lƣới dịch chuyển 
 cũng nhƣ các điểm điều khiển nên mặt cong dịch chuyển nhanh chóng hội tụ đến lƣới ban đầu chỉ sau vài 
 bƣớc dịch chuyển. 
 Phƣơng pháp áp dụng cho lƣới tam giác, do đó tận dụng đƣợc các ƣu điểm của lƣới tam giác hay lƣới 
 không cấu trúc. Hơn nữa, mặt cong tái tạo đƣợc là các mặt cong trên miền tham số tam giác, nên cho 
 phép biểu diễn bề mặt của đối tƣợng thực một cách mềm dẻo và điều chỉnh cục bộ hình dáng mặt cong 
 thông qua các điểm điều khiển. Đặc biệt, B-spline tam giác bậc n đạt liên tục Cn-1 tái tạo đƣợc, cho phép 
 biểu diễn bề mặt trơn mềm toàn cục với hình dáng bất kỳ mà không cần phải thực hiện ghép nối. 
 Hầu hết các mặt cong thƣờng dùng trong thiết kế hình học là các mặt cong tham số bậc thấp, do đó kết quả này 
có ý nghĩa thực tiễn và hứa hẹn trong nhiều lĩnh vực nhƣ: hỗ trợ thiết kế, tái tạo ngƣợc và thực tại ảo. Ngoài ra, còn có 
thể ứng dụng trong nén dữ liệu 3D, trao đổi dữ liệu trên môi trƣờng mạng không giây băng thông hẹp và trên các thiết 
bị di động. 
 TÀI LIỆU THAM KHẢO 
[1] C. Deng, H. Lin, “Progressive and iterative approximation for least squares B-spline curve and surface fitting”, Computer-
 Aided Design, vol.47, pp.32–44, 2014. 
[2] C. Deng, W.Ma, “Weighted progressive interpolation of Loop subdivision surfaces”, Computer-Aided Design, vol.44, pp.424–
 31, 2012. 
[3] C. Loop, “Smooth Subdivision Surfaces Based on Triangles”, M. S. Mathematics thesis, 1987. 
[4] Christopher K, Ingram, “A Geometric B-Spline Over the Triangular Domain”, M. S. Mathematics thesis, 2003. 
[5] Denis Zorin, Peter Schroder, “Subdivision for Modeling and Animation”, SIGGRAPH Course Notes, 2000. 
[6] Dian Pratiwi, “The Implementation of Univariate and Bivariate B-Spline Interpolation Method in Continuous”, IJCSI 
 International Journal of Computer Science Issues, vol.10, Issue 2, No 2, March 2013. 
[7] F. Cheng, F. Fan, S. Lai, C. Huang, J. Wang, J. Yong, “Loop subdivision surface based progressive interpolation”, Journal of 
 Computer Science and Technology, vol.24, pp.39–46, 2009. 
[8] G. Farin, “Curves and Surfaces for Computer Aided Geometric Design: A Practical Guide”, 5th edn, Morgan Kaufmann, San 
 Mateo, 2002. 
[9] G. Greiner, “Geometric modeling”, Lecture in Winter Term, 2010. 
[10] Jie Chen, Guo-Jin Wang, “Progressive iterative approximation for triangular Bézier surfaces”, Computer-Aided Design, 
 vol.43, pp.889–895, 2011. 
[11] L. Lu, “Weighted progressive iteration approximation and convergence analysis”, Computer Aided Geometric Design, 27(2), 
 pp.129–37, 2010. 
Lê Thị Thu Nga, Nguyễn Tấn Khôi, Nguyễn Thanh Thủy 315 
[12] M. Eck, H. Hoppe, “Automatic reconstruction of B-spline surfaces of arbitrary topological type”, In Proceedings of 
 SIGGRAPH96, ACM Press, pp.325–334, 1996. 
[13] M. Botsch, M. Pauly, C. Rossl, S. Bischoff and L. Kobbelt, “Geometric Modeling Based on Triangle Meshes”, EuroGraphics, 
 2006. 
[14] M. Halstead, M. Kass, T. Derose, “Efficient, fair interpolation using Catmull-Clark surfaces”, In Proceedings of ACM 
 SIGGRAPH 93, pp. 35–44, 1993. 
[15] Neamtu M, “Bivariate simplex B-splines: a new paradigm”, In Proceedings of the 17th spring conference on computer 
 graphics, pp.71–78, 2001. 
[16] Seidel HP, “Symmetric recursive algorithms for surfaces: b-patches and the de Boor algorithm for polynomials over triangles”, 
 Constructive Approximation, 7, 257–279, 1991. 
[17] T. Maekawa, Y. Matsumoto, K. Namiki, “Interpolation by geometric algorithm”, Computer-Aided Design, vol.39, pp.313–323, 
 2007. 
[18] W. Dahmen, C. A. Micchelli, and H. P. Seidel, “Blossoming begets B-spline bases built better by B-patches”, Mathematics of 
 Computation, 59(199), pp 97-115, 1992. 
[19] Y. Kineri, M. Wang, H. Lin, T. Maekawa, “B-spline surface fitting by iterative geometric interpolation/ approximation 
 algorithms”, Computer-Aided Design, vol.44(7), pp.697–708, 2012. 
[20] Y. Nishiyama, M. Morioka, T. Maekawa, “Loop subdivision surface fitting by geometric algorithms”, Poster proceedings of 
 pacific graphics, 2008. 
[21] Y. Xiong, G. Li, A. Mao, “Convergence analysis for B-spline geometric interpolation”, Computers & Graphics, vol.36, 
 pp.884–891, 2012. 
[22] Yu Zhao, Hongwei Lin, “The PIA property of low degree non-uniform triangular B-B patches”, In Proceedings of the 12th 
 International Conference on CAD and CG, pp.239-243, 2011. 
 MODELING LOW DEGREE PARAMETRIC SURFACES 
 FROM TRIANGULAR MESHES 
 BASED ON LOCAL GEOMETRIC FITTING METHOD 
 Nga Le Thi Thu, Khoi Nguyen Tan, Thuy Nguyen Thanh 
ABSTRACT— Reconstruction of parametric surface from triangular mesh, especially for the surfaces with low degree, has 
practical significance and is promising in areas such as reverse engineering, virtual reality and CAGD. This paper introduces a 
novel approach to reconstruct low degree parametric surfaces over the triangular domain, particularly triangular Bezier, B-patch, 
triangular B-spline, based on inverse subdivision scheme and local geometric fitting method. By using a simplified initial triangular 
mesh as a control polyhedron of the parametric surface and adjusting the control points iteratively, the obtained surface crosses 
through most data points of the given mesh without solving any linear system. All control points of the fitting surface, as well as 
knotclouds of its parametric domain, are iteratively adjusted locally to increase the accuracy of the reconstructed surface. The 
experimental results show that proposed method is simple, flexible and can be successfully applied to triangular meshes with 
arbitrary topology. 
Keywords — Parametric surface, triangular mesh, geometric fitting, inverse subdivision, surface reconstruction. 

File đính kèm:

  • pdfmo_hinh_hoa_mat_cong_tham_so_bac_thap_tu_luoi_tam_giac_dua_t.pdf