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

Nghiên cứu một số kỹ thuật tương tác trong web 3D

38 631 3

Đ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 38
Dung lượng 99,48 KB

Nội dung

Nguyên nhân là do các kỹ thuật sử dụng trong VRML 1.0 còn quá đơn giản, khả năng tương tác của các đối tượng 3D là rất kém, một lý do nữa là do chưa có những công ty thực sự lớn tham gia

Trang 1

Bộ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI 2

NGUYỄN QUANG THÀNH

NGHIÊN CỨU MỘT SỐ KỸ THUẬT TƯƠNG TÁC TRONG WEB 3D

Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 01

LUẬN VĂN THẠC SĨ MÁY TÍNH

Người hướng dẫn khoa học: PGS.TS Đỗ Năng Toàn

HÀ NỘI, 2013

Trong quá trình thực hiện luận văn này, em luôn nhận được sự hướng dẫn, chỉ bảo tận tình của PGS TS Đỗ Năng Toàn, Viện Công nghệ Thông tin thuộc Viện Khoa học và Công nghệ Việt Nam là cán bộ trực tiếp hướng dẫn khoa học cho em Em xin chân thành cảm ơn sự giúp đỡ quý báu đó

Em xin chân thành cảm ơn các Thầy, Cô giáo trong khoa Công nghệ thông tin, các thầy cô thuộc Viện Công nghệ Thông tin thuộc Viện Khoa học và Công nghệ Việt Nam và các cán bộ, nhân viên phòng Đào tạo Sau đại học, trường Đại học sư phạm Hà Nội 2 cùng các anh chị đồng nghiệp trong cơ quan đã tạo những điều kiện thuận lợi cho tôi học tập và nghiên cứu tại trường Đại học Sư Phạm Hà Nội 2

Xin chân thành cảm ơn các anh, các chị và các bạn học viên lớp Cao học K15KHMT- trường

1

Trang 2

Đại học sư phạm Hà Nội 2 đã luôn động viên, giúp đỡ và nhiệt tình chia sẻ với tôi những kinh nghiệm học tập, công tác trong suốt khoá học.

Cuối cùng, tôi muốn gửi lòi cảm vô hạn tới gia đỉnh và bạn bè, những người thân yêu luôn bên cạnh và động viên tôi trong suốt quá trình thực hiện luận văn tốt nghiệp

Mặc dù rất cố gắng, song luận văn này không thế tránh khỏi nhũng thiếu sót, kính mong được sự chỉ dẫn của các quý thầy cô và các bạn

Hà Nội, thảng 12 năm 2013

Tác giả

Nguyễn Quang Thành LỜI CẢM

Trang 4

MỎ ĐẦU

1 Lý do chọn đề tài

- Cùng với sự bùng nổ của Internet, nhu cầu sử dụng Website và số lượng Website ngày càng tăng cao Website trở thành một công cụ để người ta quảng bá mọi vấn đề, mọi lĩnh vực, đặc biệt là trong thương mại

- Các công nghệ mới luôn được áp dụng vào Website: công nghệ quản trị nội dung, kiết xuất thông tin, tác tử, Trong đó, sử dụng yếu tố đồ hoạ vào trong Website là một công nghệ đang rất được quan tâm

- Công nghệ thiết kế đồ hoạ cho Website cũng có nhiều cách tiếp cận khác nhau Cách tiếp cận lâu đời và đang phố biến hiện nay đó là Website sử dụng các hình ảnh 2 chiều Các hình ảnh hai chiều chỉ thể hiện được các sự vật theo chiều dài và chiều rộng Điều này sẽ hạn chế khá nhiều khi muốn quan sát một vật nào đó một cách kĩ càng Với các trang Web giới thiệu sản phẩm, nếu giới thiệu một cách tỉ mỉ một sản phấm nào đó thì người ta phải trình bày các bức ảnh chụp sản phấm ở các góc độ khác nhau sẽ tốn bộ nhớ, tốn thời gian tải, tốn diện tích trang Web

- Một cách tiếp cận khác chính là sử dụng các hình ảnh 3 chiều Trong đó, cũng rẽ ra làm hai khuynh hướng Đó là 3D giả lập và 3D

- 3D giả lập chỉ mô phỏng các nguyên lý dựng hình 3 chiều Tiêu biếu cho 3D giả lập

là flash Quả thật dùng flash đã làm cho Website trông sống động hon rất nhiều Các file này cũng khá nặng và đòi hỏi ở máy khách phải cài các phần mềm mới có thể đọc được Và nói chung, người xem vẫn ở thế bị động vì các flash chuyển động không phụ thuộc vào ý muốn của người xem

Từ những vấn đề nêu trên, tôi chọn đề tài “Nghiên CÚĨI một số kỹ thuật tương tác trong Web 3D ” để làm luận văn tốt nghiệp.

Trang 5

- Tìm hiểu các kĩ thuật tạo Web3D theo khuynh hướng thứ 2, tức là sử dụng các mô hình 3D thực sự Thực chất của mục đích này là muốn giới thiệu kĩ thuật đẩy các mô hình 3D lên trang Web.

