1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập lớn môn Công nghệ thực tại ảo: mô phỏng tòa nhà A10 trường Đại học Công nghiệp Hà Nội

27 4,8K 39

Đ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 27
Dung lượng 808,5 KB

Nội dung

Cũng như nhiều ngành công nghệ khác, công nghệ thực tại ảo đang thực sự phát triển ứng dụng rộng rãi trong những năm gần đây nhờ vào sự phát triển của tin học và máy tính. Ngày nay thực tại ảo đã trở thành một ngành công nghiệp và thị trường thực tại ảo tăng trưởng hang năm khoảng 21%. Công nghệ thực tại ảo được ứng dụng trong nhiều lĩnh vực như khoa học kĩ thuật, quân sự, kiến trúc, giải trí,….Với sự hướng dẫn của thầy giáo Vũ Đức Huy và những gì học được nhóm chúng em chọn đề tài mô phỏng tòa nhà A10 của trường Đại học Công nghiệp Hà Nội trong bài tập lớn môn Công nghệ thực tại ảo. Đề tài này sẽ mô phỏng về hình dáng bên ngoài, các vật dụng, các chi tiết bên trong tòa nhà,…Mặc dù đã cố gắng tìm hiểu, hoàn thành đầy đủ yêu cầu của bài tập lớn song không tránh khỏi những sai sót, khuyết điểm, nhóm chúng em mong nhận được những góp ý của thầy giáo và của tất cả các bạn để chúng em làm tốt hơn.

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

Khoa công nghệ thông tin

 Bài tập lớn môn Công nghệ thực tại ảo

Đề tài: mô phỏng tòa nhà A10 trường Đại học Công nghiệp Hà Nội

Giảng viên hướng dẫn: ThS Vũ Đức Huy

Lớp: KTPM2 – K7

Nhóm 9:

Vũ Đình HoanDương Văn ThịnhNguyễn Hữu Trượng

Hà Nội - 2015

Trang 2

Lời nói đầu

Cũng như nhiều ngành công nghệ khác, công nghệ thực tại ảo đang thực sự pháttriển ứng dụng rộng rãi trong những năm gần đây nhờ vào sự phát triển của tin học vàmáy tính Ngày nay thực tại ảo đã trở thành một ngành công nghiệp và thị trường thựctại ảo tăng trưởng hang năm khoảng 21% Công nghệ thực tại ảo được ứng dụng trongnhiều lĩnh vực như khoa học kĩ thuật, quân sự, kiến trúc, giải trí,…

Với sự hướng dẫn của thầy giáo Vũ Đức Huy và những gì học được nhóm chúng

em chọn đề tài mô phỏng tòa nhà A10 của trường Đại học Công nghiệp Hà Nội trongbài tập lớn môn Công nghệ thực tại ảo Đề tài này sẽ mô phỏng về hình dáng bênngoài, các vật dụng, các chi tiết bên trong tòa nhà,…

Mặc dù đã cố gắng tìm hiểu, hoàn thành đầy đủ yêu cầu của bài tập lớn songkhông tránh khỏi những sai sót, khuyết điểm, nhóm chúng em mong nhận được nhữnggóp ý của thầy giáo và của tất cả các bạn để chúng em làm tốt hơn

Chúng em xin chân thành cảm ơn!

Trang 3

Mục lục

Chương 1: Giới thiệu về thực tại ảo 4

1 Khái niệm 4

2 Lịch sử phát triển 4

3 Một số ứng dụng chính 4

Chương 2: Công cụ VRML 5

1 Định nghĩa 5

2 Lịch sử ra đời và phát triển 5

3 Đặc điểm cơ bản 6

4 Các vấn đề cơ bản của VRML 6

5 Các thành phần cơ bản trong VRML 8

Chương 3: Mô phỏng tòa nhà A10 21

1 Giới thiệu về đề tài 21

2 Phân tích thiết kế hệ thống 21

3 Hình ảnh các phần chính 22

Chương 4: Kết luận 26

Tài liệu tham khảo 27

Trang 4

Chương 1: Giới thiệu về thực tại ảo

1 Khái niệm

