TỔNG QUAN VỀ THỰC TẠI ẢO VÀ MÔ HÌNH DẠNG SỢI
Tổng quan về đồ họa máy tính và thực tại ảo
1.1.1 Khái quát về đồ họa máy tính
Lịch sử đồ họa máy tính bắt đầu từ thập niên 1960 với dự án SketchPad do Ivan Sutherland phát triển tại Học viện Công nghệ Massachusetts (MIT), đánh dấu sự ra đời của việc hiển thị và thay đổi dữ liệu hình ảnh trực tiếp trên màn hình máy tính Hiện nay, đồ họa máy tính đã trở thành một lĩnh vực phổ biến trong công nghệ thông tin, với nhiều quan điểm khác nhau Tuy nhiên, đồ họa máy tính được hiểu là một lĩnh vực của khoa học máy tính nghiên cứu về toán học, thuật toán và kỹ thuật để tạo, hiển thị và điều khiển hình ảnh trên màn hình Nó liên quan đến các lĩnh vực như đại số, hình học giải tích, quang học, và kỹ thuật máy tính, đặc biệt là trong chế tạo phần cứng như màn hình và vi mạch đồ họa.
Đồ họa máy tính là phương pháp và công nghệ chuyển đổi dữ liệu thành hình ảnh trên màn hình máy tính, sử dụng các kỹ thuật tạo hình ảnh từ mô hình toán học để mô tả các đối tượng và dữ liệu thực tế.
Với sự tiến bộ vượt bậc của công nghệ phần cứng và phần mềm, đồ họa máy tính đã phát triển từ việc mô hình hóa và hiển thị các đối tượng vật thể thực đến khả năng tương tác, cho phép con người điều khiển và tương tác với các đối tượng trong môi trường ảo giống như trong thế giới thực Thực tại ảo hiện nay là một lĩnh vực quan trọng trong đồ họa máy tính.
1.1.2 Khái quát về thực tại ảo
Có nhiều khái niệm khác nhau về thực tại ảo, song một cách chung nhất có thể định nghĩa như sau:
Thực tại ảo là môi trường ba chiều được tạo ra và điều khiển bởi máy tính, nhằm mô phỏng thế giới thực hoặc thế giới tưởng tượng Người dùng có thể tương tác với các đối tượng trong thế giới ảo thông qua thiết bị ngoại vi, cho phép họ di chuyển và cảm nhận vật thể như trong thế giới thực Thiết bị ngoại vi chuyển hoạt động của người dùng thành tín hiệu, giúp tạo ra các tương tác trong môi trường ảo, trong khi môi trường cũng phản hồi lại người dùng thông qua các thiết bị này.
Các thiết bị ngoại vi trong lĩnh vực thực tại ảo ngày càng trở nên hiện đại và đa dạng Trong số đó, hệ thống HMD (Head-Mounted Display) là một trong những thiết bị quan trọng nhất, đóng vai trò then chốt trong việc mang đến trải nghiệm thực tế ảo sống động và chân thực cho người dùng.
Hệ thống HMD bao gồm hai màn hình gắn vào mắt, cho phép người dùng trải nghiệm thế giới ảo như trong thực tế Thiết bị nhạy bén này xác định chính xác vị trí và góc quay của người dùng, từ đó tính toán góc nhìn và vị trí trong không gian ảo.
Ngoài ra, còn có một hệ thống tương tự như HMD là BOOM (Binocular
Một số công nghệ màn hình thực tế ảo như Omni-Orientation Monitor và BOOM có một số điểm khác biệt đáng chú ý Trong khi Omni-Orientation Monitor sử dụng mũ gắn trên đầu, BOOM lại sử dụng một cần gắn màn hình vào một đầu có tay cầm ở màn hình Khi người dùng nhìn vào màn hình và dịch chuyển nó, thiết bị sẽ nhạy bén theo dõi và điều chỉnh góc nhìn, vị trí nhìn của người dùng Điều này tạo nên sự khác biệt giữa hai hệ thống, bao gồm Hệ thống HMD và Hệ thống BOOM.
Hình 1.1 Hệ thống thiết bị
Hiện nay, công nghệ đang phát triển mạnh mẽ với nhiều thiết bị hiện đại, giúp con người tiếp cận thực tại ảo một cách tốt hơn Các thiết bị như găng tay dữ liệu, áo dữ liệu và các công cụ đầu vào ba chiều như máy quét 3 chiều, máy quay 3 chiều đang ngày càng trở nên phổ biến.
Thực tại ảo là một môi trường 3D phức tạp, yêu cầu xử lý một lượng lớn thông tin đồ họa biến đổi liên tục Để truy cập bộ nhớ đồ họa hiệu quả, cần sử dụng các phương pháp truy cập trực tiếp và bộ tăng tốc đồ họa thay vì các phương pháp truyền thống Do đó, phần mềm như DirectX, OpenGL và MiniGL trở thành công cụ quan trọng để điều khiển và tối ưu hóa hiệu suất đồ họa trong các ứng dụng thực tế ảo.
1.1.3 Các lĩnh vực ứng dụng cơ bản của thực tại ảo
Thực tại ảo được ứng dụng vào nhiều lĩnh vực trong đời sống xã hội, dưới đây minh hoạ một số lĩnh vực ứng dụng cụ thể:
Trong lĩnh vực khoa học quân sự và quốc phòng, thực tại ảo đang được ứng dụng đa dạng, bao gồm huấn luyện quân lính, thử nghiệm vũ khí và phương tiện chiến tranh, cũng như bản đồ hóa các khu vực.
Giáo dục và đào tạo đang được cách mạng hóa nhờ thực tại ảo, trở thành công cụ hữu hiệu cho việc học tập, đặc biệt là với trẻ em Bên cạnh đó, công nghệ này cũng đóng vai trò quan trọng trong việc đào tạo các ngành nghề cần thực hành, như huấn luyện phi công và lái xe.
Ứng dụng thực tại ảo trong y học đang phát triển mạnh mẽ, đặc biệt tại Mỹ Các bác sĩ có thể thực hiện phẫu thuật trong môi trường ảo mà không cần bệnh nhân thực, tạo điều kiện cho việc luyện tập và nâng cao kỹ năng Hơn nữa, công nghệ này cũng cho phép phẫu thuật từ xa, mở ra cơ hội cho các bác sĩ kết nối và hỗ trợ bệnh nhân ở những địa điểm khác nhau.
Thiết kế xây dựng hiện nay đã được nâng tầm nhờ sự hỗ trợ của công nghệ thực tại ảo, giúp các bản thiết kế không chỉ dừng lại ở hình ảnh mà gần như trở thành sản phẩm thực tế Người dùng không chỉ có thể xem hình ảnh trực quan của thiết bị mà còn có khả năng tương tác và sử dụng chúng một cách trực tiếp.
Khoa học cơ bản đang ngày càng ứng dụng thực tại ảo, đặc biệt trong các lĩnh vực như vật lý, hóa học, khảo cổ học, sinh học và vũ trụ Trong vật lý, công nghệ này cho phép mô phỏng chính xác các hiện tượng một cách trực quan Trong khảo cổ học, thực tại ảo giúp tái hiện các kiến trúc đã bị chôn vùi và mô phỏng các thời kỳ tự nhiên, mang đến cái nhìn sâu sắc về quá khứ.
Thực tại ảo đang đóng vai trò quan trọng trong thương mại và du lịch Trong ngành quảng cáo, nó giúp khách hàng tiếp cận sản phẩm và đánh giá chất lượng mà không cần phải xem hàng trực tiếp Bên cạnh đó, trong du lịch, thực tại ảo cho phép khách hàng khám phá cảnh quan điểm đến, đảm bảo rằng họ sẽ có một chuyến đi thú vị.
Khái quát mô hình hóa và mô phỏng trong thực tại ảo
1.2.1 Mô hình hóa trong thực tại ảo
1.2.1.1 Tổng quan về mô hình hóa 3D
Trong kỹ thuật biểu diễn, người ta phân thành 2 nhóm : Mô hình hóa vật thể và Mô hình hóa hình học
Kỹ thuật mô hình hóa hình học, ban đầu phát triển trong ngành công nghiệp tự động hóa để thiết kế hình dạng xe hơi, hiện nay đã được mở rộng ứng dụng sang các lĩnh vực như hàng không, hải quân và nhiều ngành khác Mô hình này đóng vai trò quan trọng trong việc điều khiển hình dạng, góp phần nâng cao hiệu quả thiết kế và sản xuất.
Kỹ thuật mô hình hóa vật thể sử dụng thông tin đầy đủ và chính xác để biểu diễn rõ ràng một đối tượng trong không gian Công nghệ này cho phép tạo ra các mô hình trên máy tính, với khả năng phân loại mọi điểm trong không gian ba chiều, bao gồm các điểm nằm bên trong, bên ngoài hoặc trên bề mặt của đối tượng.
Hai mô hình cơ bản của ứng dụng đồ họa bao gồm mô hình dựa trên số hóa và mô hình dựa trên đặc trưng hình học Ứng dụng đồ họa dựa trên số hóa tạo ra các đối tượng bằng lưới điểm ảnh rời rạc, có thể được tạo ra từ các chương trình vẽ hoặc máy quét, với mỗi điểm ảnh mô tả tọa độ và giá trị mẫu Ưu điểm của mô hình này là khả năng dễ dàng thay đổi màu sắc và vị trí của điểm ảnh, cũng như di chuyển vùng ảnh Tuy nhiên, nhược điểm là không thể xem xét đối tượng từ nhiều góc nhìn khác nhau Ngược lại, ứng dụng đồ họa dựa trên đặc trưng hình học lưu trữ các đối tượng như đoạn thẳng và đa giác thông qua mô hình và thuộc tính, cho phép người sử dụng thao tác trên các thành phần hình học thay vì trên từng điểm ảnh.
Việc tạo mô hình 3 chiều thường được thực hiện thông qua máy quét 3 chiều hoặc các phần mềm chuyên dụng Hiện nay, có nhiều phần mềm 3D khác nhau như Maya, 3DS Max, Bryce 3D, InfiniD và Soft Image, trong đó Maya và 3DS Max được đánh giá là mạnh nhất và phổ biến nhất Cả hai phần mềm này đều sử dụng công nghệ chuẩn 3 chiều.
Trong khuôn khổ đề tài này, việc phát triển các mô hình 3 chiều gắn liền với các hiện tượng là điều cần thiết Luận văn trình bày phương pháp tiếp cận để tạo ra mô hình 3 chiều bằng cách kết hợp hai phần mềm phổ biến hiện nay là Maya và 3DS Max.
Phần mềm Maya, 3DS Max và các công cụ tạo mô hình 3D khác cho phép người dùng mô phỏng thế giới thực thông qua việc sử dụng các đối tượng nguyên thủy như hình cầu, hình trụ, hình hộp, mặt phẳng và đường cong Bằng cách áp dụng các thao tác như dịch chuyển, xoay và co giãn, cùng với các kỹ thuật chỉnh sửa như cắt xén, mở rộng và thêm bớt, người dùng có thể tạo ra các đối tượng 3D theo ý muốn, phản ánh chính xác thực tế.
Hình 1.2 Từ trái sang phải là các thao tác dịch chuyển, xoay, co giãn, ứng với mỗi trục toạ độ là một màu
Các đối tượng sẽ được bổ sung xương (nếu cần thiết) và các đặc điểm bề mặt như màu sắc, da, tóc, mắt, nhằm tạo ra những chuyển động mô phỏng sinh động, phản ánh chân thực các biểu hiện của chúng trong thế giới thực.
Khi sử dụng phần mềm, người dùng sẽ thao tác trên bốn khung nhìn khác nhau của đối tượng, cho phép quan sát đối tượng từ nhiều góc độ đồng thời Điều này giúp nâng cao khả năng hiểu biết và tương tác với đối tượng một cách hiệu quả hơn Các hình ảnh minh họa dưới đây sẽ làm rõ hơn về tính năng này.
Hình 1.3 Các khung nhìn khác nhau
Hệ trục tọa độ 3 chiều XYZ được thể hiện với trục Y màu xanh lam, trục X màu đỏ và trục Z màu xanh đậm Khung làm việc ở góc trên bên phải cho phép người dùng thực hiện các thao tác trong không gian 3D.
Ba chiều và ba góc còn lại cho phép chúng ta làm việc trên ba mặt cắt của mô hình Với các khung nhìn này, việc thao tác trở nên dễ dàng hơn; khi có sự thay đổi ở một khung nhìn, nó sẽ tạo ra hiệu ứng đối với các khung nhìn khác.
Hệ tọa độ UV là một hệ thống tọa độ quan trọng, bao gồm hai chiều: chiều ngang từ trái sang phải và chiều dọc từ dưới lên trên, tương tự như các đường kinh tuyến và vĩ tuyến trên bề mặt trái đất Hệ tọa độ này chủ yếu được áp dụng trong việc thêm các tính chất bề mặt cho mô hình, giúp cải thiện độ chính xác và tính chân thực của các mô phỏng.
1.2.1.3 Các kỹ thuật dựng hình chính 3D
Qua nghiên cứu các phần mềm dựng mô hình khác nhau cho thấy, nói chung làm việc trong môi trường 3D có các công tác chính sau:
Kỹ thuật tạo mô hình (modelling) là quá trình sử dụng các công cụ dựng hình để tạo ra và chỉnh sửa các mô hình theo ý muốn, từ đó hình thành nên các vật thể 3D.
Kỹ thuật hoạt hoá nhân vật (animation) bao gồm các thao tác gắn nhân vật với một tập hợp các khoá (key), trong đó mỗi khoá đại diện cho vị trí và hình dạng của nhân vật tại những thời điểm khác nhau Sự chuyển động của nhân vật được thể hiện thông qua các vị trí khoá này, tạo nên sự sống động và chân thực cho nhân vật trong quá trình hoạt hình.
- Kỹ thuật kết xuất (rendering): Đây là phần để gán vật liệu lên các nhân vật và tạo kết xuất ;
Kỹ thuật tạo mô hình (Modeling) là quá trình xây dựng khung xương cho các đối tượng, tương tự như việc hình thành cơ thể con người Sau khi tạo ra mô hình cơ bản, kỹ thuật thể hiện (rendering) sẽ được áp dụng để thêm chi tiết và "da thịt" cho đối tượng Cuối cùng, kỹ thuật tạo hoạt họa (animation) giúp mang lại sự sống động và chuyển động cho mô hình Các giai đoạn này được minh họa rõ ràng trong hình 1.4 và hình 1.5.
Hình 1.4 Khung dựng của một quả bóng, được tạo ra sau bước tạo mô hình
Hình 1.5 Quả bóng sau khi đã qua bước thể hiện
Với đề tài này, chúng tôi tập trung vào việc nghiên cứu các kỹ thuật tạo đối tượng và kết xuất, chủ yếu xoay quanh hai phần việc chính là mô hình hóa và kết xuất.
Khái quát về đối tượng dạng sợi và mô phỏng
1.3.1 Khái quát về đối tượng dạng sợi Đối tượng có một vai trò quan trọng góp phần tạo nên một môi trường thực tại ảo, vì thực tại ảo thực chất là môi trường 3D gồm có các đối tượng (3D) được sắp xếp, bố trí theo một trật tự logic theo thực tế và có thể tương tác, chuyển động tùy thuộc vào từng loại đối tượng khác nhau Đối tượng trong thực tại ảo có thể là đối tượng tĩnh, động và đối tượng tổng hợp cả tĩnh và động, đối tượng tồn tại dưới nhiều hình dạng khác nhau phù hợp với các đối tượng trong thực tế, có đối tượng dạng khối, sợi, Trong bài báo này, nhóm tác giả tập trung vào nghiên cứu đề xuất kỹ thuật nâng hiệu quả mô phỏng đối tượng dạng sợi như: tóc, lưới, vải,
Mô hình hóa và mô phỏng đối tượng dạng sợi có yêu cầu khác nhau tùy thuộc vào từng ứng dụng cụ thể Đối với những ứng dụng không yêu cầu tính trung thực cao nhưng cần tốc độ tính toán nhanh, mô hình hóa có thể thực hiện ở mức thô Ngược lại, các ứng dụng yêu cầu tính trung thực cao và chuyển động tương tác cần mô hình hóa ở mức tinh, sử dụng mô hình toán học để biểu diễn đối tượng Bài báo này tập trung vào nghiên cứu mô phỏng đối tượng dạng sợi ở mức tinh với sự hỗ trợ của mô hình toán học Đối tượng dạng sợi thường là những vật thể động như tóc, lưới, và vải, do đó việc biểu diễn chúng bằng mô hình toán học là cần thiết để thể hiện các thành phần biến như lực hấp dẫn và trọng lực Nhiều nhà khoa học trong nước và quốc tế đang nghiên cứu và đề xuất các phương pháp khác nhau, trong đó các mô hình toán học như đường cong Spline, Be’zier, và đặc biệt là mô hình NURBS (Non-Uniform Rational B-Spline) được sử dụng phổ biến.
Việc sử dụng NURBS để biểu diễn và mô phỏng các đối tượng dạng sợi như lưới, tóc hay vải là rất phù hợp, do chúng thường có tính chất động và cục bộ Nhiều nghiên cứu, bao gồm công trình của Xu và cộng sự, Noble và cộng sự, cùng Anna Sokol, đã áp dụng NURBS tổng quát để mô phỏng sự tương tác và chuyển động của tóc.
Hình 1.6 Mô phỏng sợi tóc theo Anna Sokol
Các nhóm tác giả House and Breen [7], Baraff and Witkin [6], Fan and Zhu
[8] sử dụng mô hình NURBS tổng quát để mô phỏng các sợi và mảnh vải, những tương tác của vải
Hình 1.7 Mô phỏng sợi, mảnh vải
NURBS tổng quát là công cụ hiệu quả để mô hình hóa và mô phỏng các đối tượng có hình dạng sợi, mảnh, cũng như những đặc tính cục bộ và không đều.
Một trong những thách thức lớn đối với các nhà khoa học và nhà nghiên cứu trong việc phát triển công cụ phần mềm cho mô hình hóa và mô phỏng các đối tượng 2D và 3D là tốc độ xử lý Thực tế cho thấy rằng dữ liệu trong các bài toán mô hình hóa thường rất lớn, gây ảnh hưởng đáng kể đến quá trình mô phỏng Trong khi đó, NURBS tổng quát chủ yếu tập trung vào việc cải thiện chất lượng mô hình của các đối tượng.
Trong báo cáo luận văn thạc sỹ, tác giả tập trung vào mô phỏng thử nghiệm đối với đối tượng dạng sợi, mảnh là những sợi tóc, mái tóc,
1.3.2 Vai trò của mô phỏng tóc trong thực tại ảo
Mái tóc đẹp không chỉ là niềm tự hào của mỗi người, đặc biệt là phụ nữ, mà còn phản ánh tầm quan trọng của vẻ ngoài Câu tục ngữ "Cái răng, cái tóc là góc con người" cho thấy rằng mái tóc đóng vai trò quan trọng trong việc tạo dựng hình ảnh cá nhân Nó giúp chúng ta nhận diện bạn bè và người thân qua kiểu dáng và đặc điểm riêng Một mái tóc đẹp không chỉ làm tăng sự duyên dáng mà còn có thể góp phần vào thành công trong sự nghiệp trong bối cảnh xã hội hiện đại.
Mái tóc của con người thường có hơn 100 nghìn sợi, và thông qua tóc, chúng ta có thể phân biệt giới tính, chủng tộc, và thậm chí dự đoán tính cách của một người dựa vào kiểu dáng tóc của họ.
Việc thiết kế mô hình tóc trong thực tại ảo ngày càng trở nên quan trọng, không chỉ giúp mô phỏng thế giới thực mà còn là yếu tố nổi bật trong sự phát triển của các ngành công nghệ cao như kỹ xảo điện ảnh và game online Những mô hình tóc được thiết kế tinh tế cho phép nhà sản xuất tạo ra các nhân vật với sắc thái và tính cách phong phú Hơn nữa, mô hình tóc cũng đóng vai trò quan trọng trong lĩnh vực an ninh, hỗ trợ xây dựng lại khuôn mặt tội phạm từ mô tả của nhân chứng, từ đó thúc đẩy quá trình điều tra Thành công trong thiết kế mô hình tóc còn mở ra cơ hội phát triển mô hình lông, giúp nâng cao khả năng biểu diễn và mô phỏng các đối tượng trong thế giới thực.
Việc tạo ra các mô hình tóc với nhiều mẫu mã, kiểu dáng và màu sắc khác nhau đóng vai trò quan trọng trong quá trình thực hiện các hiệu ứng tương tác, đặc biệt khi phối cảnh trong không gian có các yếu tố như gió, nước và trọng lực Công việc mô phỏng tóc đòi hỏi nhiều thời gian, công sức và trí tuệ, không phải là nhiệm vụ có thể hoàn thành nhanh chóng.
Hiệu ứng tóc là một yếu tố thiết yếu trong hệ thống mô phỏng con người ảo, mang lại cảm giác chân thực và lôi cuốn cho hình ảnh không phải thật Nó tạo ra sự hài hòa và nhẹ nhàng trong các chuyển động của đối tượng, giúp người xem cảm nhận sâu sắc hơn về thế giới ảo Việc thể hiện thành công hiệu ứng tóc không chỉ nâng cao chất lượng hình ảnh mà còn tạo ra giá trị thực cho cuộc sống con người, khẳng định vai trò quan trọng của chất liệu tóc trong mô phỏng con người ảo.
Kỹ thuật mô hình hóa và điều khiển các mô hình đối tượng đóng vai trò quan trọng trong nhiều lĩnh vực như khoa học, công nghệ, sản xuất và an ninh quốc phòng Việc xây dựng mô hình toán học chính xác với thực tế là ưu tiên hàng đầu của các chuyên gia trong lĩnh vực điều khiển Nghiên cứu và mô hình hóa các đối tượng để phục vụ cho mô phỏng, đặc biệt là khi xem xét các yếu tố chất liệu, đang trở thành một hướng nghiên cứu nổi bật trong lĩnh vực thực tại ảo.
Luận án này tập trung vào việc mô phỏng chất liệu tóc trong hệ thống mô phỏng con người ảo, với mục tiêu nghiên cứu sâu về đặc tính của tóc như một loại chất liệu cụ thể Điều này có ý nghĩa quan trọng trong việc phát triển các mô hình 3D chính xác và chân thực hơn cho các đối tượng ảo, khi mà chất liệu có nhiều loại khác nhau như gỗ, nước, vải, kim loại, và lông.
Tóc là thành phần thiết yếu không chỉ của con người mà còn của động vật, đóng vai trò quan trọng trong nhiều nghiên cứu và ứng dụng thực tiễn Việc mô phỏng tóc không chỉ phục vụ cho con người mà còn là cơ sở cho việc mô phỏng lông của các loài động vật khác nhau Do đó, tóc được ứng dụng rộng rãi trong việc mô phỏng trên nhiều đối tượng khác nhau trong cuộc sống.
Trong mô phỏng con người ảo, tóc đóng vai trò quan trọng trong việc tạo ra hình ảnh chân thực của nhân vật Tóc không chỉ đa dạng về kiểu dáng, màu sắc mà còn có sự tương tác phức tạp giữa các sợi tóc và với các đối tượng khác Do đó, để mô phỏng tóc một cách chính xác, cần dựa vào các đặc trưng cấu trúc và hình dạng của tóc Tuy nhiên, việc xây dựng một cấu trúc tóc với sự chuyển động và hình ảnh trực quan vẫn gặp nhiều thách thức.
Một trong những khâu quan trọng trong việc mô phỏng tóc trên hệ thống con người ảo là xây dựng và điều khiển các mô hình tóc Mục tiêu là tạo ra sự chân thực cho mô hình tóc ảo, giúp nó gần gũi và giống với tóc thật trong cuộc sống.
Kết luận và vấn đề nghiên cứu
Chương này đã trình bày tổng quan về nghiên cứu mô phỏng khái quát các đối tượng dạng sợi, mảnh trong thực tại ảo, cụ thể:
Nghiên cứu tổng quan về đồ họa máy tính và thực tại ảo tập trung vào mô hình hóa 3D, các phương pháp mô hình hóa và dựng hình 3D Bài viết cũng đề cập đến vai trò quan trọng của mô phỏng và công nghệ mô phỏng trong việc nâng cao trải nghiệm thực tại ảo, giúp người dùng tương tác và khám phá môi trường 3D một cách sống động và chân thực.
Nghiên cứu tổng quan về mô phỏng đối tượng dạng sợi và mảnh đã dẫn đến việc đề xuất nghiên cứu thử nghiệm đối tượng dạng sợi, cụ thể là sợi tóc, mảnh tóc và mái tóc trên con người ảo Bài viết cũng giới thiệu vai trò quan trọng của tóc trong cuộc sống và mô hình hóa, điều khiển các mô hình tóc trên hệ thống con người ảo, nhằm nâng cao tính chân thực và tương tác trong các ứng dụng ảo.
MỘT SỐ KỸ THUẬT MÔ PHỎNG ĐỐI TƯỢNG DẠNG SỢI
Kỹ thuật mô phỏng đối tượng dạng ảnh dựa vào Texture mapping
Trong mô phỏng đối tượng dạng sợi như tóc, một phương pháp phổ biến là mô phỏng dưới dạng khối, cho phép chuyển đổi từ ảnh 2D sang mô hình 3D Tuy nhiên, phương pháp này có thể gây ra biến dạng và lồi lõm, ảnh hưởng đến quá trình ánh xạ, đặc biệt khi mô hình 3D có hình dạng cong Để giảm thiểu độ cong và khắc phục biến dạng, các nhà nghiên cứu đã chia mô hình 3D thành nhiều vùng khác nhau, như Lee và cộng sự chia thành 10 vùng, Kim và Neumann chia thành 4 vùng, và Liang cùng Huang chia thành 3 vùng.
Luận văn này giới thiệu một kỹ thuật mô phỏng đối tượng dạng sợi như tóc dưới dạng ảnh, thông qua việc phân chia mô hình 3D thành các vùng tương ứng Kỹ thuật này cho phép ánh xạ các ảnh 2D lên các vùng 3D một cách hiệu quả, đồng thời giảm bớt độ cong của mô hình 3D Điều này không chỉ giúp việc ánh xạ ảnh trở nên thuận lợi hơn mà còn linh hoạt trong việc mô phỏng nhiều kiểu sợi tóc khác nhau.
Trong luận văn này, sử dụng mô hình 3D là mô hình da đầu như sau:
Hình 2.1 Phân chia mô hình da đầu 3D thành 6 vùng
2.1.3 Ánh xạ các ảnh sợi 2D lên các vùng của mô hình 3D tương ứng
Báo cáo này sử dụng mô hình sợi tóc và mô hình da đầu 3D để thể hiện một cách tiện lợi Để ánh xạ các ảnh sợi 2D lên các vùng tương ứng của mô hình 3D, chúng tôi chuẩn bị 6 ảnh tóc 2D có kích thước phù hợp với từng vùng da đầu Những bức ảnh này thể hiện kiểu tóc mà chúng tôi muốn mô tả cho các nhân vật Hình 2.2 minh họa các ảnh tóc tương ứng với vùng lưới da đầu của nam giới, bao gồm 6 ảnh che phủ 2D và 6 vùng da đầu.
Hình 2.2 Ảnh che phủ (ảnh tóc) lên vùng lưới da đầu 3D
Ánh xạ ảnh tóc hai chiều sang các vùng da đầu ba chiều là quá trình thực hiện hàm biến đổi f j, với j từ 1 đến 6 Để giải quyết vấn đề này, có thể áp dụng một trong hai phương pháp sau đây.
Cách đầu tiên để xác định ánh xạ f j là xem mỗi ảnh tóc 2D như một bề mặt trong không gian R3 Ánh xạ này được thiết lập dựa trên các cặp điểm tương ứng (P i , ) với i=1 n, trong đó P i là các điểm trên ảnh tóc và các điểm tương ứng nằm trên vùng da đầu.
Việc tìm này thường dựa trên một tiêu chuẩn tối ưu nào đó, chẳng hạn tổng độ lệch bình phương tối thiểu P ' f ( P ) min n
P Điều này dẫn đến hệ phương trình:
Việc giải hệ phương trình tuyến tính này thường là phức tạp và phụ thuộc vào việc lựa chọn các cặp điểm điều khiển (P i , ) trước đó
Hình dưới đây minh họa quá trình ánh xạ ảnh tóc hai chiều lên vùng da đầu ba chiều thông qua ánh xạ f j
Hình 2.3 Ánh xạ mảng tóc 2D lên vùng da đầu 3D
Cách thứ hai là chiếu vùng da đầu 3D xuống mặt phẳng 2D, biến bài toán ánh xạ các ảnh tóc 2D lên vùng da đầu 3D thành bài toán ánh xạ các ảnh tóc 2D sang các vùng da đầu 2D Điều này được thực hiện thông qua ánh xạ f j tương ứng với cặp điểm điều khiển (P i, ).
Hình 2.4 Ánh xạ ảnh tóc 2D sang vùng da đầu 2D
2.1.4 Nội suy các điểm còn lại để đảm bảo ràng buộc trong một vùng tóc
Khi ánh xạ các ảnh tóc 2D lên vùng da đầu 3D, thường chỉ ánh xạ một phần các điểm của ảnh tóc 2D, trong khi các điểm còn lại được nội suy để đảm bảo tính ràng buộc và thể hiện tính cục bộ tại các vị trí khác nhau Mặc dù kỹ thuật ánh xạ đã được trình bày đảm bảo việc ánh xạ chính xác vào các vùng da đầu trên mô hình hộp sọ 3D.
Hình 2.5 Nội suy điểm T’ dựa vào điểm T trên ảnh tóc sử dụng ánh xạ f j
Với các điểm còn lại không thuộc vào các cặp điểm điều khiển (Pi, ), với
PiAj, Cj, i=1, ,n, j=1, ,6, Aj là sáu ảnh tóc, Cj là sáu vùng da đầu Chúng ta chia các điểm trên ảnh tóc Aj thành 2 tập điểm Pax và Pns
Pax là tập các điểm điều khiển và tập các điểm sử dụng ánh xạ fj
Pns là tập các điểm nội suy sử dụng ánh xạ fj
- Với các điểm Pax, thực hiện ánh xạ sử dụng fj
- Với mỗi điểm TPns, thực hiện nội suy để xác định điểm T’ trên vùng da đầu, cụ thể:
+ Tìm một tam giác QuQvQw chứa điểm T và ba điểm Qu, Qv, Qw thuộc Pax Tính các hệ số 1, 2, 3 dựa vào diện tích của các tam giác:
Khi đó, xác định được điểm TQ u Q v Q w của ảnh tóc Aj ứng với các hệ số
1, 2,3 như sau: a) Ảnh tóc b) Nội suy điểm T’ sử dụng ánh xạ fj f j
+ Xác định ba điểm trên bề mặt da đầu tương ứng với ba điểm
Q u , Q v , Q w trên ảnh tóc bằng ánh xạ fj tìm được ở trên:
+ Xác định điểm T’ dựa vào giá trị của điểm TQ u Q v Q w :
Hình 2.6 Nội suy các điểm còn lại thuộc tam giác
2.1.5 Nội suy vùng tiếp giáp
Hàm ánh xạ f, được xác định trong kỹ thuật ánh xạ ở mục 2.1.3, thực hiện việc ánh xạ các ảnh tóc 2D lên các vùng da đầu 3D Tuy nhiên, quá trình này tạo ra các vùng tiếp giáp giữa các mảng tóc trên bề mặt da đầu chưa đạt được độ trơn mịn và liên tục.
Khi chia bề mặt da đầu 3D thành các vùng khác nhau, điểm biên giữa các vùng có thể tạo ra hai điểm khác nhau về tọa độ (M, N) Điều này dẫn đến việc một điểm trên ảnh tóc (Pi) có thể ánh xạ đến hai điểm trên các vùng da đầu Để đảm bảo sự liên tục và trơn mượt giữa các vùng tiếp giáp, kỹ thuật nội suy pháp tuyến được áp dụng để xấp xỉ hai điểm M và N thành một điểm V Việc sử dụng lưới tam giác và nội suy điểm là cần thiết để tính toán vectơ pháp tuyến chính xác.
Hình 2.7 Nội suy vùng tiếp giáp giữa hai vùng da đầu
Trong hình 2.7b), điểm M nằm trong tam giác của mảng tóc (Cx) và điểm N nằm trong tam giác của mảng tóc (Cy) trên bề mặt da đầu, với khoảng cách MN là nhỏ nhất Điểm V được nội suy qua đoạn thẳng nối M và N, với hai vectơ pháp tuyến tại M và N tương ứng Độ dài đoạn MV và NV lần lượt là a và b Để tính vectơ tại điểm V, cần xác định các vectơ pháp tuyến bề mặt tại hai điểm M và N Sau khi tính toán xong các vectơ pháp tuyến tại M và N, chúng ta tiến hành tính vectơ pháp tuyến tại điểm V.
Bắt đầu từ một vectơ pháp tuyến cho mỗi điểm hoặc điểm ảnh, chúng ta có thể xấp xỉ pháp tuyến thực trên bề mặt cong Vectơ pháp tuyến nội suy sau đó được áp dụng để tính toán cường độ màu sắc cho bề mặt chứa vectơ pháp tuyến này.
Mô hình tóc trong Hình 2.8 được tạo ra từ 6 mảng tóc tương ứng với 6 vùng da đầu, bao gồm cả quá trình nội suy tại các vùng tiếp giáp giữa các cặp mảng tóc.
V a) Tóc trước khi nội suy b) Tóc sau khi nội suy
Hình 2.8 Tóc trước và sau khi nội suy vùng tiếp giáp giữa các mảng tóc
2.1.6 Thuật toán mô phỏng tóc SDMT
Thuật toán SDMT (Kỹ thuật Phân chia và Ánh xạ Da đầu) mô phỏng tóc thông qua việc phân chia da đầu và áp dụng kỹ thuật ánh xạ, dựa trên sự tổng hợp từ các mục 2.1.3, 2.1.4 và 2.1.5.
Thuật toán bao gồm hai hai chính:
Pha 1: Thực hiện ánh xạ các ảnh tóc Aj lên các vùng da đầu Cj tương ứng với mọi j=1, ,6 dựa vào ánh xạ fj ứng với các cặp điểm điều khiển (Pi, ) với i=1, ,n và các điểm nội suy để đảm bảo tính ràng buộc trong một vùng
Pha 2: Nội suy các cặp điểm tương ứng thuộc hai vùng tiếp giáp nhau bằng cách sử dụng phép nội suy theo hướng vectơ pháp tuyến nhằm đảm bảo độ trơn và tính liên tục trên mô hình tóc kết quả
Thuật toán mô phỏng tóc SDMT: Đầu vào: Bề mặt da đầu C={Cj}|j=1, ,6 gồm 6 vùng da đầu,
6 ảnh tóc tương ứng A={Aj}|j=1, ,6, Đầu ra: Bề mặt da đầu C đã phủ ảnh tóc A
Các bước thực hiện của thuật toán :
Pha 1: Ánh xạ các ảnh tóc Aj lên các vùng da đầu Cj tương ứng với j=1, ,6 begin
Bước 1: Lựa chọn các cặp điểm điều khiển (Pi, ), với P i A j , C j , i=1, ,n
Bước 2: Với n cặp điểm điều khiển (Pi, )
Tìm ánh xạ f j :A j C j sao cho min
Bước 3: Nếu tìm được ánh xạ fj thì chuyển sang Bước 4
Ngược lại, quay lại Bước 1 hoặc kết thúc
Bước 4: Chia các điểm trên Aj thành 2 tập điểm Pax và Pns
Pax là tập các điểm điều khiển và điểm sử dụng ánh xạ fj
Pns là tập các điểm nội suy sử dụng ánh xạ fj
4.1 Ánh xạ tập điểm Pax sử dụng ánh xạ fj:
+ Tìm một tam giác Q u Q v Q w chứa điểm T và Q u , Q v , Q w thuộc P ax
3 =S(Q w Q u T)/S(Q u Q v Q w ) //S là diện tích của các tam giác
Khi đó, xác định được điểm TQ u Q v Q w của Aj ứng với các hệ số 1, 2,3:
+ Xác định ba điểm trên bề mặt da đầu tương ứng với ba điểm Q u ,
Q v , Q w trên ảnh tóc bằng ánh xạ fj tìm được ở trên:
+ Xác định điểm T’ dựa vào giá trị điểm
Pha 2: Nội suy vùng tiếp giáp
Trong đó: Cx và Cy là 2 vùng tiếp giáp nhau
Tính vectơ pháp tuyến tại điểm V:
Với và là hai vectơ pháp tuyến tại hai điểm M và N tương ứng Điểm V thuộc vào đoạn MN, a=MV, b=NV
* Nhận xét: Thuật toán SDMT thực hiện việc ánh xạ 6 ảnh tóc lên 6 vùng da đầu tương ứng luôn đảm bảo tính đúng đắn và cho kết quả, vì:
Kỹ thuật mô phỏng đối tượng dựa vào mô hình NURBS
2.2.1 Mô hình NURBS trong mô phỏng đối tượng
Mô hình NURBS tổng quát là một phương pháp toán học để tạo ra các mô hình 3D từ các đối tượng cơ bản, cho phép điều chỉnh hình dạng thông qua các đỉnh điều khiển NURBS rất linh hoạt và lý tưởng cho việc mô phỏng các đối tượng nhân tạo, đặc biệt là những hình dạng được xác định bởi các đường cong nhất định.
Hình 2.9 Mô hình hóa và điều chỉnh hình đối tượng bởi NURBS
Mô hình NURBS bao gồm một tập hợp các điểm điều khiển, cho phép mô phỏng các đối tượng có hình dạng đường cong và mặt cong một cách chính xác NURBS là mô hình đường và mặt cong hữu tỉ với các vectơ nút không đều, đồng thời là trường hợp tổng quát của B-Spline Nhờ vào tính linh hoạt này, NURBS trở thành lựa chọn lý tưởng cho việc mô hình hóa và mô phỏng các đối tượng có hình dạng sợi hay mảnh, với độ cong và độ lồi lõm không đều, như vải, tóc và nhiều hình dạng phức tạp khác.
- Mô hình NURBS tổng quát được sử dụng để biểu diễn các đối tượng có hình dạng sợi (đường cong) được xác định bởi công thức sau đây [4,5]:
+ Số điểm điều khiển của NURBS là n+1
+ P(i) là các điểm điều khiển
+ w(i) là trọng số tương ứng với mỗi P(i) và có tác động làm cho NURBS thay đổi có tỷ lệ
+ N(i,k_u)(u) là hàm cơ sở B-Spline theo miền u với bậc k_u Hàm N(i,k_u)(u) được biểu diễn bởi công thức (2.7)
- Mô hình NURBS tổng quát được sử dụng để biểu diễn đối tượng có hình dạng mảnh (mặt cong) được xác định bởi công thức sau đây [1,2]:
+ Số điểm điều khiển của mô hình NURBS là (n+1)(m+1)
+ P(i,j) là các điểm điều khiển
+ w(i,j) là trọng số tương ứng với mỗi P(i,j) và có tác động làm cho NURBS thay đổi có tỷ lệ
+ k_u, k_v là bậc của các hàm cơ sở theo hai miền u, v tương ứng
+ N(i,k_u)(u), N(j,k_v)(v) là các hàm cơ sở B-Spline tương ứng với hai miền u, v
* Công thức biểu diễn hàm cơ sở N(i,k_u)(u) ứng với chỉ số i và bậc k_u:
) u ( knot N knot u ) knot u ( knot N knot knot ) u u (
+ k_u là bậc của hàm cơ sở B-Spline theo miền u
+ knoti là các vectơ nút, gồm tập hợp các phần tử kiểm soát độ cong của sợi và mảnh
* Công thức biểu diễn hàm cơ sở N (v) ứng với chỉ số j và bậc k_v:
( N v knot knot v v knot knot N knot knot v v
+ k_v là bậc của hàm cơ sở B-Spline theo miền v
+ knotj là các vectơ nút, gồm tập hợp các phần tử kiểm soát độ cong của sợi và mảnh
- Các vectơ nút knoti, knotj là những tập hợp các phần tử kiểm soát độ cong của sợi và mảnh theo các miền tương ứng i và j
Vectơ nút với miền u và chỉ số i được biểu diễn như sau:
Số phần tử của một vectơ nút được tính bằng tổng (n+k_u+1)
Vectơ nút với miền v và chỉ số j được biểu diễn như sau:
Số phần tử của một vectơ nút được tính bằng tổng (n+k_v+1)
Vectơ nút là tập hợp các yếu tố điều khiển độ cong của sợi và mảnh, thể hiện tính chất cong của chúng, bao gồm sự đều hay không đều, cũng như tính tuần hoàn hay không tuần hoàn.
Mô hình NURBS được sử dụng để mô hình hóa và điều khiển các đối tượng có hình dạng sợi hoặc mảnh cong với độ cong lồi lõm không đều và không tuần hoàn Mặc dù có sự biến đổi về hình dạng, các đối tượng này vẫn đảm bảo độ trơn mượt cần thiết, phù hợp cho việc mô phỏng các vật liệu như sợi tóc và vải.
Hình dưới đây minh họa việc mô phỏng một số đối tượng có hình dạng sợi, mảnh dựa vào mô hình NURBS
Hình 2.10 Mô phỏng đối tượng dạng sợi
Hình 2.11 Mô phỏng đối tượng dạng mảnh
2.2.2 Nâng cao hiệu quả mô phỏng đối tượng dạng sợi, mảnh
Trong các bài toán mô phỏng, tốc độ là một vấn đề quan trọng, đặc biệt khi dữ liệu mô hình hóa các đối tượng lớn, như tóc và vải, thường có tính cục bộ Khi các đối tượng dạng sợi hoặc mảnh chuyển động, có những phần gần như không bị ảnh hưởng và ít dịch chuyển Bài báo này đề xuất một kỹ thuật nâng cao hiệu quả mô phỏng các đối tượng dạng sợi và mảnh dựa trên mô hình NURBS, thông qua việc điều chỉnh giảm miền ảnh hưởng của các điểm điều khiển lên điểm đang xét, từ đó tăng tốc độ mô phỏng và cải thiện tính cục bộ của đối tượng.
Mô hình NURBS được áp dụng để mô phỏng đối tượng dạng sợi và mảnh thông qua các công thức (2.8) và (2.9), trong đó hàm cơ sở B-Spline đóng vai trò quan trọng, ảnh hưởng lớn đến giá trị của NURBS Hàm này được thể hiện qua công thức (2.7) với các miền u, chỉ số i và miền v, chỉ số j như đã đề cập trong mục 2.2.2.
Các hàm cơ sở N(i,k_u)(u) và N(j,k_v)(v) có công thức tương tự nhau, chỉ khác về miền và chỉ số Do đó, để thuận tiện trong việc trình bày, bài báo sẽ chỉ tập trung vào đề xuất cải tiến dựa trên hàm cơ sở N(i,k_u)(u) với miền u và chỉ số i, trong khi đề xuất dựa trên hàm cơ sở N(j,k_v)(v) sẽ được trình bày theo cách tương tự.
Công thức biểu diễn hàm cơ sở N(i,k_u)(u):
) u ( knot N knot u ) knot u ( knot N knot knot ) u u (
Theo công thức, với một vectơ nút không giảm trong đoạn [0,1], giá trị của hàm cơ sở N(i,k_u)(u) giảm dần khi khoảng cách giữa điểm xét P(u) và điểm điều khiển P(i) tăng lên Điều này có nghĩa là ảnh hưởng của các điểm điều khiển xa hơn sẽ nhỏ hơn đối với điểm đang xét.
Để đảm bảo tính chất của hàm cơ sở N(i,k_u)(u) với giá trị vectơ nút và bậc k_u, cần có 2k_u giá trị của hàm này khác không nằm đều hai bên điểm đang xét, trong khi các giá trị còn lại phải bằng không Vấn đề cần giải quyết là cách xây dựng vectơ nút sao cho thỏa mãn điều kiện này.
Khi mô phỏng các đối tượng 3D dạng sợi hay mảnh, không phải tất cả các vị trí đều cần phải trơn hoặc cong đều, mà có những vị trí cần độ cong bất kỳ, cục bộ Đối với những khu vực có độ cong và lồi lõm cục bộ, việc thay đổi vị trí của một điểm điều khiển yêu cầu sự thay đổi cục bộ thay vì toàn cục trên đối tượng Để đáp ứng yêu cầu này, người ta đã phát triển kiểu vectơ nút không đều.
Từ công thức mô phỏng đối tượng dạng sợi và mảnh, có thể thấy rằng mỗi điểm được tính toán dựa trên tất cả các điểm điều khiển, dẫn đến tính chất cục bộ của đối tượng và làm giảm tốc độ mô phỏng Vấn đề cần giải quyết là tìm cách thu nhỏ miền ảnh hưởng của các điểm điều khiển lên điểm đang xét, nhằm thể hiện rõ hơn tính chất cục bộ của đối tượng và tăng tốc độ mô phỏng mà không ảnh hưởng nhiều đến chất lượng của mô hình.
Trong Hình 2.12, điểm A với u=4 và bậc k_u=2 nằm trong miền 2≤u≤6, cho thấy các điểm điều khiển tác động lên điểm A có N(i,k_u)(u)≠0 Ngược lại, những điểm khác ngoài miền này đều có N(i,k_u)(u)=0, tức là không ảnh hưởng đến điểm A.
Hình 2.12 Xác định vectơ nút ứng với trường hợp tối ưu
Việc mô hình hóa và mô phỏng các đối tượng 3D dạng sợi hay mảnh không đều, có đặc điểm lồi lõm cục bộ là rất cần thiết Tuy nhiên, mô hình NURBS tổng quát thường không đáp ứng được yêu cầu về chất lượng và tốc độ trong quá trình này.
Để tăng tốc độ mô phỏng, bài báo đề xuất hiệu chỉnh giảm miền ảnh hưởng của các điểm điều khiển lên điểm đang xét Các đối tượng như sợi hay mảnh (vải, tóc, ) thường có tính chất cục bộ, do đó, ảnh hưởng của chúng chỉ xảy ra trong một vùng nhất định chứ không lan tỏa ra toàn bộ đối tượng Việc giảm ảnh hưởng này được thực hiện thông qua việc xây dựng các vectơ nút.
Khi làm việc với vectơ nút đều tuần hoàn hoặc không đều, một nút đang xem xét sẽ bị ảnh hưởng bởi tất cả các điểm điều khiển, tức là N(i,k_u)(u)≠0 với mọi i Đối với vectơ nút không tuần hoàn, giá trị của N(i,k_u)(u)≠0 chỉ khi (nowu-k_u)i(nowu+k_u), trong đó nowu là thứ tự của điểm đang xét A Ví dụ, với k_u=2 và nowu=4, ta có 2i6.
Qua thực nghiệm, ta xác định được công thức tính vectơ nút knoti với miền u, bậc hàm cơ sở k_u và chỉ số i sau: u _ k n i n n i u _ k u _ k i 0
Kỹ thuật mô phỏng đối tượng dựa vào Mass-Springs
Kỹ thuật Mass-Springs (MS) cho phép mô phỏng các sợi với nhiều hình dạng và chuyển động khác nhau, từ cong đến thẳng, từ ngắn đến dài, và từ mảnh đến dày Mô phỏng này cũng thể hiện các hiệu ứng như gió, trọng lực và độ giảm chấn Mỗi sợi được xây dựng từ một bề mặt hình trụ NURBS với n điểm điều khiển, trong đó đầu sợi được cố định trên các bề mặt như plane, torus và hình cầu Lực Mass-Spring điều khiển các phần còn lại của sợi, với chuyển động của mỗi sợi được xác định bởi độ cứng, chiều dài nghỉ của spring giữa các điểm điều khiển, khối lượng của từng điểm điều khiển, và các lực bên ngoài tác động.
2.3.2 Một số kỹ thuật cơ bản
Mass – spring được sử dụng để tạo ra hoạt cảnh với bề mặt hình trụ NURBS xoắn, giúp xây dựng mô hình sợi riêng lẻ Các sợi này có thể được tạo ra trên các bề mặt phẳng, hình cầu và torus Người dùng có thể tự động lựa chọn các tham số như giới hạn góc rest, độ dài mỗi phần, số lượng sợi, độ dày của từng sợi, cũng như các yếu tố như trọng lực, gió thổi và độ thấm ướt của tóc (damping).
Trong quy trình pipeline của hệ thống này, trước tiên, hình dạng cơ bản được lựa chọn Tiếp theo, kiểu dáng (messy hoặc combed), độ dày, giới hạn độ dài và góc rest cho từng phần của sợi được xác định Sau đó, các spring và particle cho hệ thống mass-spring được tạo ra Các lực bên ngoài như trọng lực, gió và độ giảm chấn cũng được lựa chọn Sau mỗi lần lặp lại của hệ thống mass-spring, các điểm điều khiển của các sợi được trích xuất Cuối cùng, các bề mặt ngoài hình trụ NURBS xoắn được xây dựng và render.
Để xây dựng mô hình sợi trên mặt phẳng, cần thiết phải có một mặt phẳng làm nền tảng Ba hình dạng cơ sở được sử dụng trong quá trình này là mặt phẳng (plain), torus và hình cầu (sphere) Trong đó, mô hình hình cầu và torus được xây dựng bằng bề mặt NURBS, trong khi mô hình mặt phẳng chỉ dựa vào việc biểu diễn các đa giác.
Hình 2.14: Các hình dạng cơ sở (a) plain; (b) sphere; (c) torus
Các spring được tạo ra trước, sau đó là các particle trong hệ thống massy-spring Mỗi vòng lặp của hệ thống này sử dụng giải thuật Euler sửa đổi, chỉ áp dụng cho các spring tuyến tính Các spring được xây dựng dựa trên số lượng tóc nhìn thấy, với độ dài rest được xác định theo giới hạn độ dài đã được chọn trước đó.
Sau khi các spring được xây dựng, các particle thực tế được tạo ra và được chia thành n particle cho mỗi sợi, với n=8 Particle đầu tiên của mỗi sợi được cố định trên bề mặt, trong khi các particle còn lại lớn lên ra ngoài theo hướng bình thường của hình dạng cơ sở Độ quăn và độ dài của mỗi particle được xác định dựa trên giới hạn độ dài và góc rest đã được lựa chọn trước đó Mass của mỗi particle được thiết lập là 1, và các véctơ lực cùng vận tốc của mọi particle đều được thiết lập là 0.
Thuật toán 1: Mô tả quá trình xây dựng các particle
MAKEV(particles[i*parts].f, 0.0f, 0.0f, 0.0f) for (j=1 parts)
In the particle simulation code, the velocity and force of each particle are initialized to zero using the MAKEV function The position of each particle is then calculated based on its neighboring particles and a random displacement If the neighboring particle in the x-direction (nx) is zero, the new x-position is determined by adding a random value to the reference particle's x-position Conversely, if nx is not zero, the new x-position is adjusted by subtracting a random value multiplied by the length from the previous particle's x-position A similar logic applies for the y and z positions, using ny and nz respectively, ensuring that each particle's position is dynamically influenced by its surroundings while incorporating randomness for variation.
Người dùng lựa chọn lực ngoài, như: gravity, wind và damping Wind và gravity thay đổi hướng với mười lần vòng lặp của hệ thống mass-spring
Giải thuật tiếp theo cho phép thêm lực vào các lực bên trong của từng hạt mà không cố định trên bề mặt Đầu tiên, lực ban đầu của mỗi hạt được thiết lập là 0 Sau đó, nếu hạt này không bị cố định, lực gió và trọng lực sẽ được thêm vào.
Thuật toán 2: Mô tả quá trình thêm lực vào mỗi particle
MAKEV(particles[i].f, 0.0f, 0.0f, 0.0f) if (particles[i].fixed) continue;
ADDV(particles[i].f, wind); particles[i].f.y +=gravity *particles[i].m;
Mỗi sợi riêng lẻ được mô hình hóa bằng bề mặt hình trụ NURBS xoắn với n điểm điều khiển, độ 2 và chia thành 20x20 Hình trụ này có độ dày và độ dài xác định, trong đó đường tròn xác định bề dày của sợi Các điểm điều khiển của đường tròn này phản ánh độ dày của sợi, và từ đó, các điểm nút v được tạo ra cho các điểm điều khiển đường tròn.
Độ dày của mỗi sợi được xác định qua 9 điểm điều khiển, trong khi độ xoắn của sợi phụ thuộc vào vòng lặp hiện tại của hệ thống mass-spring Các điểm nút u được tính toán dựa trên số lượng particle mà sợi chứa Cụ thể, nếu một sợi chỉ có 8 particle, thì sẽ có 12 điểm nút u tương ứng.
Sau khi tất cả các điểm điều khiển được rút cho mỗi sợi, thì sợi đó được render như là một bề mặt hình trụ NURBS xoắn
Thuật toán 3: Mô tả quá trình xác định điểm điều khiển
MAKEV( cp[i*9+j], ADDV( particles[k*parts+i].p, circle))
Hình 1.16 Các điểm điều khiển mass-spring trên bề mặt hình trụ NURBS xoắn 2.3.3.4 Mô hình NURBS xoắn
Mô hình NURBS xoắn được sử dụng để biểu diễn các sợi có dạng hình trụ với các điểm điều khiển mass-spring
Một NURBS surface có p độ theo hướng u và q độ theo hướng v được xác định như sau:
{Pi,j} được xác định từ một lưới điều khiển bi-directional, {Wi,j} là trọng lượng,
{Ni,p(u)} và {Nj,q(v)} là các hàm cơ sở B-Spline vô tỷ (non-rational) được xác định dựa trên các véctơ điểm nút (điểm trung tâm) như sau:
Kỹ thuật mô phỏng Mass-Springs cho phép thiết lập và lựa chọn các thuộc tính khác nhau của sợi để tạo ra những kiểu dáng phù hợp với yêu cầu cụ thể Ví dụ, khi mô phỏng sợi với các thuộc tính như số lượng, kích thước, và độ dài khác nhau, có thể điều chỉnh để đạt được kết quả mong muốn Nếu không có ngoại lực tác động, sợi sẽ giữ thẳng theo hướng vectơ pháp tuyến p Tuy nhiên, để mô phỏng sợi một cách thực tế hơn, cần có ngoại lực như gió hoặc trọng lực, và giá trị của các ngoại lực này sẽ phụ thuộc vào kích thước của sợi, cho phép lựa chọn các thông số phù hợp.