3 Nhiệm vụ nghiên cúu

- Nghiên cứu lý thuyết về Web và các kỹ thuật dựng hình 3D

- Xác định bài toán cụ thể

- Xây dựng các mô hình 3D và đẩy các mô hình lên trang Web

4 Đối tưọng và phạm vi nghiên cún

> Đối tượng nghiên cún:

Kỹ thuật tương tác trong Web 3D trong đó đối tượng nghiên cứu chính là các

- Phương pháp nghiên cứu thực tiễn

- Phương pháp nghiên cứu tài liệu

6 Dự kiến đóng góp mói

- Xây dựng được một Website ứng dụng được trong thực tiễn

NỘI DƯNG Chương 1: KHÁI QUÁT VÈ WEB 3D VÀ TƯƠNG TÁC 1.1 Khái quát về Web 3D

1

Trang 6

mạnh của Internet và đồ họa 3D.

Trong những năng gần đây, công nghệ 3D đã thực sự phát triển và bùng nả Giờ đây 3D đã chinh phục rất nhiều lĩnh vực và đang tạo nên một cuộc cách mạng công nghệ mới Tính hiệu quả của công nghệ 3D đã thu hút rất nhiều nhà sản xuất, kinh doanh, từ đó có thể đưa đến những sản phẩm công nghệ tiêu biểu như Tivi 3D, phim 3D, game 3D, điện thoại 3D không cần k í n h v à không thể không kể đến các sản phẩm Web 3D Nhiều người nghĩ rằng trải nhiệm Web 3D cũng giống như xem phim 3D, cũng có thế nhìn thấy những sản phấm và hình ảnh chân thật và sống động như đang nhìn ở thế giới bên ngoài Thực ra công nghệ này không phải là không có nhung nó mới chỉ dừng lại ở ý tưởng và thử nghiệm vì công nghệ này phụ thuộc khá nhiều vào phần cứng Đe trải nghiệm công nghệ này cần phải có màn hình hỗ trợ 3D

và kính xem 3D Trong khuôn khổ của luận văn này, em chỉ đề cập đến Web 3D với khả tương tác với các nội dung 3D được hiến thị trên nền web Ví dụ người dùng web

có thể xem một sản phẩm trên web với nhiều góc độ khác nhau

Apple - Điện thoại Iphone 4 32GB Black

Cíck & Rè cftuçi đề Xoey Cuộn ctiuót đé ^tìóogtt nay Thu nnô »háo Ctrl

* Cếck & Rê cftuçt đé У- cnuyẮA Nhen Esc đê trớ lai VI trí 8»fl đỉu,

Hình 1.1: Một sản phẩm 3D được hiển thị trên Web

Sau sự thành công của thời kỳ Web 2.0, người ta bắt đầu có những dự đoán cho một

thời kỳ phát triến tiếp theo của thế giới web - thời kỳ của Web3.0 (Semantic Web) Tất cả những gì về Web 3.0 đều vẫn chỉ là dự đoán: Web

3.0 sẽ là thời kỳ mà hệ tầng mạng cực kỳ phát triến, và nền tảng của Web 3.0 sẽ là nhũng

hệ thống như SOA (Service Oriented Architecture - Kiến trúc Định hướng Dịch vụ), Web Services và trí tuệ nhân tạo Với sự phát triển của hệ tầng mạng, việc hiến thị các nội dung 3D sẽ trở nên dễ dàng hơn bao giờ hết Và như vậy rất có the Web 3D sẽ trở

1

Trang 7

thành một điểm sáng trong thời kỳ của Web 3.0.

Một sô công ty lớn đang có nhũng dự án phát trỉến Web 3D:

+ Tại Hội thảo Công nghệ GPU NVIDIA (Mỹ) ngày 30/9/2009, một

giải pháp tương tác mô hình 3D trên trình duyệt Web được trình diễn thực tế Đó là nền tảng tính toán NVIDIA RealityServer ra đời từ sự kết hợp giữa máy chủ trang bị

bộ xử lỷ đồ họa Testla của NVIDIA và PM Reality Server của Metal Images Nen tảng cho phép dựng hình 3D trực tiếp trên máy chủ (xây dựng theo mô hình điện toán mây - cloud computing) và hiến thị trên trình duyệt máy khách trong vòng 15-20 giây (trong khi dựng trên máy tính cá nhân có thế mất đến vài giờ) Mô hình 3D còn có thể tương tác chân thực với nhiều nguồn sáng và môi trường: thể hiện được trạng thái ngày/đêm, bật đèn/tắt đèn và phản chiếu cảnh quan thực tế

Trên phương diện hiển thị đầu cuối, NVIDIA hợp tác với Adobe để khai thác sức mạnh của bộ xử lý đồ họa vào việc tăng tốc trình Flash Player 10.1 và các ứng dụng đồ họa khác trên thiết bị di động Ket quả này là một phần trong dự án mang tên gọi open Screen Project (www.openscreenproject.org) khởi xướng bởi Adobe, qui tụ gần 50 công ty công nghệ hàng đầu Điều này mở ra nhiều hướng cung cấp nội dung, trình bày 3D trên môi trường Internet và cơ hội mới cho những nhà cung cấp dịch vụ/nội dung I n t e r n e t [ 1 0 ]

