Sợi ngắn, cong trên sphere với bề mặt NURBS xoắn

Một phần của tài liệu (LUẬN văn THẠC sĩ) kỹ thuật mô phỏng đối tượng dạng sợi và ứng dụng mô phỏng tóc trong thực tại ảo (Trang 67 - 78)

3.4. Phân tích kết quả đánh giá

Phần trên đây vừa được trình bày công cụ, kết quả mô phỏng mô hình hóa 3D sợi tóc trên máy tính. Với kỹ thuật như trên, cho phép chúng ta mô phỏng đầy đủ được các đặc trưng, thuộc tính của tóc trong không gian 3D.

Trong chương này ở trên vừa trình bày kết quả thử nghiệm của hai kỹ thuật mô phỏng, đó là: Kỹ thuật mô phỏng dựa vào mô hình NURBS và Kỹ thuật mô phỏng dựa vào Mass-Springs.

Với kỹ thuật mô phỏng dựa vào NURBS: Trên cơ sở sử dụng NURBS nâng cao vào mô phỏng tóc ứng với những sợi và bó tóc khác nhau, những thuộc tính ràng buộc khác nhau được thiết lập và lựa chọn để tạo ra những kiểu tóc khác nhau phù hợp với từng yêu cầu cụ thể. Một số mô hình tóc được tạo ra với các thuộc tính về số sợi, độ lớn, độ dài, không có ngoại lực,… được thiết lập và lựa chọn khác nhau để mô phỏng sợi, bó tóc. Khi mô phỏng tóc mà chưa có ngoại lực tác động thì tóc sẽ thẳng theo hướng vectơ pháp tuyến p. Để tạo ra những kiểu tóc gần tóc thực tế thì cần có ngoại lực tác động (gió, trọng lực,…), việc lựa chọn giá trị cho ngoại lực thường tuỳ theo độ lớn sợi tóc (to, nhỏ) khác nhau mà ta có thể lựa chọn các thông số khác nhau cho tóc có hình dạng gần tóc thực tế hơn.

Kỹ thuật mô phỏng dựa vào Mass-Springs: những sợi khác nhau, những thuộc tính ràng buộc khác nhau được thiết lập và lựa chọn để tạo ra những kiểu khác nhau phù hợp với từng yêu cầu cụ thể. Chẳng hạn như khi muốn mô phỏng sợi có những thuộc tính khác nhau: số sợi, độ lớn, độ dài, không có ngoại lực,… được thiết lập và lựa chọn khác nhau để mô phỏng sợi.

KẾT LUẬN

Mô phỏng đối tượng dạng sợi là một vấn đề quan trọng trong hệ thống mô phỏng các nhân vật ảo, đặc biệt là đối với con người, vì sợi là một đối tượng không thể thiếu trên mỗi con người, như sợi tóc, sợi vải,... Vì vậy, trong mô phỏng đòi hỏi không những phải đảm bảo về chất lượng mô phỏng mà còn phải đáp ứng yêu cầu không gian lưu trữ, tăng tốc độ mô phỏng.

Mô phỏng sợi trong thực tại ảo, thực chất là việc mô hình hoá và điều khiển mô hình sợi trên mô hình bề mặt 3D. Kết quả thu được sẽ là kiểu sợi trên mỗi đối tượng ảo trong không gian thực tại ảo.

Luận văn đã tập trung nghiên cứu một số kỹ thuật mô phỏng sợi, kỹ thuật nâng cao hiệu quả mô phỏng sợi và ứng dụng của nó trong hệ thống mô phỏng con người ảo. Cụ thể, luận văn đã đạt được những kết quả sau:

- Nghiên cứu tổng quan về đồ họa máy tính, thực tại ảo, nghiên cứu khái quát về mô hình hóa 3D, phương pháp mô hình hóa, dựng hình 3D cũng như mô phỏng, vai trò của mô phỏng và công nghệ mô phỏng trong thực tại ảo. Nghiên cứu tổng quan về mô phỏng đối tượng dạng sơi, mảnh, trên cơ sở đó dẫn tới đề xuất nghiên cứu thử nghiệm đối tượng dạng sợi dưới dạng là sợi tóc, mảnh tóc hay mái tóc trên con người ảo. Đồng thời giới thiệu khái quát về vai trò của tóc cũng như mô hình hóa và điều khiển các mô hình tóc trên hệ thống con người ảo.

- Kỹ thuật mô phỏng sợi dưới dạng ảnh dựa vào phân chia mô hình 3D thành các vùng tương ứng và kỹ thuật ánh xạ, nhằm khắc phục hiện tượng biến dạng trong quá trình ánh xạ từ ảnh sợi 2D lên các vùng mô hình 3D tương ứng. Kỹ thuật này phù hợp cho mô phỏng tóc ngắn (tóc nam giới), tóc bám sát bề mặt da đầu và áp dụng trên con người hay nhân vật ảo.

- Kỹ thuật mô phỏng sợi sử dụng mô hình NURBS và đề xuất nâng cao kỹ thuật mô phỏng NURBS nhằm tăng tốc độ mô phỏng, thể hiện tính cục bộ của sợi dựa vào giảm miền ảnh hưởng của các điểm điều khiển lên một điểm đang xét.

