Nghiên cứu kỹ thuật mô phỏng lửa bằng phương pháp Partical và ứng dụng

  • Số trang: 53 |
  • Loại file: PDF |
  • Lượt xem: 26 |
  • Lượt tải: 0
tailieuonline

Đã đăng 27462 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Vũ Đức Thông Nghiên cứu kỹ thuật mô phỏng lửa bằng phương pháp Partical và ứng dụng LUẬN VĂN THẠC SĨ Hà Nội - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HọC CÔNG NGHỆ Vũ Đức Thông Nghiên cứu kỹ thuật mô phỏng lửa bằng phương pháp Partical và ứng dụng Ngành : Công nghệ thông tin Chuyên ngành : Hệ thống thông tin Mã số : 60.48.05 LUẬN VĂN THẠC SĨ Người hướng dẫn khoa học: pgs. Ts. Đỗ Năng Toàn Hà Nội - 2010 1 MỤC LỤC PHẦN MỞ ĐẦU ........................................................................................................ 3 CHƢƠNG 1: KHÁI QUÁT VỀ THỰC TẠI ẢO VÀ MÔ PHỎNG LỬA ............... 5 1.1. Tổng quan về thực tại ảo ...........................................................................5 1.1.1. Định nghĩa..........................................................................................5 1.1.2. Đặc điểm của một hệ thống thực tại ảo: ..............................................6 1.1.3. Một số loại hệ thống thực tại ảo .........................................................7 1.1.4. Các thành phần của một hệ thống thực tại ảo ......................................8 1.1.5. Một số ứng dụng chính của VR ........................................................ 11 1.2. Mô phỏng lửa và ý nghĩa ........................................................................ 11 1.2.1. Tầm quan trọng của lửa và mô phỏng lửa ......................................... 11 1.2.2. Tổng quát về mô phỏng lửa .............................................................. 13 CHƢƠNG 2: MÔ PHỎNG LỬA BẰNG PHƢƠNG PHÁP PARTICLE ............. 15 2.1. Cơ sở lý thuyế t để xây dựng kỹ thuâ ̣t mô phỏng lửa ............................... 15 2.1.1. Định nghĩa Particle System .............................................................. 15 2.1.2. Đặc tính của Particle System ............................................................ 16 2.1.3 Mô hình mô phỏng bằng phương pháp Partical ................................. 17 2.1.3.1. Sự khởi tạo ra các particle ......................................................... 18 2.1.3.2. Các thuộc tính của particle ......................................................... 19 2.1.3.3. Chuyển động của các particle .................................................... 21 2.1.3.4. Render particle ........................................................................... 21 2.1.3.5. Sự phân cấp của Particle System ................................................ 22 2.1.3.6. Sự chết của particle .................................................................... 23 2.1.4. Sử du ̣ng Partical system cho vu ̣ cháy nổ ........................................... 23 2.2. Mô phỏng ngọn lửa dựa trên phương pháp Particle System .................... 30 2.2.1. Khởi tạo hình dạng và màu sắc cho Particle lửa ............................... 30 2.2.2. Tính chất của particle và Particle System cho mô phỏng ngọn lửa ... 32 2.2.3. Các phương thức của Particle System mô phỏng lửa ........................ 32 2 2.2.3.1. Phương thức khởi tạo một particle: ............................................ 33 2.2.3.2. Phương thức khởi tạo cho particle system: ................................. 34 CHƢƠNG 3: CHƢƠNG TRÌNH THỬ NGHIỆM ................................................. 36 3.1. Chương trình thử nghiệm mô phỏng lửa ................................................. 36 3.2. Các kĩ thuật liên quan ............................................................................. 45 3.2.1. VRML .............................................................................................. 45 3.2.2. Billboard .......................................................................................... 47 PHẦN KẾT LUẬN .................................................................................................. 49 1. Tầm quan trọng của mô phỏng lửa ............................................................. 49 2. Các vấn đề đã làm đươ ̣c ............................................................................. 49 3. Hướng phát triển của luận văn ................................................................... 50 TÀI LIỆU THAM KHẢO ....................................................................................... 51 3 PHẦN MỞ ĐẦU Ngày nay, mô phỏng vi tính đã ngày càng chứng tỏ vai trò quan trọng trong đời sống cũng như trong nghiên cứu , khoa học, kỹ thuật và trong giảng dạy . Mô phỏng hiện diện ở hầu như mọi lĩnh vực kinh tế, chính trị, khoa học, đời sống hiện nay. Sự phát triển mạnh mẽ về công nghệ phần cứng đã giúp cho các phần mềm mô phỏng ngày càng đáp ứng được những đòi hỏi khắt khe và sát với thực tế hơn . Điều này làm cho công nghê ̣ mô phỏng vi tính đươ ̣c phát triể n và ứng dụng vào thực tế cuộc sống sâu hơn và rộng rãi hơn . Lửa là một loại vật chất đặc biệt không thể thiếu trong cuô ̣c sống đời thường cũng như trong khoa học, kĩ thuật và giảng dạy trong nhà trường . Do tầm quan trọng cũng như những tác hại to lớn mà nó có thể mang lại, mô phỏng lửa trở thành một công cụ nghiên cứu quan trọng về lửa trong việc trình diễn những vẻ đe ̣p huyề n ảo , ứng dụng thực tế trong đời sống và ngăn ngừa các thảm họa về lửa cũng như tận dụng được nguồn năng lượng ẩn chứa trong ngọn lửa trong viê ̣c nghiên cứu khoa ho ̣c và giảng da ̣y trong nhà trường . Việc nghiên cứu và ứng dụng vào việc mô phỏng lửa cũng có rấ t nhiều phương pháp nghiên cứu như: phương pháp đa giác , phương pháp bề mă ̣t và phương pháp đường biên …., tôi thực hiện đề tài “Nghiên cứu, kỹ thuật mô phỏng lửa bằng phương pháp Particle và ứng dụng” nhằm nghiên cứu về một phương pháp đặc biệt sử dụng trong mô phỏng nói chung cũng như mô phỏng lửa nói riêng. Tôi hi vọng đề tài này sẽ đem lại một số kiến thức thực tế và ứng dụng của mô phỏng lửa vào công nghệ giải trí , nghiên cứu kh oa ho ̣c, nghiên cứu ứng dụng lửa ngăn chă ̣n các thảm ho ̣a về lửa và ứng du ̣ng của mô phỏng này vào những th í nghiệm giảng dạy trong nhà trường khi thí nghiê ̣m này phải cầ n đến lửa. Viê ̣c ứng du ̣ng công nghê ̣ thông tin vào quá trình giảng da ̣y trong nhà trường đang là mô ̣t nhu cầ u thiế t yế u cu ̣ thể , nhấ t là viê ̣c xây dựng bài giảng điê ̣n tử là mô ̣t công viê ̣c đổ i mới phương pháp giảng da ̣y truyề n thố ng trong nhà trường phổ thông . Do đó đưa công nghê ̣ thực ta ̣i ảo vào mô phỏng các thí nghiê ̣m đã và đang là mô ̣t nhu cầ u thiế t yế u và cầ n làm trong giai đoa ̣n hi ện nay. Là một giảng viên trong trường Cao đẳng Sư phạm tôi thấy mình cũng phải có trách nhiệm trong công việc đổi mới phương pháp giảng dạy nên tôi đã chọn đề tài: “Nghiên cƣ́u kỹ thuâ ̣t mô phỏng lƣ̉a bằ ng phƣơng pháp Partical và ứng dụng”. 4 Luâ ̣n văn gồm 3 chương: CHƢƠNG 1: KHÁI QUÁT VỀ THỰC TẠI ẢO VÀ MÔ PHỎNG LỬA Chương này giới thiệu một cách tổng quan về thực tại ảo và mô phỏng. Phần đầu của chương trình bày khái niệm, tầm quan trọng, ưu điểm và nhược điểm của thực ta ̣i ảo, hê ̣ thực ta ̣i ảo trong mô phỏng. Tiếp sau đó là tầm quan trọng của lửa và ý nghĩa của mô phỏng lửa. CHƢƠNG 2: MÔ PHỎNG LỬA BẰNG KỸ THUẬT PARTICLE Căn cứ vào những tin ́ h chấ t lý ho ̣c , đô ̣ng lực ho ̣c của lửa và tiń h chấ t của Patical, Patical system. Chương này trình bày về cơ sở của lý thuyế t của kỹ thuật Particle, Patical system một kỹ thuật được sử dụng trong mô phỏng lửa. Phần đầu chương trình bày về khái niệm và một số tính chất cơ bản của kỹ thuật Particle sau đó là ứng dụng cách xây dựng mô phỏng cho ngọn lửa bằng phương pháp Particle System. CHƢƠNG 3: CHƢƠNG TRÌNH THỬ NGHIỆM Chương này dựa vào các cơ sở lý thuyế t trình bày ở chương trước để viết chương trin ̀ h thử nghiệm mô phỏng lửa bằng kỹ thuật Particle và Particle system. Phần cuối chương trình bày một số kĩ thuật liên quan khác được sử dụng trong xây dựng chương trình thử nghiệm như VRML, Billboard. Do thời gian và khả năng có hạn, nên trong tài liệu cũng như trong chương trình thử nghiệm không thể tránh được những sai sót. Rất mong nhận được sự quan tâm, giúp đỡ và đóng góp ý kiến của các thầy cô, bạn bè để tôi có thể áp dụng được đề tài vào nhiều lĩnh vực thiết thực trong cuộc sống , trước tiên là ứng dụng của đề tài trong việc xây dựng cá c hiǹ h tươ ̣ng ngo ̣n lửa trong phòng thí nghiê ̣m khi xây dựng các thí nghiê ̣m ảo, các hình tượng lửa trong phong cảnh hoă ̣c áp du ̣ng vào những bài kể chuyê ̣n phu ̣c vu ̣ cho công viê ̣c giảng da ̣y ở các bâ ̣c học M ầm non , hoă ̣c lớn hơn l à thực tại ảo trong việc mô phỏng các thảm họa do lửa gây ra. 5 CHƢƠNG 1: KHÁI QUÁT VỀ THỰC TẠI ẢO VÀ MÔ PHỎNG LỬA  Tổng quan về thực tại ảo và hệ thống thực tại ảo  Mô phỏng lửa và ý nghĩa 1.1. Tổng quan về thực tại ảo 1.1.1. Định nghĩa VR- Virtual Reality - Thực Tế Ảo là một thuật ngữ mới xuất hiện khoảng đầu thập kỷ 90, nhưng ở Mỹ và châu Âu VR đã và đang trở thành một công nghệ mũi nhọn nhờ khả năng ứng dụng rộng rãi trong mọi lĩnh vực (nghiên cứu và công nghiệp, giáo dục và đào tạo cũng như thương mại, giải trí,..) tiềm năng kinh tế, cũng như tính lưỡng dụng (trong dân dụng, quân sự) của nó. Thuật ngữ "virtual reality" - thực tại ảo - được đưa ra bởi Jaron Lanier (người sáng lập công ty VPL Research, tại Redwood - California, một trong những công ty đầu tiên cung cấp các sản phẩm cho môi trường ảo, virtual environment). Hiện nay, có nhiều định nghĩa về thực tại ảo, một trong các định nghĩa được chấp nhận rộng rãi là của C. Burdea và P. Coiffet thì có thể hiểu VR tương đối chính xác như sau: VR- Thực Tế Ảo là một hệ thống giao diện cấp cao giữa Người sử dụng và Máy tính. Hệ thống này mô phỏng các sự vật và hiện tượng theo thời gian thực có tương tác với người sử dụng qua tổng hợp các kênh cảm giác. Đó là ngũ giác gồm: thị giác, thính giác, xúc giác, khứu giác, vị giác.[4](approve sites) Sự hình dung liên quan đến các tác động đầu ra mà máy tính tạo ra về thị giác, thính giác hay các giác quan khác khi người sử dụng tương tác với thế giới bên trong máy tính. Thế giới này có thể là các mô hình được thiết kế với sự trợ giúp của máy tính, là sự mô phỏng hay là cách nhìn nhận một cơ sở dữ liệu. Hệ thống có thể có tính động, có các mô phỏng vật lý hay các hoạt cảnh. 6 Ngày nay, ứng dụng của thực tại ảo có thể thấy được rất nhiều trong thế giới hàng ngày của chúng ta. Khi tiến hành mua ô tô qua mạng, người mua rất cần thấy được hình ảnh trực quan của chiếc ô tô cần mua, quan sát từ nhiều góc độ, thậm chí có thể thử độ rung xóc, các hiệu ứng khi vận hành xe... Một số ứng dụng thực tại ảo thể hiện các hiệu ứng khó có thể đạt được trong những điều kiện thông thường như việc thể hiện các vụ thử hạt nhân, các thí nghiệm khoa học, các hệ thống điều khiển không lưu... 1.1.2. Đặc điểm của một hệ thống thực tại ảo :  VR là một hệ thống mô phỏng trong đó đồ họa máy tính được sử dụng để tạo ra một thế giới "như thật". Hơn nữa, thế giới "nhân tạo" này không tĩnh tại, mà lại phản ứng, thay đổi theo ý muốn (tín hiệu vào) của người sử dụng (nhờ hành động, lời nói,..). Người sử dụng tương tác với mô hình ảo, trong đó tương tác được mô phỏng từ thao tác với các đối tượng thực. Điều này xác định một đặc tính chính của VR, đó là tương tác thời gian thực (real-time interactivity). Thời gian thực ở đây có nghĩa là máy tính có khả năng nhận biết được tín hiệu vào của người sử dụng và thay đổi ngay lập tức thế giới ảo. Người sử dụng nhìn thấy sự vật thay đổi trên màn hình ngay theo ý muốn của họ và bị thu hút bởi sự mô phỏng này. Điều này chúng ta có thể nhận thấy ngay khi quan sát trẻ nhỏ chơi video game.  Các phương pháp hiển thị có độ phân giải và tốc độ cao lôi cuốn người sử dụng tạo cảm giác như trong thực tế khả năng thu hút của VR góp phần lớn vào cảm giác đắm chìm (immersion), cảm giác trở thành một phần của hành động trên màn hình mà người sử dụng đang trải nghiệm. Nhưng VR còn đẩy cảm giác này "thật" hơn nữa nhờ tác động lên tất cả các kênh cảm giác của con người. Trong thực tế, người dùng không những nhìn thấy đối tượng đồ họa 3D nổi, điều khiển (xoay, di chuyển,..) được đối tượng trên màn hình (như trong game), mà còn sờ và cảm thấy chúng như có thật. Ngoài khả năng nhìn (thị giác), nghe (thính giác), sờ (xúc giác), nhiều nghiên cứu hiện nay đã nghiên cứu để tạo các cảm giác khác như ngửi (khứu giác), nếm (vị giác). Tuy nhiên hiện nay trong VR các cảm giác này cũng ít được sử dụng đến.  Như trên đã trình bày, 2 đặc tính chính của VR là Tương tác và Đắm chìm, đây là hai "I" (Interactive, Immersion) mà nhiều người đã biết. Tuy nhiên VR cần có 1 đặc tính thứ 3 mà ít người để ý tới. VR không chỉ là một hệ thống tương tác Người- Máy tính, mà các ứng dụng của nó còn liên quan tới việc giải 7 quyết các vấn đề thật trong kỹ thuật, y học, quân sự,...Các ứng dụng này do các nhà phát triển VR thiết kế, điều này phụ thuộc rất nhiều vào khả năng Tưởng tượng của con người, đó chính là đặc tính "I" (Imagination) thứ 3 của VR. Do đó có thể coi VR là tổng hợp của 3 yếu tố: Tương tác- Đắm chìm- Tưởng tượng, (3 I trong tiếng Anh: Interactive- Immersion- Imagination). 1.1.3. Một số loại hệ thống thực tại ảo Hệ thống Window on a World còn gọi là Desktop VR, là các chương trình thực tại ảo chạy trên các máy tính cá nhân. Các hệ thống này ra đời từ rất sớm, tuy nhiên chúng chỉ là các ứng dụng đồ hoạ máy tính nhỏ luôn gặp phải khó khăn là làm thế nào để hình ảnh, âm thanh và các đối tượng hoạt động như trong thực tế. Hệ thống kết hợp các hình ảnh video với các hình ảnh đồ hoạ 2D làm cho chúng ta có cảm giác người được quay video đang tương tác với các đối tượng. Phương pháp này được áp dụng từ cuối những năm 1960 và được mô tả chi tiết trong 2 cuốn sách "Artificial Reality" và "Artificial Reality II" của Myron Kruger. Nó đã được áp dụng vào hệ thống thương mại Mandala của kênh truyền hình cáp Nickelodeon cho chương trình giải trí mà trong đó những người dự thi xuất hiện với những hình ảnh rất lớn và ngộ nghĩnh. Hệ thống immersive là các hệ thống mà người sử dụng dùng thiết bị đặc biệt như màn hình gắn trên đầu (head-mounted display HMD), kính đặc biệt, các bộ cảm ứng và đắm chìm vào bên trong thế giới ảo do các thiết bị này tạo ra. Hệ thống quan sát từ xa (telepresence systems) kết nối các bộ cảm biến từ xa đặt trong thế gíới thực với các giác quan của người vận hành. Ví dụ, chúng ta gắn các bộ cảm biến vào các cơ quan trên cơ thể và đeo một chiếc kính thực tại ảo. Chiếc kính này nhận các tín hiệu quan sát được từ vị trí của một robot ở một 8 khoảng cách xa và chúng ta sẽ thấy những gì mà robot thấy để rồi chúng ta có các phản ứng như chính ta đang nhìn thấy các hình ảnh đó. Các phản ứng này, theo các bộ cảm biến được nối với máy tính sẽ chuyển đến các bộ phận tương ứng của robot, kết quả là robot sẽ bắt chước các hoạt động của chúng ta. Điều này thực sự ý nghĩa nếu robot được đặt trên một hành tinh xa xôi hay trong lòng núi lửa. Hệ thống hỗn hợp (mixed realityseamless simulation systems), là sự kết hợp các hệ thống hiện thực ảo đã trình bày ở trên. 1.1.4. Các thành phần của một hệ thống thực tại ảo Hệ thống thực tại ảo bao gồm 3 thành phần chính sau: HW (phần cứng), bộ giả lập thực tại (reality simulator), ứng dụng (application). HW (phần cứng) Phần cứng của một VR bao gồ m: Các thiết bị đầu vào (Input devices): Chúng bao gồm những thiết bị đầu ra có khả năng kích thích các giác quan để tạo nên cảm giác về sự hiện hữu trong thế giới ảo. Chẳng hạn như màn hình đội đầu HMD, chuột, các tai nghe âm thanh nổi - và những thiết bị đầu vào có khả năng ghi nhận nơi người sử dụng đang nhìn vào hoặc hướng đang chỉ tới, như thiết bị theo dõi gắn trên đầu (headtrackers), găng tay hữu tuyến (wire-gloves). Các thiết bị đầu ra (Output devices): gồm hiển thị đồ họa (như màn hình, HDM,..) để nhìn được đối tượng 3D. Thiết bị âm thanh (loa) để nghe được âm thanh vòm (như Hi-Fi, Surround,..). Bộ phản hồi cảm giác (Haptic feedback như găng tay,..) để tạo xúc giác khi sờ, nắm đối tượng. Bộ phản hồi xung lực (Force Feedback) để tạo lực tác động như khi đạp xe, đi đường xóc,... Bộ giả lập thực tại (reality simulator) Là trái tim của hệ thống thực tại ảo, bao gồm hệ thống máy tính và phần cứng ngoại vi, thiết bị đồ hoạ và multimedia; cung cấp cho bộ tác động những thông tin giác quan cần thiết. Trong hệ thống mô phỏng cabin lái, thì mô hình cabin là thành phần này. Ứng dụng (application) Phần mềm luôn là linh hồn của VR cũng như đối với bất cứ một hệ thống máy tính hiện đại nào. Về mặt nguyên tắc có thể dùng bất cứ ngôn ngữ lập trình hay phần mềm đồ họa nào để mô hình hóa (modelling) và mô phỏng (simulation) các đối tượng của VR. Ví dụ như các ngôn ngữ (có thể tìm miễn phí) Open GL, Open Scene Graph?, Open SG?, C++, Java 3 D?, VRML, X 3 9 D?, ...hay các phần mềm thương mại như World Tool Kit?, People Shop?,Ve Ga?... Phần mềm của bất kỳ VR nào cũng phải bảo đảm 2 công dụng chính: Tạo hình và Mô phỏng. Các đối tượng hình học (geometry). Thành phần này bao gồm những thông tin mô tả các thuộc tính vật lý (hình dạng, màu sắc, vị trí...) của các đối tượng trong môi trường ảo. Thông thường, các đối tượng hình học được xây dựng bởi các phần mềm CAD, sau đó dữ liệu có thể được chuyển qua một trong số các định dạng file khác phù hợp với việc thể hiện trong ứng dụng. Sau đó phần mềm VR phải có khả năng mô phỏng động học, động lực học, và mô phỏng ứng xử của đối tượng.  Không gian trong thế giới ảo (World Space) Bản thân thế giới ảo cũng cần được định rõ trong một không gian gọi là „world space‟. Do bản chất tự nhiên của thế giới ảo là một mô phỏng máy tính, nên thế giới ảo có hạn chế nhất định. Vị trí của mỗi điểm của mỗi đối tượng trong thế giới đó đều phải được gán cho một giá trị số (toạ độ). Các toạ độ này thường được mô tả trong hệ toạ độ Đê-các-tơ với các thứ nguyên X, Y và Z (biểu diễn độ dài, độ cao, độ sâu). Cũng có thể sử dụng các hệ toạ độ khác như hệ toạ độ cầu, nhưng hệ toạ độ Đê-các-tơ vẫn là chuẩn cho hầu hết các ứng dụng. Sự chuyển đổi giữa các hệ toạ độ này cũng khá đơn giản.  Cơ sở dữ liệu cho thế giới ảo (World Database) Lưu trữ thông tin về các đối tượng và thế giới ảo là một phần quan trọng trong việc thiết kế hệ thống thực tại ảo VR. Những thông tin chính được lưu trữ trong World Database (hoặc World Description Files) là các đối tượng ở trong thế giới đó, các kịch bản (scripts) mô tả các hành động của các đối tượng hoặc người sử dụng (những kịch bản, phản ứng xảy ra đối với người sử dụng), ánh sáng, các điều khiển chương trình, và hỗ trợ thiết bị phần cứng. Có nhiều cách lưu trữ thông tin về thế giới ảo: một file đơn, một tập các file, hoặc là cả một cơ sở dữ liệu. Phương pháp sử dụng nhiều file là một trong những hướng tiếp cận thường gặp nhất trong những package phát triển về thực tại ảo. Mỗi một đối tượng có một hoặc nhiều file (file lưu trữ về hình dạng hình học, file lưu trữ scripts, v.v...) và có một số file toàn cục sử dụng chung cho thế giới ảo đó có tác dụng load các file khác. Một số hệ thống còn bao gồm cả một file cấu hình định nghĩa về các kết nối giao diện phần cứng. Đôi khi toàn bộ cơ sở dữ liệu được load trong khi chương trình khởi động, các hệ thống khác chỉ việc đọc các file 10 mà hệ thống cần tại thời điểm đó. Với cách tiếp cận về sau (các thông tin được lưu trữ trong một cơ sở dữ liệu), một hệ thống cơ sở dữ liệu thực sẽ giúp ích rất nhiều. Một cơ sở dữ liệu hướng đối tượng (Object Oriented Database) sẽ thích hợp nhất cho một hệ thống thực tại ảo, nhưng chưa thấy có một dự án nào sử dụng cách tiếp cận này. Các file dữ liệu đa phần thường được lưu trữ dưới dạng các file văn bản sử dụng mã ASCII (con người có thể đọc được). Tuy nhiên, trong nhiều hệ thống, các file này được thay thế bởi các file lưu trữ dưới dạng mã nhị phân (máy tính có thể đọc được). Một số hệ thống dịch trực tiếp các thông tin về thế giới ảo đó vào ứng dụng. Phần cứng của hệ thống thực tại ảo Các hệ thống thực tại ảo xét ở góc độ phần cứng được phân chia thành một số mức như sau: Mức độ tiếp nhận (Entry VR - EVR), là một máy tính cá nhân hay một máy trạm thực hiện như một hệ thống Wo W?. Hệ thống này có thể chạy trên nền IBM, Apple Macintosh... Hệ thống cơ bản (Basic VR - BVR), được phát triển từ một hệ thống EVR với sự bổ sung các tương tác cơ bản và nâng cao chất lượng thể hiện. Các thành phần bổ sung có thể là những thiết bị đặc biệt như kính, joystick... Hệ thống nâng cao (Advanced VR - AVR), trong hệ thống này, cùng với thiết bị tăng tốc đồ hoạ, quá trình xử lý còn được nâng lên một bước với các bộ xử lý song song. Hệ thống thực tại ảo Immersion (Immersion VR - IVR), trong hệ thống này, với các thiết bị như HMD, các màn hình cực lớn tạo cảm giác chìm đắm, người sử dụng có thể cảm nhận các giác quan như xúc giác, thính giác, cơ chế tương tác có phản hồi với thế giới ảo. Các thiết bị mô phỏng cabin (Cockpit Simulators), đây là các hệ thống khá thông dụng cho phép mô phỏng cabin lái máy bay, ô tô, tàu biển hay các phương tiện giao thông nói chung. Một hệ thống như vậy có thể tạo ra một môi trường 11 ảo, trong đó người sử dụng điều khiển thiết bị giả lập và nhận được cảm giác như khi thao tác ở môi trường thực tế. Ví dụ về một hệ thống loại này sẽ được phân tích kỹ trong phần sau. Các hệ thống mô phỏng quân sự qua mạng máy tính được phát triển chưa nhiều do độ phức tạp và khả năng công nghệ. Chúng cho phép mô phỏng các trận đánh trong đó thể hiện cả ý đồ chiến thuật, nghệ thuật quân sự. SIMNET là một hệ thống điển hình của ủy ban quản lý các dự án nghiên cứu cao cấp Bộ quốc phòng Mỹ (DARPA). 1.1.5. Một số ứng dụng chính của VR Tại các nước phát triển, chúng ta có thể nhận thấy VR được ứng dụng trong mọi lĩnh vực: Khoa học kỹ thuật, kiến trúc, quân sự, giải trí,... và đáp ứng mọi nhu cầu: Nghiên cứu- Giáo dục- Thương mại. Y học là lĩnh vực ứng dụng truyền thống của VR(approve sites). Bên cạnh đó VR cũng được ứng dụng trong giáo dục, nghệ thuật, giải trí. Trong lĩnh vực quân sự, VR cũng được ứng dụng rất nhiều ở các nước phát triển. Bên cạnh các ứng dụng truyền thống ở trên, cũng có một số ứng dụng mới nổi lên trong thời gian gần đây của VR như: VR ứng dụng trong sản xuất, VR ứng dụng trong ngành rôbốt, VR ứng dụng trong hiển thị thông tin (thăm dò dầu mỏ, hiển thị thông tin khối,....) VR có tiềm năng ứng dụng vô cùng lớn. Có thể nói tóm lại một điều: Mọi lĩnh vực "có thật " trong cuộc sống đều có thể ứng dụng "thực tế ảo" để nghiên cứu và phát triển hoàn thiện hơn. 1.2. Mô phỏng lửa và ý nghĩa 1.2.1. Tầm quan trọng của lửa và mô phỏng lửa Hàng triệu năm về trước, những người nguyên thủy đã bắt đầu sử dụng lửa như một công cụ để sưởi ấm, xua đuổi thú dữ. Lửa cũng là nguồn ánh sáng và hơi ấm, lửa dùng trong nấu nướng, công cụ truyền tin thô sơ và được dùng trong các lễ hội buổi đêm . Lửa từ khi mới xuất hiện đã chiếm vai trò cực kì quan trọng trong đời sống vật chất cũng như tâm linh của con người vì sự ứng dụng rộng rãi của nó. Lửa được coi là phát minh vĩ đại nhất của xã hội con người từ thủa sơ khai. Cuộc sống con người đã rất hiện đại, nhiều nguồn năng lượng mới được tạo ra, nhiều công cụ được phát minh để phục vụ cuộc sống, nhưng lửa vẫn là một phần không thể thiếu, không những trong cuộc sống thường ngày mà còn trong khoa học, kĩ thuật. Không chỉ mang lại những lợi ích, lửa còn là nỗi khiếp sợ 12 của loài người với những vụ cháy, nổ với thiệt hại vô cùng lớn. Hằng ngày, hằng giờ, những thảm họa do lửa gây nên vẫn diễn ra trên khắp thế giới. Hình 1: Cháy ở Canifornia 2009 Hình 2: Cháy rừng ở Nga năm 2010 Những lợi ích cũng như những tác hại của lửa đã gây ra cho con người nên việc mô phỏng lửa là một việc làm cần thiết. Khi hiểu rõ về bản chất và hoạt động của lửa thì con người mới có khả năng sử dụng hiê ̣u quả nguồn năng lượng của nó và ngăn ngừa các tai họa mà lửa có thể gây ra. Ngoài ra, việc mô phỏng lửa cũng rất cần thiết trong công nghê ̣ giải trí ví du ̣ như : trong điện ảnh và game vi tính. Vì người ta không thể tạo ra những vụ cháy thật sự chỉ để cho một lần quay một cảnh phim khi không quá cần thiết gây tố n kém và nguy hiể m , trong 13 khi đòi hỏi của người xem ngày càng cao, những hoạt cảnh cháy nổ phải diễn ra có tính chấ t nguy hiể m y như ngoài đời thực. 1.2.2. Tổng quát về mô phỏng lửa Theo tính chấ t vâ ̣t lý , hóa học và khí động học của l ửa, lửa có thể được xem xét từ nhiều khía cạnh. Nó là một nguồn bức xạ, một hỗn hợp khí hoạt động theo các qui luật của cơ chế khí động học, hay một vật chất trong suốt điều biến ánh sáng. Tuy nhiên, khi mô phỏng ngọn lửa chúng ta chỉ tập trung vào mô hình hình ảnh của lửa, bởi vì mục tiêu chính của chúng ta là xây dựng mô hình trực quan của ngọn lửa. Các thuộc tính vật lý của nó có thể được xác định bằng phương thức quang học dựa vào mô hình đó. Phần lớn các mô hình hình ảnh đặc tả ngọn lửa như một vật chất phát ra ánh sáng và có tính trong suốt cao và mặc nhận nó là môi trường không tán xạ. Khi không có khói hay độ ẩm thì giả định này là có thể chấp nhận được. Thể hiện ngọn lửa trong đồ họa vi tính cần tạo ra một cảm giác trực quan đúng đắn về tính động của lửa. Hiện tại có rất nhiều mô hình được sử dụng để mô phỏng ngọn lửa. Trong các mô hình cháy vẫn đang khá sơ sài ở thời điểm hiện tại, các tia lửa được mô phỏng khá thuyết phục bằng cách sử dụng mô hình đơn giản của cơ chế đốt cháy hỗn hợp khí – nhiên liệu cũng như bằng các mô hình thủ tục phức tạp hơn. Những mô hình nắm bắt các chuyển động của lửa cũng như các thuộc tính như sự khuếch tán, sự đối lưu, sự nổ hay sự nhiễu loạn. Tiến trình thể hiện ngọn lửa là vấn đề then chốt của mô phỏng lửa. Trong một thể hiện ba chiều của ngọn lửa, các hình ảnh có thể được tạo ra rất nhanh bằng các kĩ thuật tận dụng sức mạnh của phần cứng để cho ta cảm giác thực sự về một ngọn lửa. Để có kết quả tốt hơn, người ta có thể sử dụng các kĩ thuật như ánh xạ photon coi ngọn lửa như là các nguồn sáng hạt thật sự. Các hiệu ứng tâm lý như sự điều chỉnh của mắt người khi thay đổi độ sáng của ngọn lửa cũng được sử dụng. Để thể hiện ngọn lửa, ta có thể sử dụng những kĩ thuật đơn giản như phép chiếu thẳng và phép theo vết tia sáng. Chúng ta cũng có thể sử dụng các mô hình thể hiện ngọn lửa dựa trên hình ảnh để tận dụng các thông tin ở các hình ảnh sử dụng. Phương hướng trong tương lai là ứng dụng các phân tích chuẩn về các tính chất của ngọn lửa như tính mờ để đề ra các phương thức mới, mở rộng các phương thức mô phỏng để có thể thể hiện được các thuộc tính vật lý khác của ngọn lủa và thiết kế phương thức để đánh giá một cách khách quan và đáng tin cậy các thuộc tính này. [5] 14 Dưới đây là một số chương trình mô phỏng lửa nổi tiếng đã được xây dựng và có ứng dụng khá quan trọng. Wildland Fire Simulation là một sản phẩm của DAS (Dynamic Animations Systems Inc.) làm cho Học viện Quốc gia về lửa (National Fire Academy) và Cục quản lí rừng Hoa Kỳ (US Forest Service); chương trình này cho phép mô phỏng một đám cháy rừng với các điều kiện môi trường và địa chất được tùy biến và cung cấp các phân tích kết quả cho người dùng [6]. Fire Dynamics Simulator là một dự án mở của Học viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (National Institute of Standards and Technology) mô phỏng sự phát sinh của lửa và đưa ra các kết quả phân tích về tác động của lửa. Đây là một chương trình mô phỏng lửa khá thành công và nổi tiếng [7]. Hình 3:Wildland Fire Simulation 15 Hình 4: Fire Dynamics Simulator CHƢƠNG 2: MÔ PHỎNG LỬA BẰNG PHƢƠNG PHÁP PARTICLE  Cơ sở lý thuyế t để xây dƣ̣ng kỹ thuâ ̣t mô phỏng lƣ̉a  Mô phỏng lửa bằng Particle 2.1. Cơ sở lý thuyế t để xây dƣ̣ng kỹ thuâ ̣t mô phỏng lƣ̉a Mô hình hóa các hiện tượng như mây, khói, nước, lửa… với các kĩ thuật tổng hợp hình ảnh hiện tại rất khó khăn. Bề mặt của những đối tượng này chưa được định nghĩa rõ ràng bằng các phương trình toán học mà rất phức tạp, không có qui luật. Đặc biệt, chúng luôn chuyển động và hay thay đổi. Do đó các đối tượng không định hình như thế này không thể được mô hình bằng các kĩ thuật biến đổi thông thường dành cho các vật thể cứng hay các hiện tượng thông thường khác trong đồ họa vi tính. Particle là một trong những phương pháp đặc biệt được dùng để mô phỏng các đối tượng kiểu này. 2.1.1. Định nghĩa Particle System Particle System được định nghĩa như sau: Một Particle System là một tập hợp các thành phần hay các hạt (particle) riêng biệt. Particle System điều khiển tập particle đó, cho phép chúng hoạt động một cách tự động nhưng với một số thuộc tính chung nhất định. [8] 16 2.1.2. Đặc tính của Particle System Particle System có ba đặc tính riêng khác hẳn với các kĩ thuật tổng hợp hình ảnh thông thường khác. Đó là: 1. Một đối tượng được biểu diễn không phải bởi một tập các thành phần bề mặt cơ bản như các đa giác hay các miếng nhỏ bề mặt để tạo ra bề mặt biên, mà được cấu thành từ tập particle để tạo ra hình khối. 2. Particle System không phải là thực thể tĩnh mà chuyển động và thay đổi hình dạng theo thời gian. Các particle liên tục "chết đi" và các particle mới được "sinh ra". 3. Một đối tượng được biểu diễn bằng Particle System không được xác định hoàn toàn, cả về đường nét lẫn hình dạng. Thay vào đó, nó được xác định bằng các tiến trình ngẫu nhiên. Trong việc mô hình hóa các đối tượng không định hình, phương pháp Particle System có một số ưu điểm quan trọng so với các kĩ thuật hướng bề mặt cổ điển: 1. Một particle là một thành phần nguyên tố đơn giản hơn cả đa giác – thành phần đơn giản nhất của kĩ thuật mô hình dựa trên bề mặt. Do đó, trong một khoảng thời gian xử lí của máy tính, ta có thể tạo ra nhiều quá trình xử lí hơn, xây dựng hình ảnh phức tạp hơn. Cũng do đơn giản hơn nên việc tạo hiệu ứng nhòe khi chuyển động cho particle sẽ dễ dàng hơn. Việc tạo hiệu ứng nhòe cho khi đối tượng di chuyển nhanh phần lớn đã bị bỏ qua trong kĩ thuật tổng hợp hình ảnh cho đến ngày nay. 2. Định nghĩa mô hình được xác định theo thủ tục, và được điều khiển bởi các số ngẫu nhiên. Do đó, việc nhận về một mô hình với độ chi tiết cao không yêu cầu một thời gian thiết kế lớn như trong các hệ thống hướng bề mặt. Vì nó là theo thủ tục, một Particle System có thể tự điều chỉnh mức độ chi tiết của nó để phù hợp với tập các tham số đã được xác định cho việc quan sát. Cũng như với các bề mặt Fractal, càng phóng đại một Particle System càng cho ta những hình ảnh chi tiết hơn. 3. Một đối tượng được mô phỏng bằng Particle System là một đối tượng "sống", có nghĩa là chúng thay đổi theo thời gian. Rất khó để có thể mô hình sự chuyển động phức tạp này bằng các kĩ thuật mô hình dựa vào bề mặt đối tượng. Particle System không phải là một ý tưởng đã có từ lâu . Khoảng 50 năm trước thì những trò chơi vi tính đầu tiên cũng đã sử dụng rất nhiều các pixel 17 chuyển động để tạo ra vụ nổ của vũ khí (SpaceWar – 1962, Asteroids – 1978…). Particle System cũng đã được sử dụng để tạo ra các hiệu ứng 3D trong các bộ phim từ những năm 1980. Alvy Ray Smith và Jim Blinn sử dụng particle để mô hình hóa việc hình thành và chết đi của các vì sao trong các dải ngân hà trong Cosmos, một seri phim truyền hình về nguồn gốc sự sống và vị trí của trái đất trong vũ trụ được phát hành lần đầu năm 1980. Star Trek II, bộ phim nổi tiếng về đề tài chiến tranh vũ trụ được phát hành năm 1982 cũng sử dụng kĩ thuật Particle System để xây dựng hiệu ứng các vụ nổ ngoài vũ trụ. Trong phần tiếp theo, chúng ta sẽ nghiên cứu rõ hơn kĩ thuật xây dựng một Particle System. 2.1.3 Mô hình mô phỏng bằng phƣơng pháp Partical Một Particle System là một tập hợp của nhiều particle nhỏ kết hợp cùng nhau tạo nên một đối tượng không định hình. Trong một khoảng thời gian, các particle được hệ sinh ra, chuyển động và thay đổi trong hệ, sau đó chết đi. Để tính toán mỗi khung hình trong một chuỗi chuyển động, chúng ta cần tiến hành các bước sau đây: 1. Các particle mới được sinh ra trong hệ. 2. Mỗi particle được gán cho các thuộc tính riêng biệt. 3. Bất cứ một particle nào đã tồn tại trong hệ một thời gian đều bị làm mờ dần. 4. Các particle còn sống trong hệ chuyển động và biến đổi dựa theo các thuộc tính động của nó. 5. Một hình ảnh của các particle đang sống được kiết xuất trong bộ đệm khung hình (frame buffer). Particle System có thể được lập trình để thực thi bất cứ tập lệnh nào ở mỗi bước. Do có tính thủ tục, phương pháp này có thể phối hợp bất cứ mô hình tính toán nào dùng để mô tả bề ngoài và chuyển động của đối tượng. Ví dụ, sự chuyển động và biến đổi của các particle có thể được gắn vào các phương trình vi phân cục bộ, hay các thuộc tính của particle có thể được gán vào các cơ chế thống kê xác suất cơ bản. Do vậy, chúng ta có thể tận dụng các ưu điểm của các mô hình được phát triển trong nhiều môn khoa học hay kĩ thuật khác nhau. Trong phạm vi tài liệu này, chúng ta sẽ chỉ sử dụng các tiến trình ngẫu nhiên đơn giản làm thủ tục nguyên tố cho mỗi bước trong quá trình tạo ra các khung hình cho Particle System. Để điều khiển hình dáng, bề mặt và sự chuyển động của các particle trong một Particle System, chúng ta sẽ sử dụng một tập các tham số. Chuyển động và biến đổi của các particle sẽ được ràng buộc vào 18 các tham số ngẫu nhiên này. Nói một cách tổng quát, mỗi tham số sẽ xác định một dải giá trị mà mỗi particle sẽ nhận một giá trị trong khoảng đó. Các phần tiếp theo sẽ nói rõ hơn từng bước để tạo nên một Particle System. 2.1.3.1. Sự khởi tạo ra các particle Các particle tạo ra trong Particle System được điều khiển bởi các tiến trình ngẫu nhiên. Một tiến trình xác định số particle được sinh ra và tham gia vào hệ trong một khoảng thời gian. Con số này sẽ ảnh hưởng đến mật độ của đối tượng đang được xây dựng. Có hai cách để điều khiển số lượng particle mới được sinh ra: 1. Xác định số trung bình của số lượng particle được sinh ra trong một khung hình và khoảng biến đổi của nó. Khi đó, số lượng particle thực sự trong một frame f là: Nf = Meanf + Rand() Varf (1) Trong đó Rand() là một thủ tục trả về một giá trị ngẫu nhiên nằm trong khoảng [-1, 1]; Meanf là số lượng trung bình các particle, Varf là khoảng biến đổi của nó. 2. Số lượng particle phụ thuộc vào cỡ mà đối tượng thể hiện trên màn hình. Trong phương pháp này, ta cần xác định các tham số của điểm quan sát so với một khung hình cụ thể của đối tượng, tính toán vùng màn hình mà nó bao phủ và đưa ra số lượng particle mới phù hợp. Phương trình cụ thể như sau: Nf = (Meansaf + Rand()Varsaf)  ScreenArea (2) Trong đó Meansaf là số lượng trung bình particle trên mỗi đơn vị diện tích màn hình, Varsaf là khoảng biến đổi của nó và ScreenArea là diện tích phần màn hình mà Particle System bao phủ. Phương pháp này cho phép điều khiển mức độ chi tiết của Particle System, và do đó, cả thời gian cho việc render các hình ảnh của Particle System. Để điều khiển cường độ của Particle System, người thiết kế phải điều khiển số lượng particle trung bình được sinh ra cho mỗi frame. Tiến trình này có thể sử dụng một hàm tuyến tính đơn giản như sau: Meanf = InitialMean + DeltaMean  (f – f0) Hay: (3)
- Xem thêm -