+ “Khronos Group, tổ chức phát triển và quản lý giao diện OpenGL, tuyên bố đang hợp tác với Mozilla để đưa đồ họa ba chiều vào thế giới web và một bản dự thảo cho chuẩn mới, mang tên WebGL, đã hình thành

WebGL cho phép các lập trình viên JavaScript tận dụng card video để xử lý đồ họa ba chiều Khronos đang tập hợp những đánh giá của các chuyên gia phát trien web đế có thế sớm hoàn tất các thông số “không đơn giản chỉ là dự thảo vào quý 1/2010”

Internet Explorer hiện vẫn là trình duyệt được sử dụng nhiều nhất trên thị trường Tuy nhiên, bốn đối thủ chính là Mozilla Firefox, Apple Safari, Google Chrome và opera cũng đang cạnh tranh gay gắt và công nghệ ba chiều là một trong những mục tiêu mà các trình duyệt này hướng tới

Hỗ trợ 3D trên web sẽ giúp nâng cao giao diện người dùng của các úng dụng

1

Trang 8

web đặc biệt là game Tuy vậy, chưa thể xác định thời điểm công nghệ này có mặt trên máy tính người dùng bởi sau khi WebGL được phê chuẩn, nó phải được tích hợp vào trình duyệt và giới lập trình viên cũng phải học cách hỗ trợ công nghệ ” [11]

+ “Hai dự án liên quan đến việc phát triển công nghệ web 3D, mục đích tương

tự nhau là tăng tốc phần cứng đồ họa 3D cho web từ Mozilla và Google tưởng chừng

đi đến bế tắc thì bất ngờ một dấu hiệu tốt đẹp đến từ Google hứa hẹn công nghệ web 3D sẽ đến hồi xuất hiện trong thời gian sắp tới

Hai dự án nổi lên gần như tại cùng một thời điểm trong năm 2009: trình duyệt

03 D đến từ Google và tiêu chuẩn WebGL được đề xuất từ Mozilla và Khronos Group 03D là một công nghệ cao cấp, trong khi WebGL được quan tâm nhiều hơn trong công nghệ đồ họa 3D

Trong những tháng gần đây, mặc dù 03D đã bị ngừng hoạt động phát triến, nhưng không phải vì thế mà Google quyết định rời bỏ 3D Nhiều dự đoán cho rang Google đang cố gắng tập trung năng lực của mình bằng cách xây dựng nó trên nền tảng WebGL Điều này sẽ có tác động tốt cho cả Mozilla và Google khi nó sẽ có dấu hiệu cho sự hợp tác nhiều hơn là sự cạnh tranh mà cả 2 muốn thực hiện cho các dự án của mình, làm việc trong một

môi trường cô lập củng cố cho dự án của mình ” [12]

1.1.2 Phân biệt giữa đồ họa 2D, 3D và 2.5D(giả 3D)

Đê mọi người có thê xác định chính xác hon vê những nội dung 3D được hiển thị trên web Em xin có một chút sự phân biệt giữa đồ họa 2D, 3D và 2.5D (giả 3D)

Đối tượng 2D được xây dựng trên hệ thống đồ hoạ máy tính 2 chiều (2 Dimensional), cũng như hệ toạ độ 2 chiều của trục toạ độ, nó phản ánh một phong cách đồ hoạ phang Đồ hoạ 2 chiều không có sự tham gia hoặc có nhung rất ít của các hiệu ứng 3 chiều đặc trưng như hiệu ứng chiếu sáng, phản chiếu, đổ bóng Đặc trưng

dễ nhận dạng nhất của đồ họa 2D là không thể xoay góc quay được, tất nhiên yếu tố này không thể giúp ta khẳng định chắc chấn là đồ họa 2D, có những đối tượng 3D vẫn hạn chế không cho xoay màn hình Đặc trưng kế tiếp là không có ấn tượng 3 chiều rõ rệt Giả sử bản đồ sẽ được cuộn theo 2 chiều là chiều thẳng và chiều ngang khác với 3D không dùng hình thức cuộn bản đồ mà dựa vào không gian khối của bản

1

Trang 9

Đối tượng 3D được xây dựng trên hệ thống đồ hoạ máy tính 3 chiều hiện đại (3 Dimentional), hệ thống đồ hoạ này khai thác 3 chiều không gian là chiều ngang - dọc - sâu tạo nên một thế giới hình khối khác hẳn thế giới hình phang của 2D Đồ hoạ 3D khai thác tối đa các hiệu ứng 3 chiều như đổ bóng, chiều ánh sáng, sự phản chiếu

Nếu 2D và 3D dễ định nghĩa và xác định thì 2.5D là một khái niệm trừu tượng Theo định nghĩa thì 2.5D là những đối tượng sử dụng một phần hệ thống đồ hoạ 2D

