1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mô phỏng tàu điện ngầm

21 2K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 428,87 KB

Nội dung

Mô phỏng tàu điện ngầm

Trang 1

ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP LỚN

CÔNG NGHỆ THỰC TẠI ẢO

ĐỀ TÀI:

Giáo viên hướng dẫn:

Nhóm 4 - KTPM1 K6

Hà Nội 12/2014

Trang 2

Mục Lục

Trang 3

Lời nói đầu

Khi công nghệ thông tin phát triển, đồ họa máy tính cũng ngày càng phát triển và

có nhiều ứng dụng rộng rãi và mang tính thực tế cao Một trong những ứng dụng

đó là việc mô phỏng lại thế giới thực bằng cách xây dựng những mô hình “ảo” trênmáy tính Và công nghệ “thực tại ảo” ra đời và phát triển nhanh chóng, với khảnăng mô phỏng một cách sống động hầu hết những mô hình trong thế giới thực, từđơn giản cụ thể cho tới phức tạp trừu tượng Ngôn ngữ mô hình hóa thực tại ảo(Virtual Reality Modeling Language - VRML) đã được xây dựng từ nhu cầu pháttriển của công nghệ “ thực tại ảo” – mà dựa trên đó, con người có thể giải quyết bàitoán mô phỏng lại thế giới thực trên máy tính

Với môn công nghệ thực tại ảo chúng em đã được học, mang lại cho chúng emnhiều kiến thức bổ ích, hiểu rõ về công nghệ thực tại ảo cũng như các ứng dụngrộng rãi của nó, nắm bắt các kiến thức cơ bản về ngôn ngữ mô phỏng thực tại ảoVRML Để hiểu rõ môn học và thêm phần nắm chắc kiến thức ngôn ngữ VRMLchúng em đã thực hiện đề tài “Mô phỏng tàu điện ngầm” Chúng em xin gửi lờicảm ơn chân thành nhất tới thầy Vũ Đức Huy , đã nhiệt tình truyền đạt cho chúng

em những kiến thức về môn học và đã luôn đồng hành cùng chúng em thực hiện đềtài này Tuy đã nỗ lực trong quá trình làm việc, nhưng với kinh nghiệm còn nonkém, kiến thức chưa thực sự vững vàng, đề tài còn tồn tại nhiều thiếu sót Mongthầy giáo cân nhắc, xem xét và cho ý kiến Chúng em xin chân thành cảm ơn thầy

Trang 4

Chương I: Tổng quan môn học

1. Khái niệm thực tại ảo

Virtual reality (VR)- thực tại ảo là ngôn ngữ mô tả môi trường được tạo ra và

mô phỏng bởi máy tính Đồ họa máy tính được sử dụng để đảm bảo tính “thực”của của môi trường này

Các thành phần trong môi trường ảo đó có thể thay đổi theo các tác động củangười sử dụng qua các hành động, lời nói, cái nhìn thậm chí là suy nghĩ Đó chính

là đặc tính chính của thực tại ảo : 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àocủa người sử dụng và thay đổi ngay lập tức các thành phần trong thế giới ảo.Người sử dụng nhìn thấy sự vật thay đổi trên màn hình mô phỏng ngay theo ýmuốn của họ và bị thu hút bởi sự mô phỏng này Sự thu hút này được tạo ra bởinhững thay đổi trong môi trường ảo đã tác động lên các cơ quan cảm giác của conngười thông qua một số thiết bị hiển thị cũng như tương tác đa dạng như : thị giác (

từ các hình ảnh 3D ), thính giác ( qua các âm thanh), xúc giác

Có thể nói, VR- Thực Tại Ả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ờigian thực và tương tác với người sử dụng qua tổng hợp các kênh cảm giác như thịgiác, thính giác, xúc giác

Trang 5

2. Ứng dụng của thực tại ảo

Ngày nay, thực tại ảo đã được ứng dụng vào rất nhiều lĩnh vực như : Kiếntrúc, quân sự, cơ khí, khoa học kĩ thuật… Đặc biệt, việc áp dụng thực tại ảo vàolĩnh vực ý học là một bước tiến rất lớn cho con người, qua đó giúp chúng ta có cáinhìn tổng quan hơn về cơ thể người Một số ứng dụng lớn khác của thực tại ảo là