Thực tế ảo là thuật ngữ miêu tả một môi trường mô phỏng bằng máy tính Đaphần các môi trường thực tại ảo chủ yếu là hình ảnh hiển thị trên màn hình máytính hay thông qua kính nhìn ba chiều

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áytính Hệ thống này mô phỏng các sự vật hiện tượng theo thời gian thực và tươngtác với người sử dụng qua tổng hợp các kênh cảm giác

2 Lịch sử phát triển

Ngay từ năm 1962 Morton Heilig( Mỹ) đã phát minh ra thiết bị mô phỏngSENSORAMA Tuy nhiên cũng như nhiều ngành công nghệ khác thực tế ảo chỉthực sự phát triển ứng dụng rộng rãi trong những năm gần đây nhờ vào sự pháttriển của tin học và máy tính Ngày nay thực tế ảo đã trở thành một ngành côngnghiệp và thị trường thực tế ảo tăng trưởng hàng năm khoảng 21% và ước tínhđạt khoảng 3.4 tỷ đô la năm 2005

3 Một số ứng dụng chính

Thực tế ảo đượ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í, du lịch, địa ốc,… đáp ứng mọi nhu cầu nghiên cứu – giáo dục-thương mại- dịch vụ

Y học, du lịch là lĩnh vực ứng dụng truyền thống của thực tế ảo Bên cạnh

đó thực tế ảo cũng được ứng dụng trong giáo dục nghệ thuật, giải trí, du lịch ảo,bất động sản Trong quân sự, thực tế ảo cũng được ứng dụng rất nhiều ở cácnước phát triển Gần đây cũng có một số ứng dụng mới nổi lên trong thời giangần đây như: ứng dụng trong sản xuất, ứng dụng trong ngành robot, ứng dụnghiển thị thông tin

Trang 5

Chương 2: Công cụ VRML

1 Định nghĩa

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ả thế giới thực và cácđối tượng đồ họa tương tác ba chiều, sử dụng mô hình phân cấp trong việc thểhiện tương tác với các đối tượng của mô hình, được thiết kế dùng trong môitrường Internet, Intranet và các hệ thống máy khách cục bộ (local client) màkhông phụ thuộc vào hệ điều hành

Các ứng dụng 3D của VRML có thể truyền đi một cách dễ dàng trên mạngvới kích thước khá nhỏ so với băng thông, phần lớn giới hạn trong khoảng 100 -200KB Nếu HTML là định dạng văn bản thì VRML là định dạng đối tượng 3D

có thể tương tác và điều khiển thế giới ảo

Hiện nay, VRML có lợi thế là sự đơn giản, hỗ trợ dịch vụ Web3D, có cấutrúc chặt chẽ, với khả năng mạnh mẽ, giúp cho việc xây dựng các ứng dụng đồhọa ba chiều một cách nhanh chóng và chân thực nhất

VRML là một trong những chuẩn trao đổi đa năng cho đồ họa ba chiều tíchhợp và truyền thông đa phương tiện, được sử dụng trong rất nhiều lĩnh vực ứngdụng, chẳng hạn như trực quan hóa các khái niệm khoa học và kỹ thuật, trìnhdiễn đa phương tiện, giải trí và giáo dục, hỗ trợ web và chia sẻ các thế giới ảo.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áytính và cho phép chạy trên môi trường web, VRML đã trở thành chuẩn ISO từnăm 1997

Trang 6

Sau phiên họp BOF một thời gian ngắn thì tổ chức WWW-VRML đượcthành lập để tập trung vào xây dựng phiên bản VRML đầu tiên

Vào tháng 3/ 1995, Công ty Silicon Graphics cộng tác với hãng SonyResearch và Mitra để đưa ra phiên bản mới cho VRML Bản đệ trình củaSilicon Graphics có tên là “Moving Worlds” gửi đến tổ chức Request forProposals cho việc xây dựng phiên bản mới VRML, bản đệ trình này là mộtminh chứng cho sự cộng tác thành công của tất cả các thành viên của SiliconGraphics, Sony và Mitra Năm 1996 tại New Orleans, phiên bản đầu tiên củaVRML 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ếnlấy phiên bản năm 1996 của VRML 2.0 để đưa ra xem xét vào tháng 4/1997.Sau khi bỏ phiếu về chuẩn ISO thì VRML97 được đưa ra như một chuẩn ISOvào năm 1997