và phần còn lại của 3D hay một đối tượng 2D dùng các hiệu ứng đồ hoạ 3D để mô phỏng tính chất của 3D (giả 3D)

Hình 1.2: Phân biệt đồ họa 2D, 3D và 2.5D 1 Khối

3 Cách vẽ một khối cầu 2D giả 3D 4 Khối cầu 3D

1.1.3 Lịch sử hình thành và phát triển của Web 3D

Khởi đầu cho sự xuất hiện Web 3D là sự xuất hiện của ngôn ngữ VRML Một ngôn ngữ có thế mô tả và xây dụng một môi trường 3D có khả năng tương tác trên web Vào năm 1994 Tim Berners - Lee và Dave Raggett trong hội nghị quốc tế đầu tiền về WWW (World Wide Web) được tổ chức tại Geneva đã có những đề xuất rất nghiêm túc trong việc hình thành một ngôn ngữ có khả năng miêu tả và liên kết các nội dung 3D lên thế giới web Từ đó thì phiên bản VRML đầu tiên đã ra đời

Sau một sự khởi đầu tuyệt với với rất nhiều kỳ vọng Rất nhiều công ty đã tham gia vào việc nghiên cứu và phát triển một lĩnh vực hoàn toàn mới này Với mục tiêu là tọa ra một chuẩn trong việc thiết kế Web 3D Thế nhưng sau một thời gian phát triển, rất nhiều công ty đã từ bỏ việc nguyên cứu này hoặc chuyến hướng hoạt động

1

Trang 10

Việc phát triến của Web 3D ngày càng đi vào bế tác Nguyên nhân là do các kỹ thuật

sử dụng trong VRML 1.0 còn quá đơn giản, khả năng tương tác của các đối tượng 3D

là rất kém, một lý do nữa là do chưa có những công ty thực sự lớn tham gia vào việc nghiên cứu và phát triển này

Hơn nữa, sự thiếu hỗ trợ từ các trình duyệt cũng khiến cho VRML rất khó trong việc tích hợp các kịch bản vào trình duyệt đế hiện thị nội dung 3D Trong tình hình như vậy nhiều công ty lớn nhung Macromedia đã quyết định phát triến những tiêu chuấn riêng dựa trên những ứng dụng sẵn có của họ đế hiện thị nội dung 3D trên môi trường web Trực tiếp cạnh tranh với chuẩn VRML và VRML đúng trước nguy

cơ bị thay thê

Đây là giao đoạn mà có hai hướng phát triển cho VRML, một là phát triển VRML thành một chuẩn mở (standard open source) hai là hướng phát triến của các công ty thành một ứng dụng đóng và cố gắng đế khắng định công nghệ của mình trên những công ty khác Cả hai xu hướng đều ko dẫn đến bất kỳ một kết luận nào và cũng

ko có một chiến thắng cho một xu hướng nào Do đó, tình hình lúc bấy giờ là phải có một loạt các giải pháp cho việc xây dựng các ứng dụng có nội dung 3D trên web, nơi

mà có một số lượng đáng kể các công ty xây dựng các ứng dụng 3D cho mục đích thương mai thuần túy, mỗi trong số đó thì phát triển trình hiển thị 3D trên web cho riêng mình Đấy cũng là lý do ngày hôm nay chúng ta lại phải cài nhiều plug in như vậy để có thể xem được tất cả các nội dung 3D trên web

Microsoft cũng đã một lần đưa nhóm “thế giới ảo” (Virtual Worlds) vào trong chương trình nghiên cún của mình để phát triển một nền tảng Web 3D Nhưng theo nhưng điều tra của họ về những eiá trị của việc nghiên cứu này thì họ có nhiều lý do

để ko thực hiện IE chưa bao giờ cho phép hiển thị các trực tiếp các nội dung VRML(kế cả sau này là X3D), có thế họ sẽ phát triến trình xem 3D riêng của mình

Cũng thời điểm đó, rất nhiều cải tiến trong việc xây dựng Web 3D dựa trên nền tảng Java đã xuất hiện trên thị trường Hứa hẹn về khả năng tương thích với bất

kỳ trình duyệt nào cho phép chạy một máy ảo Java Nhưng Java lại gặp vấn đề trong việc cấp phép giữa Sun và Microsoft dẫn đến một chút rắc rối trong việc khi nào và ở đâu thì họ được quyền sử dụng các phiên bản khác nhau của máy ảo Java

1

Trang 11

Java 3D cho phép các nhà phát triển tạo ra những ứng dụng 3D và kết nối người dung thông qua web Nhưng không rõ tại sao mà các nội dung 3D không bao giờ hiện thị một cách hoàn hảo trên trình duyệt Các nội dung Java 3D chỉ có thể hiện thị tốt trong các ứng dụng độc lập mà thôi.

