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.
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 ảo Đề tài: mô 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 Hoan Dương Văn Thịnh Nguyễn Hữu Trượng Hà Nội - 2015 Lời nói đầu Cũng nhiều ngành công nghệ khác, công nghệ thực ảo thực phát triển ứng dụng rộng rãi năm gần nhờ vào phát triển tin học máy tính Ngày thực ảo trở thành ngành công nghiệp thị trường thực ảo tăng trưởng hang năm khoảng 21% Công nghệ thực ảo ứng dụng nhiều lĩnh vực khoa học kĩ thuật, quân sự, kiến trúc, giải trí,… Với hướng dẫn thầy giáo Vũ Đức Huy học nhóm chúng em chọn đề tài mô tòa nhà A10 trường Đại học Công nghiệp Hà Nội tập lớn môn Công nghệ thực ảo Đề tài mô hình dáng bên ngoài, vật dụng, chi tiết bên tòa nhà,… Mặc dù cố gắng tìm hiểu, hoàn thành đầy đủ yêu cầu tập lớn song không tránh khỏi sai sót, khuyết điểm, nhóm chúng em mong nhận góp ý thầy giáo tất bạn để chúng em làm tốt Chúng em xin chân thành cảm ơn! Mục lục Mục lục Chương 1: Giới thiệu thực ảo .4 1.Khái niệm 2.Lịch sử phát triển .4 3.Một số ứng dụng Chương 2: Công cụ VRML 1.Định nghĩa 2.Lịch sử đời phát triển 3.Đặc điểm .6 4.Các vấn đề VRML 5.Các thành phần VRML .8 Chương 3: Mô tòa nhà A10 .21 1.Giới thiệu đề tài 21 2.Phân tích thiết kế hệ thống .21 3.Hình ảnh phần 22 Chương 4: Kết luận .25 Tài liệu tham khảo 26 Chương 1: Giới thiệu thực ảo Khái niệm Thực tế ảo thuật ngữ miêu tả môi trường mô máy tính Đa phần môi trường thực ảo chủ yếu hình ảnh hiển thị hình máy tính hay thông qua kính nhìn ba chiều Thực tế ảo hệ thống giao diện cấp cao người sử dụng máy tính Hệ thống mô vật tượng theo thời gian thực tương tác với người sử dụng qua tổng hợp kênh cảm giác Lịch sử phát triển Ngay từ năm 1962 Morton Heilig( Mỹ) phát minh thiết bị mô SENSORAMA Tuy nhiên nhiều ngành công nghệ khác thực tế ảo thực phát triển ứng dụng rộng rãi năm gần nhờ vào phát triển tin học máy tính Ngày thực tế ảo trở thành ngành công nghiệp thị trường thực tế ảo tăng trưởng hàng năm khoảng 21% ước tính đạt khoảng 3.4 tỷ đô la năm 2005 Một số ứng dụng Thực tế ảo ứng dụng 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 nhu cầu nghiên cứu – giáo dụcthương mại- dịch vụ Y học, du lịch lĩnh vực ứng dụng truyền thống thực tế ảo Bên cạnh thực tế ảo ứng dụng 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 ứng dụng nhiều nước phát triển Gần có số ứng dụng lên thời gian gần như: ứng dụng sản xuất, ứng dụng ngành robot, ứng dụng hiển thị thông tin Chương 2: Công cụ VRML Định nghĩa VRML (Virtual Reality Modeling Language) ngôn ngữ mô hình hóa thực ảo, định dạng tập tin sử dụng việc mô tả giới thực đối tượng đồ họa tương tác ba chiều, sử dụng mô hình phân cấp việc thể tương tác với đối tượng mô hình, thiết kế dùng môi trường Internet, Intranet hệ thống máy khách cục (local client) mà không phụ thuộc vào hệ điều hành Các ứng dụng 3D VRML truyền cách dễ dàng mạng với kích thước nhỏ so với băng thông, phần lớn giới hạn khoảng 100 200KB Nếu HTML định dạng văn VRML định dạng đối tượng 3D tương tác điều khiển giới ảo Hiện nay, VRML có lợi đơn giản, hỗ trợ dịch vụ Web3D, có cấu trúc chặt chẽ, với khả mạnh mẽ, giúp cho việc xây dựng ứng dụng đồ họa ba chiều cách nhanh chóng chân thực VRML chuẩn trao đổi đa cho đồ họa ba chiều tích hợp truyền thông đa phương tiện, sử dụng nhiều lĩnh vực ứng dụng, chẳng hạn trực quan hóa khái niệm khoa học kỹ thuật, trình diễn đa phương tiện, giải trí giáo dục, hỗ trợ web chia sẻ giới ảo Với mục đích xây dựng định dạng chuẩn cho phép mô tả giới thực máy tính cho phép chạy môi trường web, VRML trở thành chuẩn ISO từ năm 1997 Lịch sử đời phát triển Năm 1994, lần VRML thảo luận hội nghị WWW, Gieneva, Thụy Sĩ Tim Berners-Lee Dave Raggett tổ chức phiên họp có tên Birds of a Feather (BOF) để mô tả giao diện thực ảo WWW Nhiều thành viên tham dự, phiên họp BOF mô tả nhiều dự án thực việc xây dựng công cụ hiển thị đồ họa 3D cho phép có nhiều thao tác hữu ích Web Những thành viên trí đồng ý cần thiết cho công cụ có ngôn ngữ chung, phổ biến cho định dạng, xác định việc mô tả giới 3D siêu liên kết WWW Vì thế, cụm từ “the Virtual Reality Markup Language” đời, từ “Markup” sau đổi thành “Modelling” để phản ánh chất tự nhiên VRML Sau phiên họp BOF thời gian ngắn tổ chức WWW-VRML thành lập để tập trung vào xây dựng phiên VRML Vào tháng 3/ 1995, Công ty Silicon Graphics cộng tác với hãng Sony Research Mitra để đưa phiên cho VRML Bản đệ trình Silicon Graphics có tên “Moving Worlds” gửi đến tổ chức Request for Proposals cho việc xây dựng phiên VRML, đệ trình minh chứng cho cộng tác thành công tất thành viên Silicon Graphics, Sony Mitra Năm 1996 New Orleans, phiên VRML 2.0 đưa Vào tháng 7/1996, tổ chức tiêu chuẩn quốc tế (ISO) thống ý kiến lấy phiên năm 1996 VRML 2.0 để đưa xem xét vào tháng 4/1997 Sau bỏ phiếu chuẩn ISO VRML97 đưa chuẩn ISO vào năm 1997 Đặc điểm Tiêu chuẩn cho việc xác định đối tượng 3D, quang cảnh cho liên kết mô hình với là: - Không phụ thuộc phần cứng: chạy máy tính nhà sản xuất khác chế tạo - Có thể mở rộng: chấp nhận lệnh người sử dụng thêm vào quy định - Thao tác giới ảo thông qua môi trường Internet có băng thông thấp VRML thiết kế dành riêng cho việc hiển thị giới 3D mở rộng HTML Các vấn đề VRML 4.1 Các thành phần VRML Gồm trình duyệt (Browses) soạn thảo dành riêng cho ngôn ngữ VRML Các file đọc hệ thống có trình duyệt VRML Trình duyệt VRML giống trình duyệt Internet (Internet Explorer hay Fire Fox) tích hợp trình duyệt Bộ soạn thảo VRML cho phép người dùng gõ mã VRML Hiện có nhiều soạn thảo VRML Pad thông dụng cho xem trực tiếp kết mà không cần qua trình duyệt Internet 4.2 Công cụ hiển thị VRML Để hiển thị file VRML ta sử dụng chương trình Cortona VRML Client hãng Parallrl Graphics Chương trình giúp bạn thuận tiện xem mô hình ảo máy tính cách trực quan sinh động Yêu cầu 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 hình tối thiểu 1024x768 - Card đồ họa hỗ trợ 3D cài đặt DirectX Cortona VRML Client tương thích hầu hết với trình duyệt công cụ văn phòng Word, PowerPoin,… Tính Cortona VRML Client trình diễn toàn mô hình 3D máy tính cách hoàn hảo người tạo Ứng dụng hoàn chỉnh toàn hiệu ứng nhiều hệ thống Flash, DirectX 9, MPEG4,… Khi bạn truy xuất vào ứng dụng VRML, toàn hình mô trình diễn tương tác 3D dạng mở Rất ấn tượng bắt mắt 4.3 Tập tin VRML Tập tin VRML tạo từ nhiều cách: dùng trình soạn thảo văn Notepad để soạn thảo, sau lưu file với phần mở rộng wrl Hoăc ta soạn thảo trình soạn thảo dành riêng cho VRML VRML Pad chạy trực tiếp ứng dụng Một file VRML gồm có phần như: header, scene graph, prototype event routing - Header: dùng để nhận dạng tập tin VRML cách mã hóa Header file VRML bắt đầu dấu # Ngoài lần xuất dấu # đánh dấu theo sau phần thích File tiêu đề VRML có dạng: # VRML V1.0 ascii dành riêng cho phiên VRML 1.0 #VRML V2.0 utf-8 dành cho phiên 2.0 - Scene Graph: chứa node mo tả đối tượng thuộc tính kèm Nó gần phả hệ gồm nhóm đối tượng - Prototype: cho phép tập nút kiểu VRML mở rộng người sử dụng Các định danh kiểu bao hàm file (mà chúng sử dụng) hay định nghĩa bên file - Event routing: số nút phát sinh kiện đáp trả thay đổi môi trường tương tác phía người dùng “Event routing” cho phép kiện phát sinh truyền đến “đích” – nút hệ thống, từ gây thay đổi cho riêng nút hệ thống Các thành phần VRML 5.1 Xây dựng đối tượng hình học Một giới VRML cấu tạo nên từ đối tượng hình học như: hình hộp, hình trụ, hình nón, hình cầu,… Shape thẻ mà đối tượng hiển thị Trong node Shape có node geometry rõ dạng hình học vẽ Node geometry có thuộc tính: - Box – hình hộp Ví dụ: Shape { geometry Box { size 2 } } Các tham số Size x y z : chiều rộng, chiều cao, chiều sâu - Cone – hình nón Ví dụ: Shape { geometry Cone { height bottomRadius bottom TRUE side TRUE } } Các tham số height X : chiều cao hình nón bottomRadius Y: bán kính đáy bottom TRUE / FALSE: / ẩn đáy side TRUE / FALSE: / ẩn mặt bên - Cylinder – hình trụ Ví dụ: Shape { geometry Cylinder { height radius bottom TRUE top TRUE side TRUE } } Các tham số height X : chiều cao radius Y: bán kính mặt đáy bottom TRUE / FALSE: / ẩn mặt đáy top TRUE / FALSE: / ẩn mặt nắp side TRUE / FALSE: / ẩn mặt bên - Sphere – hình cầu Ví dụ: Shape { geometry Sphere { radius } } Các tham số radius X: bán kính 5.2 - Một số hình phức tạp Text – văn Cú pháp Shape { geometry Text { String [“Text”, “Shape”] fontStyle FontStyle { 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 đường thẳng hệ tọa độ ba chiều Thẻ IndexedLineSet xác định tập hợp đường thẳng hệ tọa độ không gian ba chiều giới VRML tập hợp màu tương ứng cho đường thẳng Thẻ có thuộc tính: Coord Color: số thành phần trường Color không thiết phải với số thành phần trường Coord Chẳng hạn colorPerVexter nhận giá trị FALSE CoordIndex: bao gồm dãy số thứ tự cho điểm ảnh tạo nên đường thẳng Ví dụ colorIndex [0 3] có nghĩa đường thẳng tạo điểm thứ nối với điểm thứ hai, thứ hai nối với thứ ba, thứ ba nối với thứ tư, điểm ảnh xác định thẻ Coordinate Một ví dụ khác coordIndex [0 -1 3] dãy ký hiệu -1 cho biết hình ảnh tạo VRML gồm hai đường thẳng: đường thẳng tạo điểm thứ nối với điểm thứ hai đường thẳng khác tạo điểm thứ ba nối với điểm thứ tư ColorIndex: sử dụng colorPerVexter nhận giá trị FALSE, colorPerIndex nhận giá trị TRUE bỏ qua trường colorIndex thẻ IndexedLineSet colorPerIndex nhận giá trị TRUE bắt buộc phải thiết lập màu cho điểm ảnh ColorPerVexter: có giá trị boolean Khi colorPerVexter nhận giá trị TRUE màu đường thẳng màu trung bình hai màu hai điểm ảnh tạo nên đường thẳng Cú pháp IndexedLineSet { Coord coordinate[] coordIndex color Color[] colorIndex[] 10 Convex định nghĩa bề mặt lồi hay lõm, trường có giá trị kiểu boolean Bộ trình duyệt VRML vẽ bề mặt lồi, trường hợp vẽ bề mặt lõm, trình duyệt chia bề mặt thành bề mặt lồi bé để vẽ Ví dụ Shape { appearance Appearance {} geometry IndexedFaceSet { coord Coordinate { point[0 0, 1 0, 0, 1 0, 0, 1] } coordIndex[0 -1 6] color Color { color[1 1, 0] } colorIndex[0 1] colorPerVexter FALSE convex FALSE solid FALSE } } - Xây dựng khung lưới đồ không gian Thẻ ElevationGrip cho phép xây dựng khung lưới tạo điểm có độ cao xác định không gian Thẻ hữu ích cho việc xây dựng mạng lưới địa hình Hình ảnh xây dựng đặt không gian mặt phẳng Oxyz Điểm bắt đầu gốc tọa độ, điểm lại tạo nên lưới phải nằm theo hướng dương trục Ox Oz Cú pháp ElevationGrip { xDimension xSpacing 0.0 zDimension zSpacing 0.0 height[] color Color[] colorPerVexter TRUE 12 convex TRUE solid TRUE } Tham số xDimension chứa số điểm bên lưới nằm trục X zDimension chứa số điểm bên lưới nằm trục Z xSpacing khoảng cách hai điểm liên hướng trục X zSpacing khoảng cách hai điểm liên hướng trục Z Các điểm tính theo thứ tự từ trái sang phải, từ xuống Ví dụ Shape { appearance Appearance {} material Material {} } geometry ElevationGrip { xDimension xSpacing 1.0 zDimension zSpacing 1.0 solid FALSE height [ 0.0, 0.0, 0.5, 1.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 3.0, 1.0, 0.5, 0.0, 1.0, 0.0, 0.0, 0.5, 2.0, 4.5, 2.5, 1.0, 1.5, 0.5, 1.0, 2.5, 3.0, 4.5, 5.5, 3.5, 3.0, 1.0, 0.0, 0.5, 2.0, 2.0, 2.5, 3.5, 4.0, 2.0, 0.5, 0.0, 0.0, 0.0, 0.5, 1.5, 1.0, 2.0, 3.0, 1.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0 ] } } Kết 13 Hình 2.1: Ví dụ xây dựng khung lưới đồ 5.3 Các phép biến đổi VRML Một file VRML xây dựng thành phần giới ảo Mặc định hình ảnh xây dựng VRML đặt tọa độ gốc Biến đổi tạo hệ thống hệ trục tọa độ mà hệ trục có vị trí tương đối so với hệ tọa độ mặc định Có phép biến đổi như: di chuyển, co giãn, xoay Hình 2.2: Trục XYZ với hình hình phức tạp Nhóm Node Transform quản lý phép biến đổi VRML như: dịch chuyển, co giãn, xoay Node Transform gồm có node con: translation, rotation, scale, children - Phép di chuyển (Translation) Ví dụ: Transform { 14 translation 2.0 0.0 0.0 children […] } Tham số translation X Y Z - Phép xoay (rotation) Ví dụ: Transform { rotation 0.00.0 1.0 0.52 children […] } Tham số rotation X Y Z góc góc = radians = degrees / 180.0 * 3.14 Lưu ý: để dễ dàng việc xoay đối tượng theo chiều ta có quy tắc bàn tay phải Hình 2.3: Quay theo trục X, Y, Z Nắm bàn tay phải lại, choãi ngón tay theo hình vẽ Ngón tay phương trục quay chiều từ cổ tay đến ngón tay chiều dương quay đối tượng - Co giãn đối tượng (Scale) Ví dụ: Transform { scale 0.50.5 0.5 children […] } Tham số Scale X Y Z - Children Các đối tượng vẽ chịu ảnh hưởng phép biến đổi node Transform Ví dụ: 15 Transform { translation -2.0 -1.0 0.0 children [ Shape { appearance Appearance { material Material { } } geometry Cylinder { radius 0.3 height 6.0 top FALSE } } ] } Như ví dụ hình trụ dịch chuyển so với tọa độ gốc theo trục X -2.0 theo trục Y -1.0 5.4 Màu sắc VRML Các đối tượng vẽ có mặc định màu trắng bạn kiểm soát thứ như: Shading color, Glow color, Transparency, Shininess, Ambient intensity Màu sắc VRML thể qua thông số R G B (red green blue) với giá trị nằm khoảng từ 0.0 đến 1.0 Node materialnằm node appearance quản lý việc Node material có node như: - diffuseColor: màu sắc khuyết tán - emissiveColor: màu sắc ánh sáng phát đối tượng - transparency: độ suốt (0 – tối mờ, – 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 pixel bề mặt đối tượng - shininess: cường độ sáng Ví dụ Shape { appearance Appearance { material Material { diffuseColor 0.8 0.8 0.8 emissiveColor 0.0 0.0 0.0 transparency 0.0 specularColor 0.71 0.70 0.56 shininess 0.16 16 ambientIntensity 0.4 } } } 5.5 Các nút VRML Ta nhóm đối tượng đơn lẻ thành đối tượng phức tạp Việc đặt nhóm vào nhóm tạo thành lược đồ cấu trúc node Một node nhóm có node đặt bên trường children Có node nhóm sau hỗ trợ VRML: Anchor, Billboard, Group, Switch, Transform, Inline - Anchor: cho phép xác định tập hợp đối tượng cách liên kết đến url, chẳng hạn siêu liên kết đến giới VRML khác, đến trang HTML đến liệu mà toàn trình duyệt đọc Khi kích vào đối tượng bên node Anchor toàn trình duyệt đưa đến địa url Khi đưa chuột qua đối tượng chứa node nhìn thấy địa url Ví dụ: Anchor { Children [ Shape { geometry Sphere { } } ] url http://www.picturevn.info description “Tới trang web tranh ảnh” } Các thuộc tính Children: chứa tất node bên nhóm url: cho biết địa url tìm kiếm Có thể có nhiều vị trí đặt url, trình duyệt tìm kiếm liệu vị trí theo thứ tự ưu tiên giảm dần parameter: cung cấp thông tin thêm vào cho trình duyệt Cho ví dụ rõ cửa sổ cần xem mà url hiển thị vào Description: đưa xâu, xâu hiển thị người dùng di chuột qua đối tượng chứa node Anchor 17 bboxCenter: xác định trung tâm hình hộp chữ nhật mà bao quanh tất node nhóm Giá trị trường điểm không gian bboxSize: xác định kích thước hình hộp chữ nhật mà bao quanh tất node nhóm Mặc định trường có giá trị -1 -1 -1 nghĩa hình hộp Tất giá trị thành phần trường lớn Nếu tất node không nằm hình hộp kết không xác định Hai trường bboxCenter bboxSize tùy chọn - Group: tạo tập hợp vật thể thực thể đơn Node có trường: children, bboxCenter, bboxSize Các trường tương tự node Anchor Tất node Group hiển thị Ví dụ Group { children [ ] bboxCenter 0 bboxSize -1 -1 -1 } - Switch: tạo nhóm chuyển đổi Chỉ có node nhóm hiển thị Và node người dùng lựa chọn Node tuyệt đối đánh số từ 0, không lựa chọn -1 - Transform: Xác định hệ trục tọa độ cho đối tượng nhóm - Billboard: tạo nhóm với hệ trục tọa độ đặc biệt Tất node nhóm hiển thị Hệ tọa độ quay đối diện với người dùng Ví dụ Billboard { axisOfRotation 0.0 1.0 0.0 children [ ] } 5.6 Một số phương pháp vẽ VRML 18 Trong VRML vẽ trực tiếp đối tượng Tuy nhiên nhiều trường hợp, đối tượng sử dụng nhiều lần việc vẽ trực tiếp nhiều thời gian, công sức tăng dung lượng file lên đáng kể Có cách thông dụng để giải việc là: - Inline: hàm inline cho phép ta gọi trực tiếp đối tượng bên file vào file Cú pháp Inline {url “Tên đường dẫn”} Ví dụ Inline {url “…/robot.wrl”} - DEF (DEFine): cho phép ta định nghĩa đối tượng hay kiểu thuộc tính Ví dụ Shape { appearance Appearance { materialDEF RedColorMaterial { diffuseColor 1.0 0.0 0.0 } } geometry … } Shape { appearance Appearance { materialUSE RedColor } geometry … } Như ví dụ ta định nghĩa đối tượng RedColor kiểu Material Sau muốn sử dụng lại ta gọi hàm từ khóa USE 5.7 Texture Mapping Ta mô hình chi tiết kết cấu nhỏ bé đối tượng Thay phải thời gian để vẽ ta lấy ảnh dán lên bề mặt kết cấu dán decal Kỹ thuật gọi ánh xạ kết cấu Trong VRML sử dụng định dạng ảnh sau đây: 19 - 5.8 GIF: bit, có hỗ trợ suốt, không lựa chọn tốt cho texture mapping JPEG: từ – 16 bit, không hỗ trợ suốt, lựa chọn tốt cho texture mapping PNG: từ – 16 bit, hỗ trợ suốt điểm ảnh, lựa chọn tốt cho texture mapping Script Thẻ script đưa khả linh hoạt, mềm dẻo để mở rộng gần vô hạn yêu cầu hành động hành động mong đợi phản hồi từ giới ảo Thẻ script cho phép xác định cách tương tác với giới ảo việc sử dụng ngôn ngữ lập trình Java, JavaScript VRMLScript đưa Silicon Graphics, Inc Trong thẻ script có trường hay thuộc tính, không giống với thẻ khác, thẻ script xác định kiện mà thẻ nhận gửi kiện Một thẻ script xác định hành động lúc nhận kiện, hành động thẻ script tạo nhiều kiện Hơn thẻ script dùng để xây dựng thủ tục khởi tạo (initiazation procedures) dừng, tắt (shutdown procedures) Một thẻ script nhận kiện, giá trị mà kiện có biến thuộc loại eventIn Tên biến tên kiện mà thẻ script nhận kiện Các biến đọc nghĩa thiết lập giá trị trực tiếp cho biến thuộc loại Một thẻ script tạo kiện nào, giá trị mà kiện có biến thuộc loại eventOut Cú pháp Script { url [ ] directOutput FALSE mustEvaluate FALSE eventIn Datatype EventName eventOut Datatype EventName field Datatype FieldName InitialValue } 20 url cho biết chương trình script xử lý Các ngôn ngữ gần hỗ trợ cho việc xây dựng chương trình script là: Java, JavaScript, VRMLScript Có hai cách mà thay đổi giới ảo việc sử dụng script: thứ sử dụng biến eventOut đặt kiện đến thẻ khác, thứ hai truy cập trực tiếp trường thẻ khác Chú ý hai cách phải thực thẻ Script Điều khó khăn cho trình duyệt vừa phải vẽ giới ảo vừa phải xử lý kiện thời gian Chương 3: Mô tòa nhà A10 Giới thiệu đề tài Nhà A10 tòa nhà trường Đại học Công nghiệp nơi diễn học, kiểm tra, thi, gắn liền với thời sinh viên nhiều người Chúng em chọn đề tài mô nhà A10 để vẽ lại chi tiết, phần tòa nhà Phân tích thiết kế hệ thống Tòa nhà A10 bao gồm tầng, tầng có phòng học Nhìn bên khối hình hộp chữ nhật Các mặt có cửa sổ, cửa vào Mặt trước tòa nhà có to lối vào tòa nhà Kích thước thực tế tòa nhà: + chiều dài: 53,77m + chiều rộng: 40m + chiều cao: 40.5m Mỗi tầng cao 4.5m Bề dày tường 0.2m Tòa nhà có tất 48 cột cao 40.5m chia thành hàng dãy cột Mỗi cột hình hộp chữ nhật dài, rộng 77cm Chính trước tòa nhà tầng thang máy, nhìn sang bên trái phải phòng thực hành có máy tiện bên phòng có nhà vệ sinh Từ tầng trở lên phòng học, lớp học có bàn ghế quạt trần, bóng đèn… 21 Hình ảnh phần a Tổng thể b Mặt bên trái 22 c Bên d Nhìn nghiêng e Các cột tòa nhà 23 f Mặt sau 24 Chương 4: Kết luận Sau khoảng thời gian tháng học lớp môn thực ảo,nhóm chúng em xây dựng mô hình tòa nhà A10, chưa hoàn hảo trình làm tập lớn, nhóm chúng em biết cách xây dựng mô hình, hiểu chút môn thực ảo Bên cạnh đó, chúng em biết cách quản lý thời gian, quản lý công việc để thực dự án Chúng em xin cảm ơn giúp đỡ, giảng dạy nhiệt tình thầy Vũ Đức Huy thời gian qua! 25 Tài liệu tham khảo https://www.google.com http://tailieu.vn/tag/cong-nghe-thuc-tai-ao.html https://vi.wikipedia.org/wiki/thực_tế_ảo http://ket-noi.com/forum/viewtopic.php?f=116&t=164703 26 [...]... viên của nhiều người Chúng em chọn đề tài mô phỏng nhà A10 để vẽ lại các chi tiết, các phần trong tòa nhà 2 Phân tích thiết kế hệ thống Tòa nhà A10 bao gồm 9 tầng, mỗi tầng có các phòng học Nhìn bên ngoài là một khối hình hộp chữ nhật Các mặt có cửa sổ, cửa ra vào Mặt trước của tòa nhà có một của chính to là lối vào chính của tòa nhà Kích thước thực tế của tòa nhà: + chiều dài: 53,77m + chiều rộng: 40m... Các cột của tòa nhà 23 f Mặt sau 24 Chương 4: Kết luận Sau khoảng thời gian 3 tháng học trên lớp môn thực tại ảo,nhóm chúng em đã xây dựng được mô hình tòa nhà A10, mặc dù chưa được hoàn hảo nhưng trong quá trình làm bài tập lớn, nhóm chúng em đã biết cách xây dựng một mô hình, hiểu chút ít về môn thực tại ảo Bên cạnh đó, chúng em cũng biết được cách quản lý thời gian, quản lý công việc để thực hiện... hai là truy cập trực tiếp các trường của thẻ khác Chú ý là cả hai cách này đều phải thực hiện trong thẻ Script Điều khó khăn cho bộ trình duyệt là vừa phải vẽ thế giới ảo vừa phải xử lý các sự kiện ở cùng một thời gian Chương 3: Mô phỏng tòa nhà A10 1 Giới thiệu về đề tài Nhà A10 là một tòa nhà trong trường Đại học Công nghiệp nơi diễn ra các giờ học, các bài kiểm tra, bài thi, gắn liền với thời sinh... tầng cao 4.5m Bề dày của tường là 0.2m Tòa nhà có tất cả 48 cột cao 40.5m chia thành 6 hàng và 8 dãy cột Mỗi cột là một hình hộp chữ nhật dài, rộng 77cm Chính giữa của trước của tòa nhà ở tầng 1 là thang máy, nhìn sang 2 bên trái phải là 2 phòng thực hành có các máy tiện bên trong mỗi phòng đều có nhà vệ sinh Từ tầng 3 trở lên là các phòng học, trong mỗi lớp học có bàn ghế quạt trần, bóng đèn… 21 3... 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ác node con không nằm trong hình hộp thì kết quả không xác định Hai trường bboxCenter và... 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ột node 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... trong trường coord Ví dụ coord Coordinate { point[0 0 0, 1 0 0, 1 1 0, 0 1 0] } Đã 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ông bằng cách sử dụng thuộc tính coordIndex[] và coordIndex[0 1 2 3] 11 Convex định nghĩa bề mặt là lồi hay lõm, trường này có giá trị kiểu boolean 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... bằng 0 Nếu tất cả các node 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 0 bboxSize -1 -1 -1 }... chúng ta có thể vẽ trực tiếp đối tượng Tuy nhiên trong nhiều trường hợp, đối tượng được sử dụng nhiều lần thì việc vẽ trực tiếp sẽ mất rất nhiều thời gian, công sức và tăng dung lượng file lên đáng kể Có 2 cách thông dụng nhất để giải quyết việc đó là: - Inline: hàm inline cho phép ta gọi trực tiếp một đối tượng bên ngoài file vào file hiện tại Cú pháp Inline {url “Tên đường dẫn”} Ví dụ Inline {url “…/robot.wrl”}... dẻo để mở rộng gần như vô hạn các yêu cầu hành động của chúng ta cũng như hành động mong đợi phản hồi từ thế giới ảo của chúng ta Thẻ script cho phép chúng ta xác định cách tương tác với thế giới ảo bằng việc sử dụng các ngôn ngữ lập trình như Java, JavaScript hoặc VRMLScript mới đây được đưa ra bởi Silicon Graphics, Inc Trong một thẻ script có thể có các trường hay các thuộc tính, nhưng không giống