báo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảobáo cáo công nghệ thực tại ảo
Trang 1MỤC LỤC
CHƯƠNG I : TỔNG QUAN VỀ THỰC TẠI ẢO……… …………3
1.1 Khái niệm thực tại ảo 3
1.2 Một số ứng dụng quan trọng của thực tại ảo 3
1.1.1 Quân sự 4
1.1.2 Giáo dục 4
1.1.3 Y học 4
1.1.4 Xây dựng 4
CHƯƠNG II : TỔNG QUAN NGÔN NGỮ MÔ HÌNH THỰC TẠI ẢO VRML 6
2.1 VRML là gì ? 6
2.2 Lịch sử ra đời và phát triển của VRML 7
2.3 Các tính năng cơ bản của VRML 8
2.4 Ứng dụng VRML trong thời đại hiện nay – X3D 10
2.4.1 VRML và web 3d 10
2.4.2 X3D – phát triển của VRML 11
CHƯƠNG III : TÌM HIỂU CHI TIẾT NGÔN NGỮ MÔ HÌNH THỰC TẠI ẢO VRML 12
3.1 Tập tin VRML 12
3.2 Các đối tượng hình học cơ bản 16
3.3.1 Box – Hình hộp chữ nhật 16
3.3.2 Sphere – Hình cầu 16
3.3.3 Cylinder – Hình trụ 17
3.3.4 Cone – Hình nón 17
3.3.5 Text 18
3.3 Các phép biến đổi trong VRML 20
3.2.1 Translation – phép dịch 21
3.2.2 Scale – phép tỷ lệ 21
3.2.3 Rotation – phép quay 21
3.4 Một số loại node thường dùng trong VRML 21
3.4.1 Nhóm 1 – Nhóm node xây dựng thế giới ảo 22
3.4.2 Nhóm 2 – Nhóm node mô tả tương tác thế giới ảo với thế giới thực 22
3.4.3 Nhóm các node đặc biệt 23
CHƯƠNG III: MÔ PHỎNG SÂN VẬN ĐỘNG BÓNG ĐÁ 24
Toàn cảnh sân vận động 24
Mặt cửa chính sân vận động 25
Chi tiết trong sân vận động 25
Trang 2LỜI MỞ ĐẦU
Đồ họa máy tính luôn là một trong những lĩnh vực được quan tâm nhất trongngành công nghệ thông tin nói chung và khoa học máy tính nói riêng Chúng ta có thểbắt gặp nhiều ứng dụng của đồ họa máy tính trên nhiều lĩnh vực của đời sống như :khoa học – y tế ( nghiên cứu, chuẩn đoán từ các hình ảnh mô phỏng ) , quân sự ( huấnluyện trong môi trường ảo), xây dựng – kiến trúc ( tạo không gian, mô hình ảo), giải trív.v…
Trong những ứng dụng ấy, việc mô phỏng lại thế giới thực bằng cách xây dựngnhững mô hình “ảo” trên máy tính luôn là một vấn đề lớn mà đồ họa máy tính hướngtới giải quyết Từ đó mà công nghệ “thực tại ảo” ra đời, với khả năng mô phỏng mộtcá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ớiphức tạp trừu tượng.Ngôn ngữ mô hình hóa thực tại ảo (Virtual Reality ModelingLanguage - VRML) đã được xây dựng từ nhu cầu phát triể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ài toán mô phỏng lại thế giới thựctrên máy tính
Do kiến thức hiểu biết cũng như kinh nghiệm của bản thân còn hạn chế nên đồ
án không tránh khỏi những thiếu sót Em rất mong nhận được sự đóng góp của quýthầy cô để hoàn thiện thêm nội dung của đồ án
Chúng em xin chân thành cảm ơn thầy giáo Vũ Đức Huy đã giúp đỡ chúng emthực hiện đề tài “Mô phỏng sân vận động bóng đá”, đi sâu vào tìm hiểu mô hình thựctại ảo, ứng dụng vào đề tài Trong quá trình làm bài còn hạn chế không tránh đượcthiếu sót, em rất mong nhận được sự đóng góp của quý thầy cô để hoàn thiện thêm nộidung của đồ tài
Chúng em chân thành cảm ơn!
Trang 3CHƯƠNG I : TỔNG QUAN VỀ THỰC TẠI ẢO
1.1 Khái niệm thực tại ảo
Thực tại ảo ( Virtual reality – VR ) là thuật ngữ mô tả một môi trường được tạo
mô phỏng bằng máy tính Trong đó đồ họa máy tính được sử dụng để đảm báo yếu tố
“real”- “ như thật” của môi trường này
Có thể mô tả yếu tố “ như thật “ này tức là các thành phần trong môi trường ảo
đó có thể thay đổi theo các tác động của người sử dụng qua các hành động, lời nói, cáinhì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ờigian 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 các thànhphầ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ởi những thay đổi trong môi trường ảo đã tác động lên các cơ quan cảmgiác của con ngườ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 ,v.v
Có thể nói, 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 gianthự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 ví dụ như thịgiác, thính giác, xúc giác,v.v…
1.2 Một số ứng dụng quan trọng của thực tại ảo
Ngày nay,tại nhiều nước phát triển, thực tại ảo đã và đang được ứng dụng trongrất nhiều lĩnh vực : khoa học kỹ thuật, kiến trúc, quân sự, giải trí, và đáp ứng mọinhu cầu: nghiên cứu- giáo dục- thương mại Lĩnh vực ứng dụng mang lại nhiều hiệuquả nhất của thực tại ảo đầu tiên phải kể đến là y học Bên cạnh đó thực tại ảo 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ự, thực tại ảocũ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ềnthố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 thực tại
ảo như: thực tại ảo ứng dụng trong sản xuất, thực tại ảo ứng dụng trong ngành rôbốt,thực tại ảo ứng dụng trong hiển thị thông tin (thăm dò dầu mỏ, hiển thị thông tinkhối, ) thực tại ảo 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:
Trang 4Mọi lĩnh vực "có thật " trong cuộc sống đều có thể ứng dụng "thực tế ảo" để nghiêncứu và phát triển hoàn thiện hơn.
1.1.1 Quân sự
Với việc phát triển của thực tại ảo, các binh sĩ sẽ được huấn luyện 1 cách trựcquan nhất các kĩ năng cân thiết như : lái máy bay, lai xe tăng, trước khi tham giacông việc thực tế Điều này vừa bảo đảm an toàn cho binh sĩ, vừa tiết kiệm được chiphí cho các khoa huấn luyện thực tế Lầu Năm Góc đã từng đầu tư 36 triệu USD choviệc một game đặc biệt nhằm huấn luyện binh sĩ trong quân đội Mỹ chống lại khủng
bố dưới dạng chiến thuật thực tế ảo.Với hệ thống trò chơi đặc biệt này, những binh sĩ
có thể tập luyện những bài tập của mình ngay tại nhà nhằm chống lại những tìnhhuống có thể phát sinh ra trong thực tế Đây sẽ là một game rất sống động, có tìnhhành động cao với môi trường và bối cảnh bám sát với thực tế Những người lính sẽphải vận dụng tất cả những kỹ năng đã được rèn giũa trong quân đội
1.1.2 Giáo dục
Ở các nước phương Tây việc ở nhà học qua Internet không còn là điều mới mẻnữa Và công nghệ thực tại ảo sẽ làm cho việc này trở nên thú vị hơn rất nhiều Giốngnhư một game MMORPG (game nhập vai trực tuyến nhiều người chơi) ,bạn điềukhiển 1 nhân vật đại diện cho bạn đi lại trong 1 trường học ảo được xây dựng trên máytính Bạn có thể tham gia vào bất cứ lớp học ảo nào mà bạn thích, nói chuyện vớinhững thành viên khác trong lớp
1.1.3 Y học
Đây là lĩnh vực mà thực tại ảo đem lại nhiều lợi ích thiết thực và cần thiết nhấttrong cuộc sống Thực tại ảo giải quyết được rất nhiều vấn đề trong y học: cung cấpmôi trường thực hành cho nghiên cứu và học tập, rất hữu ích trong việc mô phỏng các
ca phẫu thuật tránh gây rủi ro trong thực tế Nhiều phương pháp chuẩn đoán và chữatrị trong y học đã được ra đời dựa trên các nghiên cứu trong môi trường thực tại ảo
1.1.4 Xây dựng
Xiệc thiết kế và xây dựng một ngôi nhà ngày nay đã được hỗ trợ rất nhiều bởicông nghệ thực tại ảo Kiến trúc sư không chỉ hoàn thiện các bản vẽ của mình trên giấytheo ý tưởng của khách hàng nữa mà có thể xây dựng hoàn toàn một không gian ngôi
Trang 5nhà, công trình mà khách hàng mong muốn, thêm vào đó là các thao tác đi lại, quan sát: “ sống thử “ trong không gian ảo được tao ra với sự hỗ trợ của công nghệ thực tại ảo.
Ngoài một số lĩnh vực quan trọng kể trên, thực tại ảo trong thời đại hiện naycòn có mặt trong rất nhiều trong các lĩnh vực khác trong cuộc sống mà trong phạm vitài liệu này không thể kể hết được Những điều này cho thấy, thực tại ảo có ứng dụngtrong hầu hết các lĩnh vực của cuộc sống, từ đó cho thấy ý nghĩa , đóng góp quan trọng
mà thực tại ảo đem lại cho con người : nếu không có thực tại ảo, nhiều vấn đề khókhăn sẽ rất khó giải quyết được, hoặc có thể nhưng với hiệu quả thấp và chi phí tốnkém hơn rất nhiều
Trang 6CHƯƠNG II : TỔNG QUAN NGÔN NGỮ MÔ HÌNH THỰC
TẠI ẢO VRML
2.1 VRML là gì ?
VRML (Virtual Reality Modeling Language) là ngôn ngữ mô hình hóa thực tế
ả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 đối tượng
đồ họa tương tác ba chiều VRML được thiết kế dùng trong môi trường Internet,Intranet và các hệ thống máy khách cục bộ (local client) 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ẳng hạnnhư trực quan hóa các khái niệm khoa học và kỹ thuật, trình diễn đa phương tiện, giảitrí 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ác biế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ất liệu (materialproperties) 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ườngkhô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ới mộtfile 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
VRML cho phép truyền đi trong mạng những hình ảnh 3D Vớ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ên các fileVRML được truyền đi một cách khá dễ dàng Nếu HTML là định dạng văn bản thì
Trang 7VRML là định dạng đối tượng 3D Hiện nay VRML có lợi thế là sự đơn giản, hỗ trợdịch vụ web3D.
2.2 Lịch sử ra đời và phát triển của VRML
Năm 1989, một dự án với tên gọi là Scenario được bắt đầu được triển khai tại
công ty Silicon Graphics (Hoa Kỳ), do Rikk Carey và Paul Strauss thiết kế nhằm xâydựng một cơ sở hạ tầng cho các ứng dụng đồ họa 3D có khả năng tương tác với người
sử dụng Hai mục tiêu ban đầu của dự án là xây dựng một môi trường phát triển mới,giúp tạo ra một loạt các tương tác, các ứng dụng 3D phân tán, và sử dụng chính môitrường này để xây dựng nên một loại giao diện desktop 3D mới Giai đoạn đầu của dự
án tập trung vào thiết kế, xây dựng ngôn ngữ và cơ chế cho các khung (frame work)nền tảng
Năm 1992, sản phẩm đầu tiên của dự án – công cụ Iris Inventor 3D được pháthành Iris Inventor là một bộ công cụ C++, nó đã chỉ ra được nhiều ngữ nghĩa của vẫndùng trong VRML ngày nay Kết quả quan trọng của bộ công cụ này là đã định dạngđược các file được dùng để lưu trữ các đối tượng ứng dụng Ngay từ ban đầu, các địnhdạng file Inventor đã được thiết kế để có dung lượng nhỏ và dễ sử dụng
Tới năm 1994, phiên bản thứ hai của Iris Inventor được phát hành, và được gọi
là “Open Inventor” – bởi khả năng tương thích trên rất nhiều nền tảng khác nhau và vì
nó được dựa trên công nghệ OpenGL của Silicon Graphics Gavin Bell đã nghiên cứu
và soạn ra các bản thảo đầu tiên gồm các tài liệu tham khảo, hướng dẫn sử dụng, mô tảcác đối tượng và định dạng file trong bộ công cụ Open Inventor Từ đó VRML 1.0 rađời
Trong năm 1994, Mark Pesce và Tony Parisi đã xây dựng một nguyên mẫu banđầu cho một trình duyệt 3D với World Wide Web (WWW) gọi là Labyrinth Cuối nămnày , Mark và Brian Behlendorf đã tạo danh mục mail VRML, www - vrml, và đưa ra
đề nghị về việc công nhận một chuẩn chính thức cho đồ họa 3D trên WWW GarinBell đã nhận thấy sự phù hợp giữa Open Inventor của ông với www – vrml, nên đãnhanh chóng đưa ra ý tưởng phát triển các yếu tố cơ bản của định dạng file Inventorkết hợp với các tính năng WWW cần thiết Trải qua một cuộc bầu chọn, phát minh
Trang 8Inventor đã được chọn để xây dựng các tài liệu đặc tả kỹ thuật Sau đó, Gavin, với sựgiúp đỡ của Tony và Rikk cùng một loạt các kỹ sư của Inventor, đã sửa đổi và hoànthiện bản dự thảo đầu tiên cho chuẩn VRML 1.0 Tháng 10 năm 1994, tại hội nghịQuốc tế thứ 2 về World Wide Web được tổ chức tại Chicago (Hoa Kỳ), đặc tả vềVRML 1.0 được chấp nhận
Trong suốt nửa đầu năm 1995, VRML 1.0 đã trải qua một loạt các bản sửa đổi,chú thích, làm rõ tuy nhiên chức năng thì không hề thay đổi Tháng 8 năm 1995, có rấtnhiều tranh cãi về việc tạo ra bản VRML mới mang tên VRML 1.1 hoặc VRML 2.0.Một số nhà nghiên cứu cho rằng VRML chỉ cần phát triển thêm một vài tínhnăng,trong khi một số khác lại cho rằng VRML cần phải có sự tu sửa hoàn toàn.Nhưng tất cả họ đều đồng quan điểm chung là VRML 1.0 vẫn còn thiếu tính năngchính (như hiệu ứng, tương tác, hành vi), vậy nên việc xây dựng phiên bản mới choVRML là điều cần thiết Các cuộc thảo luận, tranh cãi tiếp tục nổ ra từ suốt tháng 9 tớitháng 12 mà không đem lại kết quả nào rõ ràng
Tháng 1 năm 1996, ý tưởng về một phiên bản VRML mới của Silicon Graphicskết hợp với tập đoàn Sony và Mitra với một đặc tả kỹ thuật về VRML 2.0 đã nhậnđược nhiều sự ủng hộ trên toàn thế giới Tháng 8 năm 1996 tại SIGGRAPH 96 ở NewOrleans, phiên bản đầu tiên của VRML 2.0 được công bố
Tại một cuộc họp vào tháng 7 năm 1996 ở Tokyo, Tổ chức ISO (InternaltionalStandards Organization’s) đã đồng ý công bố phiên bản VRML 2.0 Và tới tháng 4năm 1997, VRML 2.0 chính thức được là một chuẩn 3D trên WWW
2.3 Các tính năng cơ bản của VRML
2.3.1 Scene Graph Structure – Cấu trúc Scene Graph
VMRL mô tả các đối tượng 3D và thế giới ảo bằng cách sử dụng một đồ thịcảnh phân cấp Các đối tượng trong đồ thị Scene Graph được gọi là các node VRML2.0 định nghĩa 54 loại node khác nhau, bao gồm các hình khối cơ bản, các thuộc tínhappearance, âm thanh, và các kiểu khác nhau của node Group Node lưu trữ dữ liệucủa nó ở trong các trường (fields), VRML 2.0 định nghĩa 20 loại trường khác nhau
Trang 9VRML scene graph là một đồ thị phi chu trình Các node có thể chứa các nodekhác (một số loại node có thể chứa node con (children)) và có thể được chứa trongnhiều node (mỗi node có thể có nhiều hơn một node cha (parent)), nhưng một nodephải bao gồm chính nó Cấu trúc đồ thị scene graph này có tác dụng làm cho người lậptrình dễ dàng tạo ra một thế giới ảo bao gốm rất nhiều đối tượng và có các cấu trúcphức tạp.
2.3.2 Event Architecture – Kiến trúc sự kiện
VRML 2.0 định nghĩa cơ chế sự kiện thông qua các node trong Scene Graph,các sự kiện có thể giao tiếp được với nhau Mỗi loại node xác định tên và loại của các
sự kiện mà các sự kiện đó có thể tạo ra hoặc nhận vào, và xác định tuyến (ROUTE) –đường dẫn sự kiện giữa các đối tượng phát (hay nhận) sự kiện
2.3.3 Sensor – Cảm biến
Cảm biến (Sensor) là tương tác cơ bản giữa người dùng và đối tượng 3D NodeTimeSensor tạo ra các sự kiện (như thời gian trôi) và là cơ sở cho tất cả các hành vihoạt ảnh Những cảm biến khác đều là cơ sở cho tất cả các tương tác giữa người dùngvới thể giới, các cảm biến tạo ra các sự kiện với tư cách người xem, có khả năng dichuyển thông qua thế giới, hay khi người dùng tương tác với một số thiết bị đầu vào
do người lập trình định sẵn Cảm biến chỉ tạo ra các sự kiện, nó cần phải kết hợp vớicác node khác thông qua node ROUTE để có hiệu lực – lúc này sự kiện tương tác cảmbiến đó mới có tác dụng
2.3.4 Scripts và Interpolators
Các node kịch bản (Scripts) có thể được chèn vào giữa các máy phát sự kiện(đối tượng được đặt để tạo ra sự kiện) (ở đây thường gắn với cảm biến là các nút) vàmáy thu sự kiện Scipts cho phép người sáng tạo ra thế giới định nghĩa được các hành
vi – sự kiện bất kỳ VRML 2.0 quy định các ràng buộc node Script với ngôn ngữ javahoặc javaScript
Node Interpolators (người xen vào) được xây dựng trong Script để tính toán tạo
ra các hình ảnh động đơn giản Interpolators thường được kết hợp với một TimeSensor
và một số node trong Scene Graph để làm cho các đối tượng di chuyển
2.3.5 Protyping : Encapsulation and Reuse – Đóng gói và tái sử dụng
Trang 10VRML 2.0 cung cấp một cơ chế tạo mẫu cho đóng gói và tái sử dụng một SceneGraph (the PROTO statement) Các hình cơ bản, thuộc tính và hình ảnh động(Animation) đều có thể được đóng gói, đóng gói riêng rẽ hoặc đóng gói cùng nhau.Protyping cho phép định nghĩa một loại node mới để kết hợp các node hiện tại, nó làmcho VRML dễ dàng sử dụng và có thể làm giảm kích thước file VRML
2.3.6 Distributed Scenes – Phân tán cảnh
VRML 2.0 sử dụng node Inline cho phép file VRML có thể được lưu trữ bất cứnơi nào trên mạng và the EXTERNPROTO statement cho phép định nghĩa node mớiđược lấy từ bất cứ đâu trên WWW Nói chung EXTERNPROTO cho phép các nodeđược định nghĩa bên ngoài file VRML và nó là cơ chế cơ bản để mở rộng cho VRML
2.4 Ứng dụng VRML trong thời đại hiện nay – X3D
2.4.1 VRML và web 3d
File VRML có thể tham chiếu tới các file ở nhiều định dạng khác nhau để phục
vụ cho việc “ảo hóa” các yếu tố thực, ví dụ như : JPEG, PNG, GIF cho các yếu tố hìnhảnh, WAV và MIDI cho các yếu tố âm thanh trong thế giới , hay file MPEG cho yếu tốhình động ( video) Ngoài ra, một file VRML có thể chứa code Java hoặc JavaScript,các đoạn code Java hay JavaScript này được sử dụng để lập trình cho các đối tượngtrong VRML
Từ các ưu điểm vốn có của mình cùng với sự phát triển của nền tạng mạnginternet , VRML có thể được sử dụng để phục vụ cho việc xây dựng web 3 chiều –web 3D Kể từ khi ra đời cho đến nay, VRML đã được sử dụng để xây dựng , pháttriển các hình ảnh 3 chiều , xây dựng một thế giới ảo có khả năng tương tác với ngườidùng VRML phù hợp với hầu hết các kết cấu hạ tầng hiện có của Internet và wordwide web VRML được kết hợp với HTML và Java để tạo ra những trải nghiệm trênwebsite mới và thú vị cho người sử dụng
Có rất nhiều cách để kết hợp VRML, HTML và Java với nhau :
File VRML bên trong một file HTML : Sử dụng chuẩn bán HTML, bằng cách dùng <EMBED> hay <OBJECT> HTML tag Mã Java bên trong một file
Trang 11VRML : Đây là một chuẩn không bắt buộc của VRML 2.0 Sử dụng nút Script để soạn
thảo đoạn mã Java
Java applet giao tiếp với một trình duyệt VRML
File HTML bên trong một file VRML : Sử dụng một file HTML như một
texture map để hiển thị nó bên trong thế giới 3D - VRML
Java applet bên trong một file VRML : Tương tự, sử dụng java applet
như một texture map
2.4.2 X3D – phát triển của VRML
Mặc dù đã được sử dụng để xây dựng nhiều mô hình 3D để đem lại nhiều tiệních, trải nghiệm có giá trị cho người dùng Tuy nhiên, tại thời điểm nó ra đời, cơ sở hạtầng máy tính và mạng internet chưa đủ đáp ứng được nhu cầu cho việc đưa các ứngdụng 3D đó lên môi trường web một cách hoàn thiện Mà theo Toni Parisi- một trongnhững nhà đồng sáng lập nên VRML thì : “mọi thứ đều chưa chín muồi: đường truyềnkhông đủ lớn, máy tính không đủ nhanh, trình duyệt Web và hệ điều hành chưa có đủtính năng để xây dựng 3D”
Sau đó, trong những năm cuối thế kỷ 20 đầu thế kỷ 21 với sự phát triển mạnh
mẽ của máy tính cũng như nền tảng web, khả năng hiển thị và truyền tải 3D trở nênmạnh mẽ hơn trước rất nhiều VRML khi đó đã có thể đáp ứng được nhu cầu của mộtnền tảng xây dựng web 3D
Tuy nhiên, VRML mới những nhược điểm còn tồn tại lại chưa thực sự phù hợpvới nền tảng mạnh mẽ hiện tại, do đó, một chuẩn đồ họa dụa trên nền tảng VRML đã
ra đời Đó là X3D
Là một phát triển của VRML, X3D đã khắc phục được các nhược điểm nhưkích thước cồng kềnh, cấu trúc phức tạp của VRML, nó cung cấp một cơ sở hoàn thiệnhơn VRML, cho phép các nhà phát triển có thể mở rộng mà không làm vụn cấu trúccủa bản vẽ kỹ thuật – lỗi thường mắc phải trong VRML
Đặc biệt, X3D là một nền tảng phù hợp để phát triển các ứng dụng web 3d bởikhả năng tương thích cao với XML hoặc các giao diên lập trình ứng dụng nâng caoAPI
Trang 12Ngoài ra, X3D còn mang một số ưu điểm nội trội so với nền tảng của nó làVRML như : tăng khả năng tương tác giữa các đối tượng đồ họa , tạo ra khả năng kếtnối ứng dụng 3d với cơ sở dữ liệu cũng như các nguồn thông tin bên ngoài , v.v…
CHƯƠNG III : TÌM HIỂU CHI TIẾT NGÔN NGỮ MÔ
HÌNH THỰC TẠI ẢO VRML
3.1 Tập tin VRML
3.1.1 Làm việc với file VRML
Chúng ta có thể tạo một file VRML đơn giản bằng cách dùng một trình soạnthảo văn bản như Notepad hay WordPad, rồi sau đó lưu file với phần mở rộng wrl.Bên cạnh đó , giúp cho việc soạn thảo code VRML hiệu quả hơn , còn có một số công
cụ khác như VrmlPad – đây là công cụ sẽ được sử dụng để tạo các file VRML trongcác phần sau của tài liệu.( Download công cụ VrmlPad tại
http://www.parallelgraphics.com/products/vrmlpad/download/ )
Việc dịch và chạy một file *.wrl lại yêu cầu một bộ Player trợ giúp cho hiển thịcác đối tượng và hiệu ứng trong VRML Trong nhiều bộ Player hỗ trợ VRML hiệnnay, em chọn sử dụng bộ Cortona 3D Viewer được cung cấp miễn phí tại địa chỉ
http://www.cortona3d.com/Products/Cortona-3D-Viewer.aspx
Sau khi cài đặt bộ player trên, chúng ta có thể mở file wrl với đầy đủ các đốitượng và hiệu ứng VRML cùng các trình duyệt web như IE, FireFox,Chrome hoặcbuild thông qua bộ debug trong VrmlPad
3.1.2 Cấu trúc file VRML *.wrl
1 file VRML (*.wrl) có 3 thành phần cơ bản :
Tiêu đề (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ấ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 13 Phần chú thích (comment) : bắt đầu bằng dấu # và được chương trình bỏ
qua khi dịch và chạy
Các node : hay còn gọi là các thẻ , là thành phần chính của một file VRML,
bao gồm các phần tổng quát sau:
o Loại node ( bắt buộc ) Tên node phải viết hoa
o Các cặp dấu đóng mở ngoặc {…} ( bắt buộc phải có)
o Các trường (field) : có thể có nhiều trường trong một node, các node này
là tùy chọn, không bắt buộc Thứ tự các trường trong node không bắt buộc
o Các trường gồm nhiều giá trị thì phải nằm trong các cặp […] , tên cáctrường luôn bắt đầu bằng chữ thường
3.1.3 Trường ( field), eventIn, eventOut trong VRML
Field : Trong một file VRML, các trường được đặt trong các node và chúng
xác định trạng thái của các đối tượng trong thế giới ảo Trạng thái của các đối tượng sẽkhông xác định nếu như một trường trong cùng một node chứa nhiều giá trị khác
nhau Ví dụ như khai báo Box { size 1 1 1 size 2 2 2} là không hợp lệ.
EventIn, eventOut : Các node trong VRML cũng có thể tương tác với nhau
qua đó quy định được trạng thái của đối tượng mà chúng xây dựng thông qua các sựkiện được quy định theo eventIn và eventOut : eventIn và eventOut định nghĩa các loại
và tên của các sự kiện mà mỗi loại node có thể nhận biết hoặc tạo ra Các sự kiện này
có tính chất tạm thời và giá trị của nó không được ghi trong file VRML
Quy tắc đặt tên trường, eventIn, eventOut
Tất cả các trên có chứa nhiều từ phải bắt đầu bằng chữ thường , và ký tự đầutiên của mỗi từ sau đó phải viết hoa Ví dụ : addChildren
Tên của các eventIn sẽ chứa tiền tố “set_” trừ hai loại eventIn làaddChildren và removeChildren
Tên của các eventOut sẽ chứa hậu tố “_changed” trừ ngoại lệ eventOut củakiểu SFBool là bắt đầu vàng tiền tố “is”
Trang 14 Ngoài ra có một số eventIn và eventOut với kiểu SFTime không sử dụngtiền tố hoặc hậu tố.
3.1.4 Các kiểu dữ liệu trong VRML
Việc xây dựng một đối tượng trong VRML được thực hiện thông qua các node
và thuộc tính của đối tượng được quy định thông qua giá trị của các trường trong node.Các trường trong VRML lại có nhiều kiểu dữ liệu khác nhau :
3.1.3.1 SFBool
Là giá trị boolean đơn lẻ, nhận giá trị TRUE hoặc FALSE
3.1.3.2 SFColor và MFColor :
SFColor là một trường chứa màu đơn lẻ, được tạo nên từ ba số thực dấu chấm
động giá trị trong khoảng từ 0 đến 1, tương ứng với các giá trị màu Red, Green, Blue
Ví dụ 1 0 0 là màu đỏ, 0 1 0 là màu xanh lục
MFColor là một trường chứa nhiều giá trị Ví dụ [1 0 0 , 0 1 0 , 0 0 1]
3.1.3.3 SFFloat và MFFloat
SFFloat là giá trị dấu chấm động đơn lẻ, ví dụ : 1.1
MFFloat là một số các giá trị dấu chấm động, ví dụ [1.0, 2.0, 4.5].
3.1.3.4 SFInt32 và MFInt32
Các số nguyên đơn lẻ hoặc chuỗi 32bit có thể theo dạng thập phân hoặc hexa.Các số hexa bắt đầu với 32 bit, ví dụ 0xFF là 255 hệ thập phân
3.1.3.5 SFString và MFString
Chứa danh sách các ký tự trong tập ký tự utf-8
Chuỗi SFString như “Đồ án tốt nghiệp”, là một chuỗi ký tự trong dấu nháy
kép
Chuỗi danh sách MFString ví dụ như : [ “Đồ án”, “Khoa” ].
3.1.3.6 SFRotation và MFRotation