về sau này thì có rất nhiều công nghệ cho phép sử dụng web để hiện thị nội dung 3D, nhưng hầu hết chúng đều yêu cầu cài đặt các chương trình hỗ trợ cho việc hiện thị Những fan của Web 3D chỉ mong rằng có những trình duyệt hoặc những máy tính được tích hợp đầy đủ mọi thứ để phục vụ tốt cho việc hiện thị Web 3D mà ko cần phải cài đặt thêm bất kỳ một phẩn mềm hỗ trợ nào Nhưng rất tiếc là tại thời điểm đó thì không có công ty nào sản xuất ra nhũng chiếc máy tính và nhũng trình duyệt như vậy cả Thực ra, ngày nay(2013) thì ước mơ đó cũng phần nào trở thành hiện thực khi

có sự xuất hiện của WebGL và sức mạnh của HTML5 WebGL (Web-based GraphicsLibrary) là một thư viện phần mềm mở rộng khả năng của ngôn ngữ JavaScript để cho phép nó tạo ra tương tác đồ họa 3D trong bất kỳ trình duyệt nào tương thích (Firefox, chrome ) Mã của WebGL thực hiện xử lý trực tiếp trên card xử lỷ đồ họa (GPU) [13]

Tại thời điểm mà có rất nhiều những công nghệ mới thì những công ty lớn tham gia vào lĩnh vực phát triển Web3D thì người ra nghĩ rằng VRML là một thất bại

và sẽ nhanh chóng biến mất trong thế giới của những công nghệ 3D dành cho web Nhưng không, vào năm 1996 với sự ra đời của Hiệp hội VRML (VRML Consortium), sau này được gọi là Hiệp hội Web 3D (Web 3d Consortium), một tố chức phi lợi nhuận đã phát triến VRML với một định hướng rất đúng đắn Tại thời điểm đó VRML

đã ra phiên bản 2.0 với nhiều cải tiến rõ rệ, khắc phục được sự yếu kém trong việc tương tác trong phiên bản VRML 1.0 Sau sự thành công của VRML 2.0 là sự phát triển lên X3D, tiêu chuấn được sự hỗ trợ từ Microsoft, Sun Microsystems và W3C X3D được xây dựng dựa trên ngôn ngữ XML nên đã mang lại nhiều cải tiến rõ rệt

1.1.4 Ngôn ngữ VRML ịVirtual Reality Modeling Language)

VRML là ngôn ngữ mô hỉnh hóa thực tê ảo, một dạng tập tin được sử dụng trong việc mô tả các đối tượng và thế giới đồ họa có khả năng tương tác ba chiều VRML được thiết kế dùng trong môi trường Internet, Intranet (mạng nội bộ) và các

1

Trang 12

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 đoi đa năng cho đồ họa ba chiều tích họp và truyền thông đa phương tiện VRML có thể được sử dụng trong rất nhiều lĩnh vực ứng dụng, 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ương tiện, giải trí, giáo dục, hỗ trợ web và chia sẻ các thế giới ảo.

về căn bản thì VRML chỉ đơn giản là một 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 Chang hạn như các biến đổi phân cap (hierachical tranformations), nguồn ánh sáng (light sources), điếm nhìn (view points), hình học (geometry), sương mù (fog), thuộc tính chất liệ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ện các tương tác với các đối tượng mô hình, VRML được sử dụng để phát triển những hình ảnh 3D và những quang cảnh 3D 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 môi trường Internet Chỉ với một fie văn bản 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 file VRML được truyền đi một cách rất dễ dàng Neu HTML là định dạng văn bản thì VRML là định dạng đối tượng 3D Hiện nay VRML có lợi thế là sự đơn giản, hỗ trợ tương đối tốt các dịch vụ Web 3D

uns duns của VRML 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, hay MPEG cho các yếu tố phim Ngoài ra, một file VRML có thể chứa code Java hoặc JavaScript, các đoạn code này được sử dụng để lập trình cho các đối tượng trong VRML

Từ các un đ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ạng

1

Trang 13

Internet, VRML có thế sử dụng đế phục vụ cho việc xây dựng Web 3D Ke từ khi ra đời đến nay, VRML đã được sử dụng đế xây dựng, phát triến các đối tượng 3D trên nền web, xây dựng một thế giới ảo có khả năng tương tác cao 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à WWW VRML được kết hợp với HTML và Java để tạo ra những trải nhiệm mới mẻ và thụ vị cho người sử dụng web.

Có 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 HTML bằng cách dùng

<EMBED> hoặc thẻ <OBJECT> Mã Java bên trong file VRML: Đây là một chuẩn không bắt buộc của VRML 2.0 Sử dụng node Script để soạn thảo một đ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 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

X3D — Sư phát trỉế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 nhu cầu cho công việc đưa các ứng dụng 3D đó lên môi trường web một cách hoàn thiện Mà theo như Tôn Parisi - một trong những nhà sáng lập nên VRML thì : “Mọi thứ đều chưa chín muồi: đường truyền không đủ lớn, máy tình không đủ nhanh, trình duyệt Web và hệ điều hành chưa

đủ 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ên mạnh mã hơn trước rất nhiều VRML khi đó đã có thể đáp ứng được nhu cầu của một nền tảng xây dựng web 3D