Trình duyệt VRML cũng giống như trình duyệt Internet (Internet Explorer hay

Fire Fox) và được tích hợp trong các trình duyệt này

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ết

quả mà không cần qua trình duyệt Internet

Trang 7

4.2 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 khi cài đặt Cortona VRML Client:

- Hệ điều hành Microsoft Windows ME/2000/XP/7…

- 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 hầu hết với các trình duyệt và các công cụ

văn phòng như Word, PowerPoin,…

Tính năng của Cortona VRML Client sẽ trình diễn toàn bộ mô hình 3D trênmáy tính một cách hoàn hảo như khi người tạo ra đó Ứng dụng hoàn chỉnh trêntoàn bộ hiệu ứng trên nhiều hệ thống như Flash, DirectX 9, MPEG4,… Khi bạntruy xuất vào một ứng dụng VRML, toàn bộ hình mô phỏng sẽ được trình diễn

tương tác trên nền 3D dạng mở Rất ấn tượng và bắt mắt

4.3 Tập tin VRMLTập tin của VRML có thể tạo ra từ nhiều cách: dùng một trình soạn thảo vănbản như Notepad để soạn thảo, sau đó lưu file với phần mở rộng là wrl Hoăc ta

có thể soạn thảo trên một trình soạn thảo dành riêng cho VRML như VRML Pad

và chạy trực tiếp ứng dụng

Một file VRML gồm có các phần như: header, scene graph, prototype và event

routing

- 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 # đánhdấu những gì theo sau nó là phần chú thích File tiêu đề của VRML có dạng:

# VRML V1.0 ascii dành riêng cho phiên bản VRML 1.0 và #VRML V2.0

utf-8 dành cho phiên bản 2.0

Trang 8

- Scene Graph: chứa những node mo 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” chophé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 ra những thay đổi cho riêng nút đó và hệ thống

5 Các thành phần cơ bản trong VRML

5.1 Xây dựng các đối tượng hình học cơ bản

Một thế giới VRML được cấu tạo nên từ các đối tượng hình học như: hình hộp,hình trụ, hình nón, hình cầu,…

Shape là thẻ mà các đối tượng trong nó đều được hiển thị Trong node Shape cónode con là geometry chỉ rõ dạng hình học được vẽ ra như thế nào Node geometry

}

Các tham số

height X : chiều cao của hình nón

bottomRadius Y: bán kính của đáy

Trang 9

bottom TRUE / FALSE: hiện / ẩn đáy

side TRUE / FALSE: hiện / ẩn mặt bên

}

Các tham số

height X : chiều cao

radius Y: bán kính mặt đáy

bottom TRUE / FALSE: hiện / ẩn mặt đáy

top TRUE / FALSE: hiện / ẩn mặt nắp

side TRUE / FALSE: hiện / ẩn các mặt bên

Trang 10

family “SERIF”

style “BOLD” }}

}

Các tham số

String [“Nội dung văn bản”]

family SERIF / SANS / TYPEWRITER

style BOLD / ITALIC / BOLDITALIC / PLAIN

- Xây dựng các đường thẳng trong hệ tọa độ ba chiều

Thẻ IndexedLineSet xác định một tập hợp các đường thẳng trong hệ tọa độkhông gian ba chiều của thế giới VRML và tập hợp các màu tương ứng cho cácđường thẳng đó

Thẻ này có các thuộc tính:

Coord và Color: số thành phần trong trường Color không nhất thiết

phải bằng với số thành phần trong trường Coord Chẳng hạn khicolorPerVexter nhận giá trị là FALSE

CoordIndex: bao gồm một dãy chỉ số thứ tự cho các điểm ảnh tạo

nên đường thẳng Ví dụ colorIndex [0 1 2 3] có nghĩa là đường thẳngđược tạo bởi điểm thứ nhất nối với điểm thứ hai, thứ hai nối với thứ