mô phỏng mô hình robot, hay trong thăm dò địa chất (dầu mỏ, khoáng sản…), chochúng ta thấy được tiền năng rất lớn của công nghệ thực tại ảo vào trong nhữnglĩnh vực lớn khác, hay trong đời sống con người Nói một cách ngắn gọn: thực tại

ảo tạo ra được những cái rất “thật” trong thế giới “ảo”

Trang 6

Chương II: Tổng quan về ngôn ngữ mô hình thực tại ảo – VRML

1. Lịch sử ra đời và phát triển của VRML

VRML đã trở thành một ngôn ngữ chuẩn cho việc mô phỏng tương tác thếgiới 3D trên Web Với mục đích xây dựng định dạng chuẩn cho phép mô tả thếgiới thực trên máy tính mà cho phép chạy trên môi trường web, VRML đã trởthành chuẩn ISO từ năm 1997

VRML ra đời vào mùa xuân năm 1994 ở hội nghị WWW được tổ chức đầutiên tại Gieneva, Thụy Sĩ Tim Berners-Lee và Dave Raggett đã tổ chức ra phiênhọp có tên là Birds of a Feather (BOF) để mô tả giao diện thực tế ảo trên WWW.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âydựng các công cụ hiển thị đồ họa 3D 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ộtngôn ngữ chung, phổ biến cho đạnh dạng, xác định việc mô tả thế giới 3D và cácsiêu liên kết WWW Vì thế cụm từ “the 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ủaVRML

Sau phiên họp BOF một thời gian ngắn thì tổ chức www-vrml mailing listđược thành lập để tập trung vào xây dựng phiên bản VRML đầu tien Sự hưởngứng lời mời của tổ chức này kéo dài đến một tuần và có trên một nghìn khách mờitham dự Tại buổi họp chủ tịch Mark Pesce đã thông báo ý kiến của mình là đưa raphiên bản phác thảo xây dựng VRML đã có sẵn ở hội nghị mùa xuân năm 1994được tổ chức mới cách đó 5 tháng Bản phác thảo của Mark Pesce đã có được sựđồng ý chung

Vào tháng 3/ 1995 thì có một thảo luận trên www-vrml mailing list liên quanđến việc tạo ra những tương tác của người sử dụng với hoạt cảnh và tất cả mọingười đều đi đến thống nhất ý kiến những thứ mới đưa ra đó thực sự cần thiết choVRML Công ty Silicon Graphics cộng tác với hãng Sony Research và Mitra đểđưa ra phiên bản mới cho VRML Bản đệ trình của Silicon Graphics có tên làMoving Worlds đến tổ chức Request for Proposals cho việc xây dựng phiên bảnmới VRML, bản đệ trình này là một minh chứng cho sự cộng tác thành công của

Trang 7

tất cả các thành viên của Silicon Graphics, Sony và Mitra Năm 1996 tại NewOrleans, phiên bản đầu tiên của VRML 2.0 được đưa ra.

Vào tháng 7/1996 tổ chức tiều chuẩn quốc tế (ISO) đã thông nhất ý kiến phiênbản năm 1996 của VRML 2.0 như là một đề xuất mà sẽ được đưa ra xem xet vàothang 4/1997 Sau khi bỏ phiếu về chuẩn ISO thì VRML97 được đưa ra như mộtchuẩn ISO vào năm 1997

2 Cơ bản về ngôn ngữ VRML

2.1 Khái niệm về VRML

VRML (Virtual Reality Modeling Language) là ngôn ngữ mô hình hóa thựctại ảo, một định dạng tập tin được sử dụng trong việc mô tả các thế giới và các đốitượng đồ họa tương tác ba chiều VRML được thiết kế dùng trong môi trườngInternet, Intranet và các hệ thống máy khách cục bộ VRML còn được dự trù trởthành một chuẩn trao đổi đa năng cho đồ họa ba chiều tích hợp và truyền thông đaphương tiện VRML có thể được sử dụng trong rất nhiều lĩnh vực ứng dụng chẳnghạn như trực quan hóa các khái niệm khoa học và kỹ thuật, trình diễn đa phươngtiện, giải trí và giáo dục, hỗ trợ web và chia sẻ các thế giới ảo