Tuy nhiên, VRML với nhũng nhược điếm còn tồn tại lại chưa thực sự phù hợp vớ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 sự phát triển của VRML, X3D đã khắc phụ đượ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ện

1

Trang 14

hơ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úc củ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ởi khả 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 cao.Ngoài ra, X3D còn mang một số ưu điểm nổi trội so với nền tảng trước 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ết nố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

1.2 Một số công nghệ hiện thị đối tưọ’ng 3D phổ biến

Như đã đê cập trong phân lịch sử phát triên của Web 3D, mọi người cũng có thể thấy một vài công nghệ nổi trội trong việc hiện thị các đối tượng 3D trên nền web Sau đây em xin trình bầy cụ thể về một số công nghệ phổ biến

1.2.1 Adobe Flash

Flash là một công nghệ nền đa phương tiện thường được sử dụng để tạo hoạt họa, video, tương tác với các trang web, và để phát triển những ứng dụng trên Intemet(trò chơi, quảng cáo )• Flash sử dụng kỹ thuật đồ họa vector và đồ họa điểm để tạo hoạt họa cho chữ, hình vẽ, ảnh, hỗ trợ thực thi luồng âm thanh, video Nó chứa bên trong một ngôn ngữ hướng đối tượng gọi là ActionScript Đe hiển thị nội dung Flash, chúng ta phải sử dụng một số phần mềm chơi Flash như Adobe Flash Player

Flash được giới thiệu lần đầu vào năm 1996 bởi Macromedia và hiện tại là Adobe Systems Tiền thân của ứng dụng Flash là SmartSketch- Một ứng dụng cho máy tính dùng bút chạy trên hệ điều hành Penpoint OS phát triển bởi Jonathan Gay, sau đó được đưa vào phát triến trên hệ điều hành Microsoft Windows và Mac OS.Cho đến khi Internet trở nên phổ biến SmartSketch được biết tới với tên gọi mới là FutureSplash Năm 1995, SmartSketch được thay đổi với đặc điểm hoạt họa frame-by-frame với tên gọi mới là FutureSplash Animator

Năm 1996, Macromedia đưa ra tên gọi mới là Flash, sự viết tắt của "Future" và

"Splash" Tệp tin Flash được gọi với tên Shockwave Flash và có phần mở rộng là swf

Flash là một công nghệ đóng hoàn toàn, được độc quyền sở hữu 100% bởi

1

Trang 15

Adobe Systems, một công ty công nghệ lớn của Mỹ với những sản phấm nổi tiếng như: Adobe PhotoShop, Adobe Reader, Adobe Creative Suite Các công nghệ của hãng được sử dụng rộng rãi trên toàn thế giới như chương trình đọc tài liệu Adobe Reader - đọc tệp tin pdf, chương trình chơi Flash được bổ sung vào trình duyệt web như Adobe Flash Player tới những sản phâm chuyên dụng như Adobe Creative Suite

Do được sử dụng rộng rãi trên toàn thế giới, Adobe phố biến với số lượng khá lớn các tài liệu hướng dẫn sử dụng, hướng dẫn thi hành, cơ chế Tuy nhiên, những tài liệu này chủ yếu hướng tới đối tượng là người sử dụng cuối cùng( người dùng sản phẩm của hãng) và không hướng tới mục đích cung cấp tài liệu đặc tả kỹ thuật cho những người phát triển dựa trên công nghệ này Việc một sản phẩm được phổ biến một cách rộng rãi không đồng nghĩa với việc đó là công nghệ mở Nhất là khi những sản phẩm này được kiểm soát hoàn toàn và chỉ được giới thiệu bởi một mình Adobe

Họ có quyền quyết định tới tương lai của công nghệ này

Mặc dù flash không thực sự có dự định phát triến một nền tảng 3D cho web nhưng rất nhiều thư viện đã được thiết kế để hỗ trợ cho các ứng dụng flash có khả năng tương tác với những nội dung 3D trên nền web

1.2.2 Java 3D

Java 3D là một API của Java cho phép phát triển những nội dung 3D Java 3D được ra đời từ năm 1998 và đã trải qua nhiều phiên bản khác nhau Mặc dù công nghệ này đã không được sử dụng rộng rãi trên các ứng dụng web, nhung Java 3D cũng có một khả năng xử lý đồ họa và đa phương tiện rất phong phú, được thừa hưởng từ các lớp Java của nó Hỗ trợ lập trình hướng đối tượng, lập trình đa luồng, hỗ trợ hiệu ứng

âm thanh và đồ họa 3D là một vài tính năng được cung cấp cho lập trình viên

Bởi vì Java 3D ko phải là một phần của Java Runtime Enviroment nên hầu hết người dùng Internet phải tải về và cài đặt những thư viện bố sung đế hỗ trợ việc hiện thị nội dung 3D Một bất lợi nữa của API là trình duyệt chỉ có thể chạy mã java trong applet, mà applet thì lại có xu hướng là không tích hợp tốt với trang HTML, cả trong cách hiện thị và lập trình