ba, thứ ba nối với thứ tư, các điểm ảnh được xác định trong thẻCoordinate Một ví dụ khác coordIndex [0 1 -1 2 3] ở dãy ký hiệu -1cho biết hình ảnh được tạo trong VRML gồm hai đường thẳng: mộtđường thẳng tạo bởi điểm thứ nhất nối với điểm thứ hai và mộtđường thẳng khác tạo bởi điểm thứ ba nối với điểm thứ tư

ColorIndex: được sử dụng khi colorPerVexter nhận giá trị FALSE,

khi colorPerIndex nhận giá trị TRUE thì có thể bỏ qua trườngcolorIndex trong thẻ IndexedLineSet bởi vì nếu colorPerIndex nhậngiá trị TRUE thì bắt buộc phải thiết lập màu cho mỗi điểm ảnh

ColorPerVexter: có giá trị boolean Khi colorPerVexter nhận giá trị

TRUE thì màu của đường thẳng sẽ là màu trung bình cả hai màu tạihai điểm ảnh tạo nên đường thẳng

Cú pháp

IndexedLineSet {

Coord coordinate[]

coordIndex

Trang 11

color Color[]

colorIndex[]

colorPerVexter TRUE}

color[1 1 1, 1 0 0, 0 0 1]

}coordIndex[0 1 2 0]

colorPerVexter TRUE}

}

- Xây dựng khung bề mặt trong không gian

Thẻ IndexedFaceSet sẽ tạo nên bề mặt bằng cách kết hợp các điểm với nhau

solid TRUE}

 Chú ý là bề mặt luôn luôn được xác định bởi các đường thẳng khépkín vì thế không phải chỉ ra điểm đầu tiên lại một lần nữa trongtrường coord

Ví dụ

coord Coordinate {

point[0 0 0, 1 0 0, 1 1 0, 0 1 0]

}

Trang 12

Đã có bốn điểm xác định, khi liên kết các điểm này sẽ tạo ra hình vuôngbằng cách sử dụng thuộc tính coordIndex[] và coordIndex[0 1 2 3].

 Convex định nghĩa bề mặt là lồi hay lõm, trường này có giá trị kiểuboolean Bộ trình duyệt VRML chỉ vẽ bề mặt lồi, trong trường hợp

vẽ bề mặt lõm, bộ trình duyệt chia bề mặt đó thành các bề mặt lồi béhơn để vẽ

coordIndex[0 1 2 3 -1 4 5 6]

color Color {

color[1 1 1, 1 0 0]

}colorIndex[0 1]

colorPerVexter FALSEconvex FALSE

solid FALSE}

}

- Xây dựng khung lưới và bản đồ trong không gian

Thẻ ElevationGrip cho phép xây dựng khung lưới được tạo bởi các điểm có

độ cao xác định trong không gian Thẻ này rất hữu ích cho việc xây dựng cácmạng lưới hoặc địa hình

Hình ảnh xây dựng được đặt trong không gian của mặt phẳng Oxyz Điểmbắt đầu là gốc tọa độ, các điểm còn lại tạo nên lưới phải nằm theo hướng dươngcủa các trục Ox và Oz

Cú pháp

ElevationGrip {

xDimension 0xSpacing 0.0zDimension 0zSpacing 0.0height[]

Trang 13

 xDimension chứa số điểm bên trong lưới nằm trên trục X.

 zDimension chứa số điểm bên trong lưới nằm trên trục Z

 xSpacing là khoảng cách của hai điểm liên tiếp nhau theo hướng củatrục X

 zSpacing là khoảng cách của hai điểm liên tiếp nhau theo hướng củatrục Z

Các điểm này được tính theo thứ tự từ trái sang phải, từ trên xuống dưới

}

}

Trang 14

Kết quả

Hình 2.1: Ví dụ về xây dựng khung lưới và bản đồ

5.3 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ệ trục 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 một hình cơ bản và một 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 giãn, xoay Node Transform gồm có các node con: translation, rotation, scale, children.

Trang 15

- Co giãn đối tượng (Scale)

Trang 16

geometry Cylinder {

radius 0.3 height 6.0 top FALSE }

} ]

Node materialnằm trong node appearance quản lý việc này Node material