- Kỹ thuật mô phỏng Mass-Springs thì những sợi khác nhau, những thuộc tính ràng buộc khác nhau được thiết lập và lựa chọn để tạo ra những kiểu khác nhau phù

hợp với từng yêu cầu cụ thể. Chẳng hạn như khi muốn mô phỏng sợi có những thuộc tính khác nhau: số sợi, độ lớn, độ dài, không có ngoại lực,… được thiết lập và lựa chọn khác nhau để mô phỏng sợi.

- Đã cài đặt thử nghiệm với hai kỹ thuật mô phỏng, đó là: Kỹ thuật mô phỏng dựa vào mô hình NURBS và Kỹ thuật mô phỏng dựa vào Mass-Springs.

Hướng nghiên cứu phát triển tiếp theo của luận văn:

 Nghiên cứu và đề xuất các phương pháp, ứng dụng mô phỏng sợi trên cơ

sở nghiên cứu các tính chất vật lý, hoá học của tóc.

 Nghiên cứu và đề xuất việc ứng dụng độ bóng, ánh sáng,... trong mô phỏng sợi.

Trong khuôn khổ luận văn này, với sự tìm hiểu và nghiên cứu còn hạn chế nhưng cũng đã cho bản thân học viên hiểu sâu hơn về việc lập một đề án xây dựng mô phỏng mô hình 3D cho một đối tượng trong thực tại ảo để áp dụng vào cuộc sống. Được sự hướng dẫn của giáo viên, đặc biệt là sự góp ý chuyên sâu và nhiệt tình của các thầy, cô trong Hội đồng đối với đề tài luận văn này. Bản thân em nhận thấy đây là kết quả bước đầu rất bổ ích và thiết thực, là tiền đề thúc đẩy trong quá trình học tập và nghiên cứu nhiều hơn nữa về nội dung này để thành công trong cuộc sống cũng như trong công việc hàng ngày.

TÀI LIỆU THAM KHẢO

[1] P. Noble and W. Tang (2004), Modelling and animating cartoon hair with

nurbs surfaces,

[2] in Computer Graphics International (CGI), June 2004, pp. 60–67.

[3] Anna Sokol (2004), Modeling Hair and Fur with NURBS. Computer Science

Department.

SUNY Stony Brook.

[4] Z. Xu, X. D. Yang, T. Wang, and J. Yang (2000), The cluster hair model, Graphics Models and Image Processing, vol. 62, no. 2, pp. 85–103, Mar. 2000.

[5] Z. Brooks Jr (1999), What's Real About Virtual Reality, IEEE Computer

Graphics And Applications,19(6), 16, 1999.

[6] Z. Burdea, G. and P. Coffet (2003), Virtual Reality Technology, Second Edition.

Wiley-IEEE Press, 2003.

[7] D. Baraff and A. Witkin. Large steps in cloth simulation, SIGGRAPH 98

Conference Proceedings, pages 43- 4, 1998

[8] D.H. House and D.E. Breen, Cloth Modeling and Animation, A.K. Peters, Ltd.,

2000

[9] Feng Han and Song-Chun Zhu, A Two-Level Generative Model for Cloth

Representation and Shape from Shading, Journal IEEE Transactions on Pattern Analysis and Machine Intelligence, Volume 29 Issue 7, July 2007 Pages 1230- 1243.

[10] C. K. Koh and Z. Huang (2000), Real-time animation of human hair modeled in

strips, Computer Animation and Simulation, Springer-Verlag, pages 101–110, 2000.

[11] C. K. Koh and Z. Huang (2001), A simple physics model to animate human hair

modeled in 2D strips in real time, Proceedings Of Computer Animation and Simulation, 2001.

[12] D. Gibbs, Carlos, David A.Hart (2008), Modeling hair using interpolation and

[13] K. Ward, F. Bertails, Kim, arschner, Cani, Ming C.Lin (2007), A Survey on Hair Modeling: Styling, Simulation and Rendering, University of North Carolina at Chapel Hill. 2007.

[14] Yosuke Bando, Bing-Yu Chen, Tomoyuki Nishita(2003), Animating Hair with

Loosely Connected Particles(LCP), The University of Tokyo, 2003.

[15] Chia-Ying Lee, Wei-Ru Chen, Eugenia Leu*, Ming Ouhyoung(2001), A Rotor

Platform Assisted System for 3D Hairstyles, Dept. of CS and IE, National Taiwan University, Taiwan, 2001.

[16] Yong Kim and Ulrich Neumann(2002), A Thin Shell Volume for Modeling

Human Hair, Computer Graphics and Immersive Technology Laboratory, Integrated Media Systems Center, University of Southern California, 2002.

[17] Tae-W. Liang and Z. Huang (2003), An enhanced framework for real-time hair animation, in Pacific Graphics Conference on Computer Graphics and Applications, October 2003

[18] Nguyen Van Huan, Pham Viet Binh, Đo Nang Toan(2009), A hair material