Mặc dù không được nhà cung câp và cộng đông thực sự đâu tư nghiên cứu và

1

Trang 16

phát triển, nhưng công nghệ Java 3D trên web cũng đã thực sự nổi trội trong một vài năm.

1.2.3 Extensible 3D(X3D)

Ngôn ngữ X3D được phát triển bởi Hiệp hội Web3D (Web3D Consortium) là một chuẩn mở hỗ trợ phát triển đồ họa 3D trên web cấu trúc của X3D bao hàm nhũng hàm chức năng của VRML và phát tri en thêm những tính năng về đa phương tiện X3D đã được bổ sung thêm khá nhiều phần mở rộng như hỗ trợ COP (Computer Oriented Design), hoạt hình, NURBS(non-uniform rational B-splines) và mô đum không gian địa lý

X3D hiếu được các định dạng VRML cơ bản nên nó có thế dễ dàng sử dụng lại được những nội dung dựa trên nền tảng VRML 2.0

Niềm hy vọng của những người tạo ra X3D càng được củng cố thêm bởi những bước phát triến mới trong ngành công nghệ kỹ thuật cao Những cải tiến về băng thông rộng và sức mạnh của máy tính, những nâng cấp quan trọng trong giản đồ ngầm, cùng với sự hậu thuẫn của các tổ chức tiêu chuẩn khác, tất cả đã tạo ra một môi trường vô cùng thuận lợi cho công nghệ 3D trên mạng

Chuấn 3D mới đã khắc phục được kích thước cồng kềnh và cấu trúc phức tạp của VRML cũ X3D có cấu trúc di động, được xây quanh một động cơ thu phát nhỏ, hoàn toàn tương phản với "người tiền nhiệm" của nó

Bản ghi kỹ thuật cũng đồng thời mô tả 3 cấu hình cơ bản của X3D module Đầu tiên là Interchange (Trao đổi) phụ trách hình học và hình hoạ cũng như trao đổi thông tin dữ kiện giữa các công cụ sáng tạo Trình độ tiếp theo, Interactive (Tương tác), bổ sung cho chức năng tương tác trong Interchange bằng các yếu tố của một trang 3D cấu hình thứ ba, Extensibility (khả năng mở rộng), cho phép các tác giả 3D sáng tạo ra hợp phần X3D và nối ứng dụng của họ với cơ sở dữ liệu cùng các nguồn thông tin bên ngoài khác

Như vậy, về mặt lý thuyết thì X3D cung cấp một cơ sở hoàn thiện hơ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úc hạt nhân của bản vẽ kỹ thuật - một lỗi mà VRML đã từng mắc phải

Một yếu tố khác cũng góp phần không nhỏ vào uy tín của X3D là sự ủng hộ

1

Trang 17

của các nhóm chuấn khác Nhóm chuyên gia hình ảnh động (MPEG) đã đồng ý nạp X3D vào MPEG 4, một chuấn tiêu biểu cho video và audio kỹ thuật số Tuy nhiên, do chương trình này mới bị đình lại vì lý do pháp lý nên con đường đến với thành công của X3D vẫn còn rất chênh vênh.

Một yếu tố khác có thể kích thích thị trường 3D chính là việc sử dụng đồ hoạ cao cấp trong các hệ điều hành

Thế nhưng X3D lại gặp phải khó khăn đến từ Microsoft, vói địa vị thống trị thị trường trình duyệt Web, lại rất có thể trở thành một kẻ phá hoại ngấm ngầm Neu người khổng lồ trong lĩnh vực phần mềm này tích cực ủng hộ cho ứng dụng 3D trên Internet Explorer thì con đường đến với công chúng của X3D sẽ thông thoáng hon nhiều so với hiện nay Trong trường họp ngược lại, sự từ chối họp tác của hãng sẽ chỉ mang tới tổn thất cho chuẩn mới này mà thôi

Microsoft sẽ không chịu chơi bài ngửa chừng nào chưa tìm được các nhân tố chiến lược thích hợp Họ vẫn còn đang "giằng xé" giữa hai con đường: ủng hộ các chuẩn mở hay là sử dụng các phần mềm độc quyền Họ chính là rào cản cho sự phát triển của X3D, bởi họ đang cố xây dựng một khung độc quyền trong địa hạt đó Microsoft cũng có chung vấn đề rắc rối với MPEG4 Chừng nào chưa bị thị trường dồn tới chỗ không còn sự lựa chọn nào khác, Microsoft sẽ không đời nào sẵn lòng ủng

hộ cho một chuấn mở

Cũng giống như bất kỳ một chuấn mở nào khác, X3D phải chịu sức ép cạnh tranh gay gắt từ phía các công ty độc quyền Điều may mắn là phương thức tiếp cận chuẩn hoá đã khẳng định được một số ưu điểm vững chắc của nó Các chuẩn hứa hẹn

sẽ cung cấp cho mọi người nhiều công cụ sáng tạo cùng nội dung có thể sử dụng nhiều lần Neu điều đó là sự thực thì cả một ngành công nghiệp mới sẽ ra đời từ đây Hãy xem những gì đã diễn ra xung quanh HTML Điều đó xảy ra bởi vì ai cũng có thể