Về căn bản VRML chỉ đơn giản là một định dạng trao đổi 3D Nó định nghĩađược các vấn đề thường được sử dụng trong các ứng dụng 3D, chẳng hạn như cácbiến đổi phân cấp (hierarchical tranformations), nguồn ánh sáng (líght sources),điểm nhìn (view points), hình học (geometry), sương mù (fog), thuộc tính của chấtliệu (material properties) và các bản đồ kết cấu (texture mapping)

Ngôn ngữ VRML là ngôn ngữ sử dụng mô hình phân cấp trong việc thể hiệncác tương tác với các đối tượng của mô hình, VRML được sử dụng để phát triểnnhững hình ảnh 3D và quang cảnh trên Web Các file VRML có kích thức nhỏ,thường không quá 1Mb

Ngôn ngữ mô hình hóa thực tại ảo VRML là một chuẩn không chính thức để

mô tả thực tế ảo mà không phụ thuộc vào hệ điều hành thông qua Internet Chỉ vớimột file text bạn có thể mô tả, tương tác, điều khiển một thế giới ảo mà không bịhạn chế nhiều

Trang 8

VRML cho phép truyền đi trong mạng những hình ảnh 3D Với kích thướckhả nhỏ so với băng thông, phần lớn giới hạn trong khoảng 100 - 200Kb nên cácfile VRML được truyền đi một cách khá dễ dàng Nếu HTML là định dạng văn bảnthì VRML là định dạng đối tượng 3D Hiện nay VRML có lợi thế là sự đơn giản,

Bộ soạn thảo VRML cho phép người dùng gõ mã VRML Hiện nay có nhiều

bộ soạn thảo nhưng VRML Pad là khá thông dụng khi có thể cho xem trực tiếp kếtquả mà không cần qua trình duyệt Internet

2.3 Công cụ hiển thị VRML

Để hiển thị các file VRML thì ta sử dụng chương trình Cortona VRML Clientcủa hãng Parallrl Graphics Chương trình sẽ giúp bạn thuận tiện hơn khi xem cắc

mô hình ảo trên máy tính một cách trực quan sinh động

Yêu cầu trước khi cài đặt Cortona VRML Client:

• Hệ điều hành Microsoft® Windows® XP trở lên

• Trình duyệt Web Internet Explorer 6.0 trở lên, Netscape Navigator 8.0 trởlên, Mozilla Firefox 1.5 trở lên, Opera 8.5 trở lên

• CPU Pentium® II 300 MHz trở lên

• RAM tối thiểu 64 MB

• Độ phân giải màn hình tối thiểu 1024x768

• Card đồ họa hỗ trợ 3D và cài đặt DirectX 9

Cortona VRML Client tương thích với hầu hết các trình duyệt như InternetExplorer, Chrome, Mozilla, Mozilla Firefox và các công cụ văn phòng như Word,PowerPoint

Trang 9

Header: dùng để nhận dạng tập tin VRML và cách mã hóa Header của file

VRML bắt đầu bằng dấu # Ngoài lần xuất hiện đầu tiên ra thì dấu # đánh dấunhững gì theo sau nó là phần chú thích File tiêu đề của VRML có dạng: #VRMLV1.0 ascii dành riêng cho phiên bản VRML 1.0 và #VRML V2.0 utf-8 dành chophiên bản 2.0

Scene Graph: chứa những node mô tả các đối tượng và các thuộc tính đi

kèm Nó gần như một cây phả hệ gồm các nhóm đối tượng

Prototype: cho phép một tập các nút kiểu VRML được mở rộng bởi người sử

dụng Các định danh kiểu này có thể được bao hàm trong file (mà chúng được sửdụng) hay định nghĩa ở bên ngoài (file đó)

Event routing: một số nút có thể phát sinh những sự kiện đáp trả những thay

đổi môi trường do tương tác phía người dùng “Event routing” cho phép một sựkiện phát sinh được truyền đến các “đích”- những nút trong hệ thống, từ đó gây ranhững thay đổi cho riêng nút đó và hệ thống

