Bài viết này để xuất kỹ thuật nhằm xác định các vectơ nút của B-spline tam giác bậc 2, 3, 4 dựa trên tỉ lệ độ lớn giữa các góc, cạnh của các tam giác trên miền tham số, áp dụng cho cả các nút bên trong và nút ở biên. Việc xác định các nút được kiểm tra thỏa điều kiện sinh nút, tránh trường hợp cộng tuyến giữa các nút được tạo ra
Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XI Nghiên cứu ứng dụng Công nghệ thông tin (FAIR); Hà Nội, ngày 09-10/8/2018 DOI: 10.15625/vap.2018.00047 NÂNG CAO CHẤT LƯỢNG TÁI TẠO MẶT CONG B-SPLINE TAM GIÁC DỰA TRÊN HIỆU CHỈNH VECTƠ NÚT Lê Thị Thu Nga1, Nguyễn Tấn Khôi2, Nguyễn Thanh Thủy3 Khoa Công nghệ Thông tin, Đại học Quy Nhơn, Việt Nam Khoa Công nghệ Thông tin, Đại học Bách khoa, Đại học Đà Nẵng, Việt Nam Đại học Công nghệ, Đại học Quốc gia Hà Nội, Việt Nam lenga248@gmail.com, ntkhoi@dut.udn.vn, nguyenthanhthuy@vnu.edu.vn TĨM TẮT: Tái tạo mặt cong từ mơ hình lưới mô bề mặt đối đượng 3D vấn đề quan tâm có nhiều ứng dụng thực tiễn Mặt cong tham số B-spline tam giác tái tạo cho phép biểu diễn bề mặt có hình dáng đa dạng, thuận tiện hiệu chỉnh bề mặt thông qua đỉnh điều khiển Bên cạnh đỉnh điều khiển, vị trí vectơ nút miền tham số ảnh hưởng đến hình dáng mặt cong B-spline tam giác Bài viết để xuất kỹ thuật nhằm xác định vectơ nút B-spline tam giác bậc 2, 3, dựa tỉ lệ độ lớn góc, cạnh tam giác miền tham số, áp dụng cho nút bên nút biên Việc xác định nút kiểm tra thỏa điều kiện sinh nút, tránh trường hợp cộng tuyến nút tạo Kết áp dụng trình tái tạo B-spline tam giác từ lưới tam giác 3D ban đầu phương pháp dịch chuyển hình học Thực nghiệm cho thấy chất lượng mặt cong B-splỉne tam giác tái tạo cải thiện rõ rệt Từ khóa: Tái tạo mặt cong, chất lượng tái tạo, B-spline tam giác, vectơ nút, hiệu chỉnh nút I GIỚI THIỆU Mơ hình hình học khơng gian ba chiều đóng vai trị quan trọng q trình mơ phỏng, thiết kế tái tạo bề mặt đối tƣợng vật lý máy tính Bên cạnh mơ hình lƣới đa giác, mặt cong tham số đƣợc sử dụng rộng rãi để mô tả bề mặt 3D đối tƣợng thực Mặt cong tham số không cho phép biểu diễn bề mặt trơn mềm, liên tục, điều chỉnh bề mặt cục thơng qua đỉnh điều khiển; mà cịn tƣơng tác xác đến điểm bề mặt đối tƣợng [5, 8] Nhờ đó, bên cạnh việc biểu diễn bề mặt đối tƣợng máy tính trơng thực hơn, mặt cong tham số cịn đóng vai trò đắc lực cho ứng dụng đòi hỏi khả tƣơng tác với bề mặt đối tƣợng nhƣ: mơ hình hóa hình dạng đối tƣợng ảo, phát va chạm, biến dạng bề mặt, tính tốn phản lực công nghệ thực tế ảo; khôi phục lại bề mặt tái tạo ngƣợc; ánh xạ mẫu nền, kỹ xảo hoạt hình đồ họa máy tính; mơ bề mặt địa hình, xác định độ cao, nếp đứt gãy hệ thống thông tin địa lý; xác định khối lƣợng, diện tích bề mặt tính tốn đặc tính vật lý; tính tốn sức căng, độ truyền nhiệt phƣơng pháp phần tử hữu hạn,… Các mặt cong Bézier, B-spline, NURBS,… miền tham số tứ giác từ lâu trở thành cơng cụ chuẩn công nghiệp hệ thống CAD/CAM [5] Trong ứng dụng mơ hình hóa, để đáp ứng nhu cầu sử dụng ngƣời dùng, ngƣời ta cần khai thác mạnh hai mơ hình lƣới đa giác mặt cong tham số Do đó, nhu cầu chuyển đổi qua lại hai mơ hình cho phép khai thác hiệu ƣu điểm chúng, nhằm hỗ trợ thao tác hiển thị nhƣ phân tích, tƣơng tác với bề mặt đối tƣợng Tái tạo mặt cong từ mơ hình lƣới mơ bề mặt đối đƣợng 3D vấn đề quan tâm có nhiều ứng dụng thực tiễn Các nghiên cứu chủ yếu tái tạo mặt cong phân mảnh mặt cong miền tham số tứ giác nhƣ Bézier, B-spline,…[1, 2, 9, 12] Tuy nhiên, với mặt cong miền tham số tứ giác, để biểu diễn bề mặt có hình dạng bất kỳ, mặt cong cần phải kết nối với Kết thƣờng xuất kẽ hở, nếp gấp, đặc biệt đỉnh đặc biệt (có nhiều tứ giác liền kề) [4, 9] Tái tạo mặt cong miền tham số tam giác, đặc biệt B-spline miền tham số tam giác, gọi Bspline tam giác, đƣợc quan tâm năm gần [7, 10 ] Ƣu điểm mặt cong kết nối liên tục tự động mảnh B-spline liền kề, cho phép biểu diễn bề mặt trơn mềm tồn cục với hình dáng đa dạng hiệu chỉnh bề mặt thông qua đỉnh điều khiển Bên cạnh đỉnh điều khiển, vị trí vectơ nút miền tham số ảnh hƣởng đến hình dáng mặt cong B-spline tam giác [6, 11] Tƣơng tự B-spline tứ giác, B-spline tam giác cho phép biểu diễn mặt cong miền xác định lƣới phẳng tam giác Tuy nhiên, không giống B-spline tứ giác, Bspline tam giác không tƣơng quan với mặt cong Bézier tam giác [3] Do đó, việc xác định vectơ nút mối quan tâm cần phải giải trƣờng hợp cộng tuyến nút Bài viết để xuất kỹ thuật nhằm xác định vectơ nút B-spline tam giác bậc 2, 3, dựa tỉ lệ độ lớn góc, cạnh tam giác miền tham số, áp dụng cho nút bên nút biên Việc xác định nút đƣợc kiểm tra thỏa điều kiện sinh nút, tránh trƣờng hợp cộng tuyến nút đƣợc tạo Kết đƣợc áp dụng trình tái tạo B-spline tam giác từ lƣới tam giác 3D ban đầu phƣơng pháp dịch chuyển hình học Thực nghiệm cho thấy chất lƣợng mặt cong B-splỉne tam giác tái tạo đƣợc cải thiện rõ rệt Phần lại viết gồm nội dung sau: Phần trình bày biểu diễn tốn học, vectơ nút ảnh hƣởng vectơ nút hình dạng mặt cong B-spline tam giác; Phần đề xuất phƣơng pháp xác định vectơ nút miền 354 NÂNG CAO CHẤT LƢỢNG TÁI TẠO MẶT CONG B-SPLINE TAM GIÁC DỰA TRÊN HIỆU CHỈNH VECTƠ NÚT tham số tam giác mặt cong; Phần trình bày kết thực nghiệm; cuối tóm tắt số kết đạt đƣợc II MẶT CONG B-SPLINE TAM GIÁC 2.1 Biểu diễn B-spline tam giác Mặt cong B-spline tam giác bậc n kết hợp tuyến tính Spline đơn hình, tự động kết nối liên tục cấp n-1 mà không cần thực kết nối mảnh cong [3] Gọi T vi ,0 lƣới tam giác phẳng có hình dạng Với đỉnh vi T , thêm vào n+1 nút {vi ,0 , , vi ,n }, với vi , để tạo thành vectơ nút đỉnh Đặt i j k n Với tam giác I (v0 , v1 , v2 ) T , chọn (n 1)(n 2) tập V I {v0,0 , v0,i , v1,0 , v1, j , v2,0 , v2,k } gồm n+3 nút từ vectơ nút liên kết với tam giác I Mỗi tập V I trở thành miền tham số Spline đơn hình M (u | V I ) mặt cong B-spline tam giác bậc n, đạt liên tục C Ảnh tham số u công thức [6]: I , với I n bậc n Kết hợp tuyến tính Spline đơn hình miền tham số tam giác T T , điểm mặt cong B-spline tam giác bậc n, đƣợc xác định (1) N I (u)p I F (u) I T n Trong đó: Các điểm p I đỉnh điều khiển B-spline, tạo thành lƣới điều khiển mặt cong; Hàm N I (u) hàm sở B-spline Đây Spline đơn hình xác định tập nút V I đƣợc chuẩn hóa có tổng 1, với V I N I (u) {v0,i , v1, j , v2, k } : det(V I ) M (u | V I ) (a) (2) (b) Hình Mặt cong B-spline bậc hai (a) miền tham số tƣơng ứng (b) Mặt cong B-spline tam giác có tính chất hình học nhƣ [6,11]: Bất biến phép biến đổi affine, tính bao lồi, điều khiển cục bộ, tính liên tục, biểu diễn bề mặt có hình dạng 2.2 Ảnh hưởng vectơ nút hình dạng mặt cong B-spline tam giác Với mặt cong B-spline tam giác, bên cạnh đỉnh điều khiển, vectơ nút tham gia việc xác định mặt cong Do đó, hình dáng mặt cong không phụ thuộc vào vị trí đỉnh điều khiển mà cịn chịu ảnh hƣởng vị trí nút miền tham số [3, 7] Mặc dù B-spline tam giác tự động liên tục mảnh cong liền kề, nhiên trƣờng hợp đa nút nút vectơ nút nằm cạnh tam giác miền tham số, hình dáng mặt cong thể rõ nét góc cạnh, đứt gãy, giảm độ liên tục Ví dụ, thơng thƣờng để đảm bảo tính liên tục, nút B-spline bậc có dạng nhƣ Trƣờng hợp (Hình 2.a) Tuy nhiên, đặt nút cạnh tam giác thuộc miền tham số B-spline bậc thu đƣợc giảm độ liên tục nhƣ minh họa Trƣờng hợp Hình 3.a Trƣờng hợp bình thƣờng đặc biệt vectơ nút miền tham số, với B-spline kết tƣơng ứng, đƣợc minh họa Hình [6] Lê Thị Thu Nga, Nguyễn Tấn Khôi, Nguyễn Thanh Thủy (a) Trƣờng hợp 355 (b) Trƣờng hợp (c) Trƣờng hợp Hình Các trƣờng hợp bình thƣờng vectơ nút mặt cong B-spline tƣơng ứng (a) Trƣờng hợp (b) Trƣờng hợp (c) Trƣờng hợp Hình Các trƣờng hợp đặc biệt vectơ nút mặt cong B-spline tƣơng ứng III XÁC ĐỊNH VECTƠ NÚT TRÊN MIỀN THAM SỐ TAM GIÁC Miền tham số mặt cong B-spline lƣới tam giác phẳng, đỉnh đƣợc gắn với vectơ nút Các tam giác có chung đỉnh có chung vectơ nút Dựa ý tƣởng nút vectơ nút phải cân đối, tỉ lệ với góc cạnh liên kết với đỉnh gắn với vectơ nút; phần đề xuất cách xác định vị trí nút vectơ nút miền tham số B-spline tam giác bậc 2, Từ hỗ trợ cho việc dựng mặt cong B-spline điều chỉnh vectơ nút trình tái tạo mặt cong Mỗi đỉnh vi miền tham số tam giác liên kết với vectơ nút V Số nút vectơ nút V phụ thuộc vào bậc mặt cong Ví dụ, với mặt cong bậc hai số nút vectơ nút 2, mặt cong bậc ba số nút vectơ nút 3,… Trong đó, nút đỉnh vi hay vi0, nút đƣợc ký hiệu vi1, vi2,…, vij, với j = (n-1) n bậc mặt cong Hình Điều kiện sinh nút: (a), (b), (c) tƣơng ứng với điều kiện (1), (2), (3) 356 NÂNG CAO CHẤT LƢỢNG TÁI TẠO MẶT CONG B-SPLINE TAM GIÁC DỰA TRÊN HIỆU CHỈNH VECTƠ NÚT Dựa trƣờng hợp đặc biệt vectơ nút đƣợc nêu mục II.B, nút vij vectơ nút V ứng với đỉnh vi cần thỏa điều kiện sinh nút nhƣ sau (Hình 4): (1) Các nút vij khơng nằm đƣờng thẳng chứa cạnh chung đỉnh vi; (2) Các nút vij không nằm đƣờng thẳng qua đỉnh vi; (3) Các nút vij không nằm tam giác không chung đỉnh với đỉnh vi Để đảm bảo liên tục, tránh xuất thành phần đứt gãy mặt cong, tam giác thành phần tạo nên miền tham số Spline đơn hình có dạng gần với tam giác cân tốt Do đó, nút đƣợc xác định đỉnh ƣu tiên đặt góc lớn số góc chung đỉnh Điều làm thỏa điều kiện (1), hạn chế nút nằm đƣờng thẳng nhƣ nêu điều kiện (2) Mặt khác, để thỏa điều kiện (3), khoảng cách nút cần tỉ lệ với cạnh ngắn số bậc mặt cong (vì mặt bậc cong hai cần xác định hai nút cho vectơ nút, mặt cong bậc ba cần xác định ba nút cho vectơ nút,…) Ứng với vị trí đỉnh nằm bên hay biên lƣới tam giác phẳng miền tham số, ta cần phải xác định vị trí nút vectơ nút bên (vectơ nút trong) vectơ nút biên (vectơ nút biên) 3.1 Xác định vectơ nút mặt cong B-spline bậc hai Với mặt cong B-spline tam giác bậc hai, vectơ nút V {vi , vi1} đỉnh gồm hai nút Trong đó, nút vi0 đỉnh vi, ta cần xác định vị trí nút vi1 Hình Xác định vectơ nút mặt cong bậc hai: vectơ nút (a) vectơ nút biên (b,c) Xác định vectơ nút Vectơ nút miền tham số mặt cong bậc n = xác định nhƣ sau (Hình 5.a): Xác định tất tam giác chung đỉnh vi; Xác định đƣờng thẳng d qua vi, phân giác góc lớn α số góc có chung đỉnh vi; Xác định khoảng cách D 1/n độ dài cạnh ngắn thuộc tam giác chứa góc lớn α; Nút vi1 đặt bên tam giác có góc lớn α, đƣờng thẳng d cách vi với khoảng cách D; Kiểm tra điều kiện sinh nút Nếu không thỏa điều kiện này, cần thay đổi vị trí đƣờng thẳng d để thỏa điều kiện (1) (2), giảm khoảng cách D để thỏa điều kiện (3) Xác định vectơ nút biên Vectơ nút biên miền tham số mặt cong bậc n = xác định nhƣ sau: Xác định tất tam giác chung đỉnh vi - Nếu có tam giác (Hình 5.b): + Xác định góc α chứa đỉnh vi; + Xác định đƣờng thẳng d qua vi, phân giác góc α; + Xác định khoảng cách D 1/n độ dài cạnh ngắn số hai cạnh có chung đỉnh vi; + Nút vi1 đặt bên ngồi tam giác có góc α, đƣờng thẳng d cách vi với khoảng cách D - Nếu có nhiều tam giác (Hình 5.c): + Xác định góc ngồi β chứa đỉnh vi; + Xác định đƣờng thẳng d qua vi , phân giác góc ngồi β; Lê Thị Thu Nga, Nguyễn Tấn Khôi, Nguyễn Thanh Thủy 357 + Xác định khoảng cách D 1/n độ dài cạnh ngắn số cạnh có chung đỉnh vi ; + Nút vi1 đặt góc ngồi β, đƣờng thẳng d cách vi với khoảng cách D Kiểm tra điều kiện sinh nút Nếu không thỏa điều kiện này, cần thay đổi vị trí đƣờng thẳng d để thỏa điều kiện (1) (2), giảm khoảng cách D để thỏa điều kiện (3) 3.2 Xác định vectơ nút mặt cong B-spline bậc ba Với mặt cong B-spline tam giác bậc ba, vectơ nút V {vi , vi1 , vi } đỉnh gồm ba nút Trong đó, nút vi0 đỉnh vi, ta cần xác định vị trí hai nút vi1 vi2 lại Xác định vectơ nút Vectơ nút miền tham số mặt cong bậc n = đƣợc xác định theo bƣớc nhƣ sau (Hình 6.a): Xác định tất tam giác chung đỉnh vi; Xác định đƣờng thẳng d1, d2 qua vi, phân giác góc lớn α1, lớn thứ hai α2 số góc có chung đỉnh vi; Xác định khoảng cách D1 D2 Trong D1 1/n độ dài cạnh ngắn thuộc tam giác chứa góc lớn α1 D2 1/n độ dài cạnh ngắn thuộc tam giác chứa góc lớn thứ hai α2; Nút vi1 đặt bên tam giác có góc lớn α1, đƣờng thẳng d1 cách vi với khoảng cách D1 Nút vi2 đƣợc đặt bên tam giác có góc lớn thứ hai α2, đƣờng thẳng d2 cách vi với khoảng cách D2; Kiểm tra điều kiện sinh nút Nếu không thỏa điều kiện này, cần thay đổi vị trí đƣờng thẳng d1 d2 để thỏa điều kiện (1) (2), giảm khoảng cách D1 D2 để thỏa điều kiện (3) Hình Xác định vectơ nút mặt cong bậc ba: vectơ nút (a) vectơ nút biên (b,c,d) Xác định vectơ nút biên Vectơ nút biên miền tham số mặt cong bậc n = xác định nhƣ sau: Xác định tất tam giác chung đỉnh vi; - Nếu có tam giác (Hình 6.b) + Xác định góc α chứa đỉnh vi; + Xác định đƣờng thẳng d1, d2 qua vi chia góc α thành ba phần nhau, tƣơng ứng / n 2 / n ; + Xác định khoảng cách D1 D2, D1 1/n độ dài cạnh gần d1 D2 1/n độ dài cạnh gần d2 hơn; 358 NÂNG CAO CHẤT LƢỢNG TÁI TẠO MẶT CONG B-SPLINE TAM GIÁC DỰA TRÊN HIỆU CHỈNH VECTƠ NÚT + Các nút vi1 vi2 đƣợc đặt bên ngồi tam giác có góc α, lần lƣợt đƣờng thẳng d1 d2, cách vi với khoảng cách D1 D2 tƣơng ứng - Nếu có nhiều tam giác + Xác định góc ngồi β chứa đỉnh vi; + Nếu β 180 (Hình 6.d) o Xác định đƣờng thẳng d1, d2 qua vi, phân giác góc lớn α1 lớn thứ hai α2 số góc có chung đỉnh vi; o Xác định khoảng cách D1 D2, D1 1/n độ dài cạnh ngắn thuộc tam giác chứa góc lớn α1 D2 1/n độ dài cạnh ngắn thuộc tam giác chứa góc lớn thứ hai α2 + Các nút vi1 vi2 đặt bên góc β (ngồi tam giác chung đỉnh vi), lần lƣợt đƣờng thẳng d1 d2, cách vi với khoảng cách D1 D2 tƣơng ứng Kiểm tra điều kiện sinh nút Nếu không thỏa điều kiện này, thay đổi vị trí đƣờng thẳng d1 d2 để thỏa điều kiện (1) (2), giảm khoảng cách D1 D2 để thỏa điều kiện (3) 3.3 Xác định vectơ nút mặt cong B-spline bậc bốn Với mặt cong B-spline tam giác bậc bốn, vectơ nút V {vi , vi1 , vi , vi 3} đỉnh gồm bốn nút Trong đó, nút vi0 đỉnh vi, ta cần xác định vị trí nút vi1, vi2 vi3 Xác định vectơ nút Tƣơng tự mặt cong bậc ba, vectơ nút miền tham số mặt cong bậc n = đƣợc xác định nhƣ sau: Xác định tất tam giác chung đỉnh vi; Xác định đƣờng thẳng d1, d2, d3 qua vi, phân giác góc lớn α1, lớn thứ hai α2 lớn thứ ba α3 số góc có chung đỉnh vi; Xác định khoảng cách D1, D2 D3, D1 1/n độ dài cạnh ngắn thuộc tam giác chứa góc lớn α1, D2 1/n độ dài cạnh ngắn thuộc tam giác chứa góc lớn thứ hai α2 D3 1/n độ dài cạnh ngắn thuộc tam giác chứa góc lớn thứ ba α3; Nút vi1 đặt bên tam giác có góc lớn α1, đƣờng thẳng d1 cách vi với khoảng cách D1 Nút vi2 đặt bên tam giác có góc lớn thứ hai α2, đƣờng thẳng d2 cách vi với khoảng cách D2 Nút vi3 đặt bên tam giác có góc lớn thứ ba α3, đƣờng thẳng d3 cách vi với khoảng cách D3; Kiểm tra điều kiện sinh nút Nếu không thỏa điều kiện này, thay đổi vị trí đƣờng thẳng d1, d2, d3 để thỏa điều kiện (1) (2), giảm khoảng cách D1, D2, D3 để thỏa điều kiện (3) Xác định vectơ nút biên Vectơ nút biên miền tham số mặt cong bậc n = xác định nhƣ sau: Xác định tất tam giác chung đỉnh vi; Nếu có hai tam giác - Xác định góc α đƣợc tạo hai cạnh biên có đỉnh chung vi; - Xác định đƣờng thẳng d1, d2, d3 qua vi chia góc α thành bốn phần nhau, tƣơng ứng / n , 2 / n 3 / n ; - Xác định khoảng D1, D2 D3, D1 1/n độ dài cạnh gần d1 hơn, D3 1/n độ dài cạnh gần d3 D2 = (D1 + D3)/2; Lê Thị Thu Nga, Nguyễn Tấn Khôi, Nguyễn Thanh Thủy 359 - Các nút vi1, vi2 vi3 đƣợc đặt bên ngồi góc α, lần lƣợt đƣờng thẳng d1, d2 d3 , cách vi với khoảng cách D1, D2 D3 tƣơng ứng Nếu có nhiều tam giác - Xác định góc ngồi β chứa đỉnh vi ; - Nếu β 180 + Xác định đƣờng thẳng d1, d2, d3 qua vi phân giác góc lớn α1, lớn thứ hai α2 lớn thứ ba α3 số góc có đỉnh chung vi ; + Xác định khoảng cách D1, D2 D3, D1 1/n độ dài cạnh ngắn thuộc tam giác chứa góc lớn α1, D2 1/n độ dài cạnh ngắn thuộc tam giác chứa góc lớn thứ hai α2 D3 1/n độ dài cạnh ngắn thuộc tam giác chứa góc lớn thứ ba α3 - Các nút vi1, vi2 vi3 đƣợc đặt bên góc β (ngồi tam giác chung đỉnh vi), lần lƣợt đƣờng thẳng d1, d2 d3 cách vi với khoảng cách D1, D2 D3 tƣơng ứng Kiểm tra điều kiện sinh nút Nếu không thỏa điều kiện này, thay đổi vị trí đƣờng thẳng d1, d2 d3 để thỏa điều kiện (1) (2), giảm khoảng cách D1, D2 D3 để thỏa điều kiện (3) IV KẾT QUẢ THỰC NGHIỆM Trong trình tái tạo mặt cong B-spline tam giác phƣơng pháp dịch chuyển hình học, để xấp xỉ mặt cong với lƣới tam giác 3D ban đầu, bên cạnh việc điều chỉnh vị trí đỉnh điều khiển, vị trí nút vectơ nút miền tham số đƣợc xác định cập nhật lại Để thấy đƣợc hiệu việc cập nhật vị trí nút vectơ nút trình tái tạo B-spline tam giác, phần tiến hành thử nghiệm liệu mẫu Hat, Mountain Wings [7], tƣơng ứng với ba dạng mặt cong B-spline tam giác bậc 2, 3, Kết đạt đƣợc sau k = bƣớc dịch chuyển hình học Gọi avg độ lệch trung bình tính đƣợc sau bƣớc dịch chuyển thứ k N tỉ lệ hội tụ mặt cong so với lƣới tam giác ban đầu sau k bƣớc dịch chuyển Giá trị N đƣợc xác định tỉ lệ phần trăm số diểm liệu mà mặt cong qua so với tổng số điểm liệu lƣới tam giác ban đầu Thông tin liệu ban đầu mặt cong B-spline tam giác đạt đƣợc thể Bảng Các kết đƣợc thực Intel Core i5 CPU 2.67GHz với 4GB RAM Bảng Các mơ hình thực nghiệm mặt cong tham số kết đạt đƣợc tƣơng ứng Bộ liệu [7] Hat Mountain Wings Lƣới ban đầu B-spline kết Số điểm Số mặt Thời gian (s) N bậc 3681 7168 128 0.004034 91.979% 854 1600 94 0.005159 89.337% 833 1536 107 0.004674 91.475% avg Hình minh họa kết tái tạo mặt cong B-splỉne từ lƣới tam giác ban đầu sau k = bƣớc dịch chuyển hình học Thơng tin chi tiết mơ hình lƣới mặt cong B-spline kết đƣợc liệt kê Bảng Các mơ hình lƣới thử nghiệm liệu Hat (Hình 7.a), Mauntain (Hình 7.b) Wings (Hình 7.c) Trong đó: hàng mô tả lƣới liệu ban đầu, hàng biểu diễn mặt cong đạt đƣợc dịch chuyển đỉnh điều khiển, hàng hiển thị mặt cong đạt đƣợc dịch chuyển đỉnh điều khiển cập nhật vectơ nút, hàng cuối miền tham số mặt cong hàng So với mơ hình Hat Wings, mơ hình Mauntain cho kết có phần thấp ( avg = 0.005159, N =89.337%) Điều lý giải tam giác miền tham số mặt cong (góc dƣới trái miền tham số Hình 7.b) có chất lƣợng chƣa tốt, mặt cong dựng đƣợc từ mơ hình xuất thành phần góc, nhọn Sự phủ lấp lƣới ban đầu so với mặt cong đạt đƣợc hàng cho thấy việc cập nhật vectơ nút mang lại hiệu trình tái tạo mặt cong Hình cho thấy cải thiện rõ rệt chất lƣợng mặt cong B-spline tái tạo đƣợc thơng qua độ lệch trung bình avg (Hình 8.a) tỉ lệ hội tụ N (Hình 8.b) Bằng cách áp dụng đồng thời việc hiệu chỉnh vị trí đỉnh điều khiển cập nhật vị trí nút vectơ nút miền tham số mặt cong trình tái tạo, kết cho thấy độ lệch trung bình avg giảm tỉ lệ hội tụ N tăng so với áp dụng việc cập nhật đỉnh điều khiển 360 NÂNG CAO CHẤT LƢỢNG TÁI TẠO MẶT CONG B-SPLINE TAM GIÁC DỰA TRÊN HIỆU CHỈNH VECTƠ NÚT (a) (b) (c) Hình Các mặt cong B-spline tam giác tái tạo: lƣới ban đầu (hàng 1), mặt cong đạt đƣợc dịch chuyển đỉnh điều khiển (hàng 2), mặt cong đạt đƣợc dịch chuyển đỉnh điều khiển cập nhật vectơ nút (hàng 3), miền tham số mặt cong hàng (hàng 4) ứng với liệu Hat (a), Mauntain (b) Wings (c) (a) Hình So sánh chất lƣợng mặt cong B-spline đạt đƣợc theo: độ lệch trung bình avg (a) tỉ lệ hội tụ N (b) (b) Lê Thị Thu Nga, Nguyễn Tấn Khôi, Nguyễn Thanh Thủy 361 V KẾT LUẬN Mặt cong tham số B-spline tam giác có ƣu điểm vƣợt trội, liên tục tự động mảnh liền kề mà không cần kết nối B-spline tam giá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 đa dạng, hứa hẹn nhiều ứng dụng thực tiễn Bên cạnh đỉnh điều khiển vectơ nút miền tham số đóng vai trị quan trọng việc điều chỉnh hình dáng mặt cong Dựa tỉ lệ độ lớn góc, cạnh tam giác miền tham số, kết hợp với điều kiện sinh nút, viết đề xuất kỹ thuật xác định vị trí nút vectơ nút miền tham số B-spline tam giác Kỹ thuật đƣợc áp dụng cho nút bên biên miền tham số, đồng thời tránh trƣờng hợp cộng tuyến nút đƣợc tạo Nhờ mặt cong đạt đƣợc đảm bảo độ liên tục, không xuất vùng gián đoạn, đứt gãy Kết đƣợc áp dụng cho trình tái tạo B-spline tam giác bậc 2, từ lƣới tam giác ban đầu phƣơng pháp dịch chuyển hình học Chất lƣợng B-spline tái tạo cải thiện rõ rệt thông qua độ lệch trung bình giảm tỉ lệ hội tụ tăng VI TÀI LIỆU THAM KHẢO [1] A Abbas, A Nasri, T Maekawa “Generating B-spline curves with points, normals and curvature constraints: a constructive approach” The Visual Computer, vol.26(6–8), pp.823–829, 2010 [2] 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 [3] K Christopher, Ingram “A Geometric B-Spline Over the Triangular Domain” M S Mathematics thesis, 2003 [4] M Eck, H Hoppe “Automatic reconstruction of B-spline surfaces of arbitrary topological type” In Proceedings of SIGGRAPH96, ACM Press, pp.325–334, 1996 [5] G Farin Curves and Surfaces for Computer Aided Geometric Design: A Practical Guide Morgan Kaufmann, San Mateo, 5th edition, 2002 [6] P Fong and H Seidel An implementation of triangular B-spline surfaces over arbitrary triangulations Computer Aided Geometric Design, 10:267275, 1993.jaj and A Gillette Geometric Modeling 2010 [7] M Franssen, R Veltkamp, and W Wesselink Efcient evaluation of triangular B-spline surfaces Computer Aided Geometric Design, 17:863877, 2000 [8] G Greiner “Geometric modeling” Lecture in Winter Term, 2010 [9] 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 [10] M Liu, B Li, and et al Progressive iterative approximation for regularized least square bivariate B-spline surface fitting Journal of Computational and Applied Mathematics, 327:175187, 2018 [11] H Seidel Symmetric recursive algorithms for surfaces: B-patches and the de boor algorithm for polynomials over triangles Constructive Approximation, 7:257279, 1991 [12] D Yoo “Three-dimensional surface reconstruction of human bone using a B-spline based interpolation approach”, Computer-Aided Design, vol.43(8), pp.934–947, 2011 IMPROVE QUALITY OF RECONSTRUCTED TRIANGULAR B-SPLINE BY MODIFYING KNOT-VECTORS Nga Le Thi Thu1, Khoi Nguyen Tan2, Thuy Nguyen Thanh3 Quynhon University, Vietnam Danang University of Science and Technology Danang, Vietnam Vietnam National University Hanoi, Vietnam lenga248@gmail.com, ntkhoi@dut.udn.vn, nguyenthanhthuy@vnu.edu.vn ABSTRACT: Reconstruction of smooth surfaces from the 3D meshes has been applied in many fields and has practical significance The reconstructed triangular B-spline allows modeling an object surface with arbitrary shape and suit to modify a surface through its control points Similar to the position of the control points, the configuration of the knot-vectors also partially affects the result of the surface reconstruction This paper proposes a technique for locating knot-vectors over the triangular parametric domain of the 2,3,4 degree B-splines This approach is that based on the ratio between angles and edges of triangles over the parametric domain, applied on both inner knots and border knots The created knots have to satisfy the conditions of knot generation, avoids collinearity of these knots This result is applied to reconstruction of triangular B-spline from a 3D mesh based on geometric fitting method The experimental examples show that quality of reconstructed triangular B-splines is obviously improved Keywords: Reconstruct surface, improve quality, triangular B-spline, knot-vector, modify knot ... khiển 360 NÂNG CAO CHẤT LƢỢNG TÁI TẠO MẶT CONG B-SPLINE TAM GIÁC DỰA TRÊN HIỆU CHỈNH VECTƠ NÚT (a) (b) (c) Hình Các mặt cong B-spline tam giác tái tạo: lƣới ban đầu (hàng 1), mặt cong đạt đƣợc...354 NÂNG CAO CHẤT LƢỢNG TÁI TẠO MẶT CONG B-SPLINE TAM GIÁC DỰA TRÊN HIỆU CHỈNH VECTƠ NÚT tham số tam giác mặt cong; Phần trình bày kết thực nghiệm; cuối tóm tắt số kết đạt đƣợc II MẶT CONG B-SPLINE. .. tham số tam giác liên kết với vectơ nút V Số nút vectơ nút V phụ thuộc vào bậc mặt cong Ví dụ, với mặt cong bậc hai số nút vectơ nút 2, mặt cong bậc ba số nút vectơ nút 3,… Trong đó, nút đỉnh