sử dụng mà không bắt buộc phải sở hữu nó cả Mọi chuyện hoàn toàn giống với XML

Tuy vậy, tổ chức Web 3D Consortium cũng khẳng định rằng một số ứng dụng 3D, chẳng hạn như game nhiều người chơi, vẫn có nhiều khả năng duy trì được tính độc quyền của mình Nên biết rằng bản thân Web3D

1

Trang 18

Consortium cũng là một thành viên của hội đồng tiêu chuẩn mạng World Wide Web Consortium (W3C), và đang có ý định tích hợp chặt chẽ X3D với các công nghệ W3C.

Trong tương lai, Web 3D thậm chí còn lên kế hoạch thuê SMIL (Ngôn ngữ tích hợp multimedia đồng bộ) để đồng bộ hoá các yếu tố 3D với các hình thức truyền thông khác

Cuối cùng thì công nghệ mới và nhu cầu sử dụng dành cho nó cũng đã được tăng tốc

1.2.4 Những công nghệ khác

Danh sách những công nghệ hỗ trợ phát trien Web 3D ngày một dài Sự phát triển của phần cứng máy tính và những đòi hỏi từ những người lướt web về những trải ngiệm 3D thú vị hon đã góp phần hình thành rất nhiều cộng đồng mã nguồn mở, những tố chức thương mại cố gắng tạo ra những chuấn Web 3D có sức mạnh Mặc dù

có rất nhiều công nghệ tham gia vào lĩnh vực này nhưng lại chưa có công nghệ thực

sự thành công trong việc tạo ra một nền Web 3D có tính phố biến ở mọi nơi Một số công nghệ hỗ trợ Web 3D như: 3DMLW, Canvas 3D, Emma 3D, Croquet, COLLADA,.v.v

Chương 2: MỘT SỐ KỸ THUẬT TƯƠNG TÁC TRONG WEB 3D

2.1 Cấu trúc tệp tin ,x3d.

File X3D sử dụng một trong hai cách mã hóa là mã hóa theo XML ( file x3d) hoặc mã hóa theo kiểu VRML truyền thống (file x3dv) Mỗi một kiểu mã hóa thì yêu cầu những kiểu bố trí thông tin và cú pháp khác nhau

Sau đây là cấu trúc theo thứ tự từ trên xuống của file x3d:

• File header

• X3D header statement

• Profile statement

• Component statement (optional, multiple)

• META statement (optional, multiple)

• X3D root node (implicit in Classic VRML encoding)

• X3D scene graph child nodes (multiple)

1

Trang 19

Mỗi thành phần sẽ được mô tả chi tiết ở phần sau.

File header.

Phần đầu tệp tin X3D chưa các thông tin thiết lập chính về những đối tượng 3D Đây là phần bất buộc và nó bao gồm: XML và X3D header, profile, các thành phần(component) và các mô tả (meta) Kiểu mã hóa XML của file x3d tương tự XHTML trong hầu hết các thông tin được chứa trong thẻ <head>

<?xml version-"1.0" encoding-"UTF-8"?>

<!DOCTYPE X3D PUBLIC ”IS0//Web3D//DTD X3D 3.1//EN"

"http://www.web3d.org/speci fications/x3d-3.1.dtd”> <X3D

version-"3.1 * profile-"Immersive"

xmlns:xsd-"http://www.w3.org/2001/XMLSchema-instance”

xsd:noNamespaceSchemaLocati on-

"http://www.web3d.org/speci fi cati ons/x3d-3.1.xsd">

<head>

<component name-'DIS' level-'l’/>

<component name-'Geospatial' level-'l'/>

<component name-'H-Anim' level-’1 */>

<component name-'NURBS' level-’4’/>

<meta name-'filename' content-’HeaderProfi1eComponentMetaExample.x3d '/> </head>

<Scene>

<!—Scene graph nodes are added here—>

</Scene>

</X3D>

#X30 V3.1 utf8 PROFILE Immersive

# No HEAD statement is provided in

ClassicVRML Encoding COMPONENT DIS:1

COMPONENT Geospatial:1 COMPONENT Anim:1 COMPONENT NURBS:4

X3D header chứa các thông tin cho phép xác định một tệp tin x3d Thông tin

ở trong phần header là phần định danh của X3D, phiên bản X3D, và kiếu mã hóa văn bản X3D sử dụng kiếu mã hóa UTF-8, về cơ bản là nó hỗ trợ tất cả cac bảng chữ cái của các ngôn ngữ khác nhau Phiên bản X3D cho phép bao gồm 3.0 và 3.1

Kiểu mã hóa XML của x3d phù hợp với các yêu cầu chung của phần đầu file XML Đe bắt đầu với việc khai báo <?xml?> Do đó tất cả các file x3d trước tiên là phải được định dạng đúng kiểu XML: đóng mở các thẻ, các

1

Ngày đăng: 18/06/2015, 16:48

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w