có các node con như:

- diffuseColor: màu sắc khuyết tán.

- emissiveColor: màu sắc của ánh sáng phát ra đối tượng.

- transparency: độ trong suốt (0 – tối mờ, 1 – nét).

- ambientIntensity: xác định hàm lượng ánh sáng mà đối tượng phản chiếu.

- specularColor: cho biết màu sắc của các pixel trên bề mặt của đối tượng.

- shininess: cường độ sáng.

Ví dụ

Trang 17

Shape {

appearance Appearance {

material Material {

diffuseColor 0.8 0.8 0.8emissiveColor 0.0 0.0 0.0transparency 0.0

specularColor 0.71 0.70 0.56shininess 0.16

ambientIntensity 0.4}

}}

5.5 Các nút trong VRML

Ta có thể nhóm các đối tượng đơn lẻ thành những đối tượng phức tạp Việcđặt một nhóm này vào nhóm kia tạo thành một lược đồ cấu trúc các node Mộtnode trong nhóm có thể có bất kỳ các node con nào đặt bên trong trường children

Có các node nhóm sau được hỗ trợ trong VRML: Anchor, Billboard, Group, Switch, Transform, Inline.

- Anchor: cho phép xác định một tập hợp các đối tượng và cách liên kết đến

một url, chẳng hạn như là một siêu liên kết đến thế giới VRML khác, đếnmột trang HTML hoặc đến một dữ liệu nào đó mà toàn bộ trình duyệt có thểđọc được Khi kích vào một trong các đối tượng bên trong node Anchor thìtoàn bộ trình duyệt sẽ đưa đến địa chỉ url Khi đưa chuột qua đối tượng nào

đó chứa trong node thì có thể nhìn thấy được địa chỉ url của nó

]url http://www.picturevn.info

description “Tới trang web tranh ảnh”

}

Các thuộc tính

Trang 18

Children: chứa tất cả các node bên trong nhóm

url: cho biết địa chỉ url được tìm kiếm Có thể có nhiều vị trí đặt

trong url, khi đó bộ trình duyệt sẽ tìm kiếm dữ liệu trong các vị trínày theo thứ tự ưu tiên giảm dần

parameter: cung cấp thông tin thêm vào cho bộ trình duyệt Cho

ví dụ có thể chỉ rõ là cửa sổ cần xem mà url hiển thị vào đó

Description: đưa ra một xâu, xâu này sẽ hiển thị khi người dùng

di chuột qua đối tượng chứa trong node Anchor

bboxCenter: xác định trung tâm của một hình hộp chữ nhật mà

nó bao quanh tất cả các node trong nhóm Giá trị của trường này

là một điểm trong không gian

bboxSize: xác định kích thước của một hình hộp chữ nhật mà nó

bao quanh tất cả các node trong nhóm Mặc định trường này cógiá trị -1 -1 -1 nghĩa là không có hình hộp nào Tất cả các giá trịthành phần của trường này là lớn hơn hoặc bằng 0 Nếu tất cả cácnode con không nằm trong hình hộp thì kết quả không xác định.Hai trường bboxCenter và bboxSize là tùy chọn

- Group: tạo ra một tập hợp các vật thể như là một thực thể đơn Node này có các trường: children, bboxCenter, bboxSize Các trường này tương tự như

của node Anchor Tất cả các node con trong Group đều hiển thị

Ví dụ

Group {

children [ ]bboxCenter 0 0 0bboxSize -1 -1 -1}

- Switch: tạo ra một nhóm chuyển đổi Chỉ có một node con trong nhóm được

hiển thị Và node này là do người dùng lựa chọn Node con tuyệt đối đượcđánh số từ 0, không lựa chọn là -1

- Transform: Xác định hệ trục tọa độ mới cho các đối tượng trong cùng một

nhóm

- Billboard: tạo ra một nhóm với hệ trục tọa độ đặc biệt Tất cả các node

trong nhóm đều được hiển thị Hệ tọa độ này luôn được quay về đối diện vớingười dùng

Ví dụ

Billboard {

Ngày đăng: 04/04/2016, 08:27

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

TÀI LIỆU LIÊN QUAN

w