2.5 Các kiểu dữ liệu trong VRML

Trong VRML, các nút có thể chứa các nút khác và có thể chứa các trường.Mỗi trường có các kiểu dữ liệu khác nhau Sau đây là mô tả của chúng:

SFBool

Đây là giá trị kiểu logic, có thể nhận giá trị “TRUE” hay “FALSE”

SFColor & MFColor

SFColor là trường chứa màu sắc, được tạo nên từ ba số thực từ 0 đến 1 tươngứng với các giá trị màu red, green và blue (RGB) (ví dụ: 0 1 0 là green)

Trang 10

MFColor là một tập hợp gồm các màu sắc (ví dụ: [0 1 0, 1 0 0, 0 0 1] là tập hợpgồm ba màu green, red và blue)

SFFloat & MFFloat

SFFloat là giá trị kiểu số thực (ví dụ: 7.5) MFFloat là một tập các giá trị sốthực (ví dụ: [1.0, 3.4, 76.54])

SFImage

SFImage là hình ảnh hai chiều được tạo nên từ các điểm ảnh Nó bao gồm:Hai số nguyên, đại diện chiều rộng và chiều cao của hình ảnh cũng chính

là số điểm nằm trên chiều rộng và chiều cao của hình

Một số nguyên biểu thị số thành phần của hình ảnh Số thành phần là 1 tứchình ảnh trắng đen, là 2 cũng tương tự nhưng có thêm độ trong suốt, là 3 thìhình sẽ có màu (RGB), và 4 là hình ảnh có màu kết hợp với độ trong suốt

Sau đó, là các con số được biểu diễn dưới dạng thập lục phân đại diện chomàu sắccủa từng điểm ảnh Ví dụ 0xFF là màu trắng trong hình ảnh một thànhphần và 0xFF00007F sẽ là màu đỏ nhạt trong hình ảnh bốn thành phần

Các điểm được chỉ rõ theo thứ tự từ trái sang phải, từ trên xuống dưới

Ví dụ: 1 2 1 0xFF 0x00 # Hình ảnh một thành phần gồm 2 điểm màu trắng

và đen

SFInt32 & MFInt32

Giá trị kiểu số nguyên hoặc dãy các số nguyên 32 bit có thể theo dạng thậpphân hoặc thập lục phân Các số thập lục phân 32 bit bắt đầu bằng “0x”, ví dụ0xFF là 255 hệ thập phân

SFNode & MFNode

SFNode là một nút đơn lẻ và MFNode là danh sách các nút Trườngchildren với nhiều nút là kiểu MFNode

SFRotation & MFRotation

Các trường này chỉ ra một phép quay xung quanh một trục, nó được tạonên từ 4 số thực, ba số thực đầu tiên chỉ rõ các toạ độ X, Y và Z cho các vectơ

Trang 11

tương ứng với trục để quay, số thứ tư là góc (tính bằng radian) để quay.SFRotation là một tập, MFRotation là một danh sách các tập.

SFString & MFString

Loại này chứa danh sách các kí tự trong tập kí tự utf-8, Nói đơn giản thìSFString là một xâu kí tự và MFString là tập các xâu kí tự Ví dụ SFString là

“Hello” (các kí tự nằm trong dấu nháy kép) còn MFString thì tham số truyềnvào có dạng là [“Hello” “VRML”]

SFTime & MFTime

Kiểu dữ liệu đặc trưng cho một mốc thời gian hoặc danh sách các mốc thờigian

SFVec2f & MFVec2f

Các vectơ 2D đơn lẻ hoặc danh sách các vectơ 2D Một vectơ 2D được tạobởi một cặp các số thực

SFVec3f & MFVec3f

Một vectơ 3D hoặc một danh sách các vectơ 3D Một vectơ 3D là một bộ 3

số thực

2.6 Các phép biến đổi trong VRML

Một file VRML xây dựng các thành phần của thế giới ảo Mặc định mọi hình ảnhđược xây dựng trong VRML đều được đặt ở tọa độ gốc Biến đổi là tạo ra một hệthống hệ trục tọa độ mới mà hệ truc này có vị trí tương đối so với hệ tọa độ mặcđịnh Có các phép biến đổi như: di chuyển, co giãn, xoay