simulation approach in Virtual reality and application, Proceedings of The 7th Asian Control Conference – ASCC2009, Hong Kong 27-29/08/2009, China 2009, 541-546.

[19] Nguyen Van Huan, Do Nang Toan(2009), Morphing and Repairing a 3D Scalp

Geometry in Building Hair Models and Simulation, Proceedings of 2nd International Congress on Image and Signal Processing-CISP2009, Tianjin 17- 19/10/2009, China 2009, 705-710.

[20] Nguyen Van Huan, Do Nang Toan(2010), Vector Fields in Expressing

Hairstyles, Proceedings of The 2nd IEEE International Conference on

Advanced Computer Control -ICACC 2010, Shenyang 27-29/03/2010, China

2010, 541-546

[21] N.V. Huan, D.N. Toan (2009), A hair material simulation approach in Virtual

reality and application, In Proceedings of The 7th Asian Control Conference, Hong Kong, China, 2009, pp. 541-546.

[22] Thomas Sederberg, BYU NURBS, http://cagd.cs.byu.edu/~557/text/ch6.pdf.

[23] http://en.infinisys.co.jp/product, http://www.hairstylesdesign.com, http://hairstyleonline.com

PHỤ LỤC

1. Thuật toán xác định hướng và độ xoắn của sợi tóc:

void CLine::Init(CPoint3D p0, CPoint3D dp) {

n=dp; n.Normalize(); p0-=dp;

for (int i=0;i<HAIRSIZE;i++) { pt[i].p=p0; p0+=dp; dp.x+=rnd(2*HAIRRANDOM)-HAIRRANDOM; dp.y+=rnd(2*HAIRRANDOM)-HAIRRANDOM; dp.z+=rnd(2*HAIRRANDOM)-HAIRRANDOM; // dp vi tri ngau nhien cua mot diem toc

} }

2. Thuật toán Phủ sợi tóc lên đối tượng:

void CHair::Init(CObject *_o,CSurface *_s) {

o=_o; s=_s; m=*s;

//xác định bề mặt phủ

m.flag&=~CMaterial::Lighting; //Lightinh là đấu hiệu nhận biết.

// Với mỗi một sợi tóc:

for (int i=0;i<NBHAIR;i++) {

int f=rnd(s->nbf); CTriFace *fc=s->fc+f; float a=rnd(1.0f);

float b=rnd(1.0f); if (a+b>1.0f) { a=1.0f-a; b=1.0f-b; }

CPoint3D pos=fc->v[0]->p + a*(fc->v[1]->p - fc->v[0]->p) + b*(fc->v[2]->p - fc->v[0]->p);

CPoint3D dir=fc->v[0]->n + a*(fc->v[1]->n - fc->v[0]->n) + b*(fc->v[2]->n - fc->v[0]->n); dir.Scale(HAIRLENGTH/dir.Length()); ln[i].Init(pos,dir); } // Thiết lập và áp đặt mầu sắc: { CColor4f col=m.diffuse;

for (int i=0;i<HAIRNCOLOR;i++) {

c[i]=col*((i+HAIRNCOLOR/2)*1.0f/HAIRNCOLOR); }

} }

3. Thuật toán mô phỏng sợi tóc chuyển động

void CHair::Update(CPoint3D Depl) {

CPoint3D v,v2; float l,f1,f2; CLine *pl=ln;

int i=NBHAIR; do

{

int p=HAIRSIZE-2;

//p là các điểm điều khiển, hay các đốt.. CNode *pp=pl->pt+2;

// Với mỗi một sợi tóc: do

{

pp->p+=Depl; v=pp[-1].p-pp[0].p;

//v: do dai cua mot dot toc l=v.Length2(); if (l>MAXL) { v*=(1.0f-MAXL2/(float)sqrt(l)); pp->p+=v; pp->v*=1.0f-FROT; }

//pp la một con trỏ, trỏ đến từng điểm điều khiển(đốt). else { f1=STIFFNESS*(1.0f-(LENGTH*LENGTH)/l); v2=pp[-2].p-pp[0].p; l=v2.Length2(); f2=0.4f*STIFF2*(1.0f-(LENGTH2*LENGTH2)/l); pp->v=pp->v*(1.0f-FROT)+v*f1+v2*f2; //+GForce;

// f1,f2 tính mềm dẻo của tóc

// v tốc độ chuyển động giữ hai điểm điều khiển liên tiếp.

}

pp->v.z+=GRAVITY;

++pp; // trỏ tới điểm điều khiển tiếp theo } while (--p); p=HAIRSIZE-2; pp=pl->pt+2; do { pp->p+=pp->v; ++pp; } while (--p); ++pl; } while (--i);

//duyet tat ca cac soi toc }

NHẬN XÉT ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… Thái Nguyên ngày…..tháng…..năm 2019

Một phần của tài liệu (LUẬN văn THẠC sĩ) kỹ thuật mô phỏng đối tượng dạng sợi và ứng dụng mô phỏng tóc trong thực tại ảo (Trang 67 - 78)

Tải bản đầy đủ (PDF)

(78 trang)