ĐẠ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 -