Hình 2.2 Trục XYZ với 1 hình cơ bản và 1 hình phức tạp

Nhóm Node Transform quản lý các phép biến đổi trong VRML như : dịch chuyển,

co dãn, xoay Node transform gồm có các node con: translation, rotation, scale,children

2.6.1 Phép di chuyển ( Translation )

Ví dụ :

Transform {

Trang 13

2.6.3 Scale : co dãn đối tượng

Ví dụ :

Transform { scale 0.5 0.5 0.5

children [ ]

}Tham số :

Trang 14

Special Group Nodes: Các nút nhóm đặc biệt

Common Nodes: Các nút chung

Sensor Nodes: Các nút cảm biến

Geometry : Các nút hình học

Geometric Properties Nodes: Các nút thuộc tính hình học

Appearance Nodes : Các nút hình dáng

Interpolators Nodes: Các nút nội suy

Bindable Nodes: Các có thể ghép nối được

Một nút gồm có :

 Tên nút: Thường bắt đầu bằng chữ in hoa và chỉ có thể là một trong các tênchuẩn do VRML cung cấp, sau đó là đến các trường của nút chúng thườngbắt đầu là chữ thường, mổi loại nút có các trường khác nhau

 Giá trị của trường có thể là các giá trị thực hoặc các bộ giá trị thực hoặc có thể là một nút cơ bản, ta có thể hình dung các nút như các lớp trong lập trình hướng đối tượng VRML không cho bạn định nghĩa thêm các nút mới của mình mà chỉ được dùng các nút cơ bản của nó Một hình dạng hình học bất kỳ có thể được xây dựng qua nút Shape Cấu trúc của nút này có dạng như sau:

Shape{

appearance Appearance{

material Material{

Trang 15

diffuColor 1 0 0 Shininess 0 }

textture ImageTextTure{}

}geometry Box{}

}Trong đó appearance là thuộc tính của nút giá trị của nó chỉ có thể là nútAppearance dùng chỉ dạng bề mặt của vật thể Trong nút Appearance có cáctrường : Material dùng để chỉ màu, độ bóng, độ trong suốt của vật thể, trườngTextture dùng để chỉ kết cấu của vật thể, giá trị của trường này có thể là các nútImageTextture,MovieTextture

Các nút appearance

Nút Shape có một trường dọi là appearance, được sử dụng để chứa trường

DEF FBOX Shape{

Trang 16

Các nút materieal

Nút material có thể chứa 6 trường, đó là:

diffuseColor : màu sắc thông thường của đối tượng

specularColor : màu sắc nổi bật của đối tượng chiếu sáng

emissiveColor : đối tượng ‘glows’ với ánh sáng của nó từ sắc màu này, nó

không phải là ánh sáng mẫu từ các đối tượng khác

ambientIntensity : số lượng các ánh sáng xung quanh mà đối tượng được

phản chiếu

shininess : cách ánh xạ của đối tượng

transparency : cách làm rõ ràng đối tượng, chú ý một vài browser không hỗ

trợ từng phần cho các đối tượng không rõ ràng

Ba tham số đầu tiên là các giá trị màu, ba tham số sau là các giá trị đơn giảngiữa 0 và 1 Các màu sắc được chỉ rõ như các thành phần red, green và blue nhưtrong HTML Bạn có thể lấy bất kì màu nào bạn muốn từ việc kết hợp các màu red,green, blue Các giá trị màu đơn lẻ nằm giữ 0, và 1 là đầy đủ, được chỉ rõ trong cáccác phần mềm hiển thị giá trị màu và có thể chuyển chúng thành ngôn ngữ VRML

Vì vậy, nếu muốn tạo hình khối bạn đầu, với màu xanh bán trong suốt, ta địnhnghĩa dạng của nó như sau:

Shape {

appearance Appearance {

material Material {emissiveColor 0 0.8 0transparency 0.5

}

}

geometry Box {}

}

Ngày đăng: 01/11/2015, 11:09

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w