CHƢƠNG 3 : CHƢƠNG TRÌNH THỬ NGHIỆM
3.2. Các kĩ thuật liên quan
3.2.1. VRML
VRML được sử dụng trong chương trình để xây dựng các đối tượng như đèn cồn, ống nghiệm, giá đỡ.
VRML (Virtual Reality Modelling Language) là một ngôn ngữ được dùng để xây dựng các mô hình thực tại ảo trên máy vi tính. VRML cho phép mô tả những vật thể hay thế giới ảo 3D có tương tác. Ứng dụng VRML có thể được sử dụng thông qua mạng Internet, Intranet hay trên một máy tính cá nhân. Do tính chất đơn giản và khả năng hỗ trợ web 3D, VRML được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau như giáo dục, kiến trúc, khoa học trực quan, trò chơi điện tử, phân tích tài chính, thị trường ảo…
Nếu HTML là định dạng văn bản thì VRML là một định dạng đối tượng 3D. Cũng như HTML, VRML mô tả chính xác cách các hình ảnh, văn bản và liên kết kết hợp với nhau để tạo nên một trang web. Khác với HTML, VRML có thể thể hiện được những tương tác, ảnh hưởng lẫn nhau của các đối tượng được mô tả trong không gian ảo nó tạo ra. Tuy cơ chế giống nhau và cùng hoạt động trên môi trường web, nhưng VRML không phải là mở rộng của HTML: HTML là ngôn ngữ định dạng siêu văn bản còn VRML được thiết kế riêng cho việc thể hiện các đối tượng và tương tác 3D.
VRML ra đời vào năm 1994 tại hội thảo quốc tế về World Wide Web được tổ chức ở Geneva, Thụy sĩ. Tại cuộc hội thảo đó, Tim Berners-Lee và Dave Raggett đã tổ chức ra phiên họp có tên là Birds-of-a-Feather (BOF) để mô tả giao diện thực tại ảo trên World Wide Web. Nhiều thành viên tham dự phiên họp BOF đã mô tả nhiều dự án thực hiện việc xây dựng các công cụ hiển thị đồ họa ba chiều cho phép có nhiều thao tác hữu ích trên Web. Những thành viên này đã nhất trí đồng ý sự cần thiết cho các công cụ này có một ngôn ngữ chung, phổ biến cho định dạng, xác định việc mô tả thế giới 3D và các siêu liên kết World Wide Web. Vì thế cụm từ “Virtual Reality Markup Language” ra đời, từ Markup sau đó đã được đổi thành Modelling để phản ánh bản chất tự nhiên của VRML. Sau phiên họp này, một nhóm các chuyên gia đã được thành lập để phát triển VRML phiên bản đầu tiên. Các yêu cầu cho việc thiết kế VRML phiên bản 1 được đưa ra như sau:
- Khả năng kết hợp: Cho phép sử dụng và kết hợp các đối tượng 3D động từ nhiều nguồn trong một thế giới ảo VRML và do đó cho phép sử dụng lại dễ dàng.
- Khả năng mở rộng : Có khả năng thêm vào các kiểu đối tượng không được định nghĩa rõ ràng trong VRML như âm thanh.
- Hoạt động: Tập trung vào khả năng tương tác, mở rộng hoạt động trên nhiều nền khác nhau (độc lập với nền) qua môi trường mạng.
Một file VRML là một tập hợp các đối tượng gọi là nút (Node). VRML có 3 nhóm nút cơ bản :
1. Nút hình học (Shape nodes): Dùng để mô tả hình dạng hình học của đối tượng. VRML hỗ trợ 4 loại nút hình học cơ bản là Sphere (hình cầu), Cone (hình nón), Cube (hình hộp), Cylinder (hình trụ).
2. Nút thuộc tính (Property nodes): Qui định cách thể hiện của đối tượng lên màn hình. Nút thuộc tính quan trọng nhất là Material qui định màu sắc và thể hiện của đối tượng. Màu sắc trong VRML sử dụng hệ màu RGB với giá trị của từng màu nằm trong đoạn [0, 1].
3. Nút tổng (Grouping nodes): Nhóm nhiều đối tượng thành một đối tượng duy nhất.
Mỗi nút trong VRML có các trường (Field) chứa thông tin các thuộc tính của nút. Một nút được gọi là nút tổng (Group Node) nếu nút đó bao gồm nhiều nút con. Các nút được tổ chức theo cây cấu trúc được gọi là đồ thị màn hình (scene graph). Không đơn thuần chỉ là tập hợp các nút, đồ thị này còn qui định tổ chức, thứ tự của các nút để tạo thành hình ảnh của đối tượng. Trong đồ thị, các nút xuất hiện trước sẽ ảnh hưởng tới các nút xuất hiện sau. [13, 14]
Hình 17: Mô hình tổ chức của một file VRML
Dưới đây là một ví dụ về một file VRML đơn giản.
Hình 18: Hình hộp đơn giản viết bằng VRML
3.2.2. Billboard
Particle sử dụng các ảnh 2D để thể hiện hình ảnh. Khi nhìn chính diện, hình ảnh 2D được thể hiện đúng đắn nhất. Tuy nhiên, ở một góc nhìn khác, hình ảnh của particle sẽ khác đi và sẽ không còn thể hiện đúng như mong muốn của người thiết kế. Billboard là một kĩ thuật cho phép một đối tượng luôn luôn đối mặt với một mục tiêu cụ thể, thường là camera. Khi áp dụng kĩ thuật này vào thể hiện particle system, hình ảnh của nó sẽ luôn luôn thống nhất cho dù người dùng nhìn từ bất cứ hướng nào.
# VRML V2.0 utf8
# example1.wrl - a yellow box Shape {
geometry Box { }
appearance Appearance { material Material {
diffuseColor 1.0 1.0 0.0 # red, green, blue }
} }
Kỹ thuật này khá phổ biến trong các trò chơi vi tính và các ứng dụng khác sử dụng rất nhiều các đối tượng hình học cơ bản (đa giác) để tạo nên một đối tượng (các ứng dụng particle system nằm trong những kiểu ứng dụng này). Nó được dùng để giảm bớt số lượng các đa giác để mô hình hóa một mô hình bằng việc sử dụng các kết cấu giả mạo (impostor texture). Ví dụ kinh điển cho trường hợp này là việc thể hiện một cái cây. Để mô phỏng một cái cây bằng các đa giác một cách hoàn chỉnh, đặc biệt là cây vào mùa xuân, chúng ta cần rất nhiều các đa giác. Billboard cho phép ta thay thế mô hình hình học phức tạp của cây này với một kết cấu bề mặt áp dụng lên chỉ một hình vuông! Billboard bảo đảm rằng kết cấu này luôn luôn đối diện với camera, do đó người dùng không bao giờ nhận ra rằng cái cây thực chất chỉ là một hình vuông phẳng với hoa văn trên đó, trừ khi họ vượt qua giới hạn mà khi đó ảo giác bị phá vỡ.
Chú ý là hiện tượng đổ bóng sẽ không được thể hiện đúng nếu như ta sử dụng một kết cấu cho mọi hướng nhìn của camera. Một cái cây 3D nếu được nhìn từ nhiều vị trí khác nhau sẽ cho các hình ảnh khác nhau nếu nguồn sáng cố định hay ít nhất là chuyển động của nó không quan hệ với camera. Một giải pháp khả dĩ cho trường hợp này là chuẩn bị nhiều kết cấu để sử dụng cho nhiều hướng nhìn khác nhau. [15]
Billboard có thể sử dụng để cho cảm giác về hình ảnh 3D mà không cần sử dụng quá nhiều đa giác để xây dựng. Tất nhiên, kỹ thuật này không chỉ sử dụng khi cần tiết kiệm đa giác. Trong trường hợp tổng quát, kĩ thuật billboad được dùng để làm cho bất cứ đối tượng nào đó luôn đối diện với một mục tiêu như trong trường hợp ứng dụng vào particle system mô phỏng lửa đã xây dựng.
PHẦN KẾT LUẬN 1. Tầm quan trọng của mô phỏng lửa
Thực ta ̣i ảo hiện diện ở mọi lĩnh vực trong đời sống, khoa học, kĩ thuật. Với sức mạnh ngày càng lớn của phần cứng cũng như sự hoàn thiện ngày càng cao của các kỹ thuật mô hình hóa, các chương trình thực ta ̣i ảo và mô phỏng bằng phần mềm ngày càng được đánh giá cao về độ chính xác. Thực ta ̣i ảo cũng như mô phỏng lửa đã được ứng dụng một cách hiệu quả trong nghiên cứu khoa học của các lĩnh vực như giải trí, dự báo cháy rừng , hỏa hoạn về lửa , xây dựng bài giảng điê ̣n tử và làm các thí nghiệm ảo trong nhà trường. Do đó, việc tìm hiểu, đào sâu nghiên cứu về các kỹ thuật thực ta ̣i ảo và mô phỏng nói chung và mô phỏng lửa nói riêng mang tầm ý nghĩa rất quan trọng và thiết thực trong sự phát triển mọi mặt của xã hội hiện tại cũng như trong tương lai.
2. Các vấn đề đã làm đƣợc
Trong phạm vi luận văn này, tôi đã làm được những vấn đề sau:
Khái quát về thực tại ảo và mô phỏng nói chung, mô phỏng vi tính nói riêng: Luận văn đã trình bày các khái niệm cơ bản của thực tại ảo và mô
phỏng cũng như các ưu, nhược điểm của nó, qua đó nêu bật lên tầm quan trọng, những thành tựu đã đạt được của thực tại ảo và mô phỏng trong cuộc sống ngày nay.
Mô hình mô phỏng bằng phƣơng pháp Particle: Luận văn đã đưa ra mô hình, các khái niệm, tính chất của cơ bản của phương pháp Particle, đây là phương pháp thích hợp để mô phỏng lửa, hoặc các vụ cháy nổ sinh ra lửa cũng như các vật chất không định hình khác như nước, mây khỏi... Cách xây dựng mô hình ngọn lửa bằng phƣơng pháp Particle: Luận
văn đã dựa trên những tính chất lý hóa học và động lực học của ngọn lửa và mô hình chung của Particle, Particle System trình bày đươ ̣c lý thuyết mô hình xây dựng một Particle System cho mô phỏng lửa.
Xây dựng chƣơng trình cụ thể cho việc mô phỏng lửa bằng phƣơng pháp Particle: Dựa trên những kiến thức cơ bản của môn học đồ họa và
xử lý ảnh, tìm hiểu rõ mô hình Patical system, tính chất lý hóa học của ngọn lửa và nhờ vào các kỹ thuật liên quan như VRML, Billboard tôi đã lập trình được một chương trình thí nghiệm “Sự nở về nhiệt” mô phỏng ngọn lửa bằng phương pháp Particle.
3. Hƣớng phát triển của luận văn
Với những viê ̣c đã làm được của luâ ̣n văn dựa vào tính chất lý , hóa học và đô ̣ng lực ho ̣c của lửa trình bày được mô hình xây dựng lửa dựa trên các tính chất đă ̣c biê ̣t của Partical và Partical system từ đó đưa ra được công thức, giải thuật và dựa vào các công thức và giải thuật đó kết hợp với các kỹ thuật hỗ trợ 3D bình thường như là : VRML (Virtual Reality Modelling Language), Billboard để lâ ̣p trình ra kết quả là ngo ̣n lửa áp dụng vào những ứng dụng khoa học , cuô ̣c sống thực tế , và những ứng dụng tạo ra được thí nghiệm ảo hay xây dựng bài giảng điện tử trong nhà trường , Kết quả nghiên cứu chưa phát huy được lợi thế của Hê ̣ thống thực ta ̣i ảo.
Để đề tài được đưa vào thực tế tốt hơn , đảm bảo tính mĩ thuâ ̣t và chuyên nghiê ̣p của mô ̣t chương trình đồ ho ̣a vi tính . Tiến tới có thể ta ̣o và kiết xuất ra những chương trình lớn hơn đáp ứng được sự tương tác với Hê ̣ thống thực ta ̣i ảo, sản phẩm mang tính thương mại hơn và áp dụng nhiều hơn thì cần phải có sự nghiên cứu sâu hơn của mô hình mô phỏng lửa bằng phương pháp Partical và Partical system , kết hợp với những kỹ thuâ ̣t khác ta ̣o ra ngo ̣n lửa như thâ ̣t . Người dùng không những nhìn thấy đối tượng ngọn lửa trong đồ họa 3D, điều khiển (xoay, di chuyển,..) được đối tượng trên màn hình, nghe thấy tiếng nổ khi lửa cháy, mà còn phải có cảm giác khi gần lửa thấy người nóng lên, tạo các cảm giác khác như ngửi thấy mùi khét khi lửa cháy vào vào vâ ̣t liê ̣u của vâ ̣t nào đó , không gian cảm thấy sáng rực lên khi lửa cháy … Tuy nhiên hiện nay vấn đề này đang còn chờ câu trả lời ở phía trước.
TÀI LIỆU THAM KHẢO Tiếng viê ̣t
1. Đỗ Năng Toàn , Phạm Viết Bình , Xử lý ảnh , Nhà xuất bản Đại học Thái nguyên - 2007.
2. Lê Tấn Hùng, Huỳnh Quyết Thắng, Kỹ thuật đồ họa, Nhà xuất bản khoa học và kỹ thuật, Hà nội - 2000.
3. Nguyễn Văn Huân , Vũ Đức Thái , Kỹ thuật lập trình mô phỏng thế giới thực dựa trên Morfi, Nhà xuất bản Khoa học và Kỹ thuật , Hà Nội, 2006.
4. Tổng quan về mô phỏng và thực ta ̣i ảo : http://share3dvn.blogspot.com
Tiếng Anh
5. Samuel William Hasinoff. Three-Dimensional Reconstruction of Fire from Images [2002].
6. Dynamic Animation Systems Homepage: http://www.d-a-s.com
7. Fire Dynamics Simulator (FDS) website: http://fire.nist.gov/fds/index.html
8. William T. Reeves. Particle Systems A Technique for Modeling a Class of Fuzzy Objects [1983].
9. Paramount. Star Trek H: The Wrath of Khan (film), June 1982.
10. KOREIN, J., AND BADLER, N. L Temporal anti-aliasing in computer generated animation. To appear in Proc. SIGGRAPH '83 (July 1983).
11. POTMESIL, M., AND CHAKRAVARTY, I. Modeling motion blur in computer-generated images. To appear in Proc. SIGGRAPH '83 (July 1983). 12. Alpha Channel Tutorial: http://www.axialis.com/tutorials/tutorial- misc001.html
13. The Computer Science and Engineering department of the University of Mauritius, VRML lecture.
15. Adrian Scott. Getting Started in VRML. http://www.vrmlsite.com