29
1 第第第第 3D 第第第第第第 --X3D 第第第第第第第第第第第第 第第第第 第第第 第第第第第第第 第第 VRML 第第第第第第第第第第第第

第十四章 3D 圖形的新趨勢 --X3D

Embed Size (px)

DESCRIPTION

VRML 虛擬實境網頁語言 知城數位. 第十四章 3D 圖形的新趨勢 --X3D. 致遠管理學院資訊管理學系 授課老師:謝慧民 九十三學年度第一學期. 前言. - PowerPoint PPT Presentation

Citation preview

Page 1: 第十四章   3D 圖形的新趨勢 --X3D

1

第十四章 3D 圖形的新趨勢 --X3D

致遠管理學院資訊管理學系授課老師:謝慧民九十三學年度第一學期

VRML 虛擬實境網頁語言知城數位

Page 2: 第十四章   3D 圖形的新趨勢 --X3D

2

前言 本章的內容主要是介紹目前 VRML 的最新規

格 -X3D(Extensible 3D) 。從 VRML97 變成了 X3D 就可以發現這是 3D 圖形規範上一個極大的變革 ,而最人的改變之處 ,就是 X3D 結合了 XML 和 VRML97 。 XML (Extensible Markup Language) 可延伸式標記語言是目前資訊界最熱門的一個話題,它最大的功用是在於電子資料交換 (EDI , Electronic Data Interchange) 的貢獻。

Page 3: 第十四章   3D 圖形的新趨勢 --X3D

3

前言 X3D 將 XML 的標記式語法定為 3D 圖

形的標準語法,並且已經完成了 X3D的文件格式定義 (DTD , Documnent Type Definition) 。相信在不久的將來X3D 將會成為網路上撰寫 3D 圖形的新寵,所以才會在本書的最後一章介紹 X3D ,目前世界上最新的網路 3D 圖形標準。

Page 4: 第十四章   3D 圖形的新趨勢 --X3D

4

Extensible 3D (X3D) X3D 的定義: X3D 全名是 Extensible

3D(X3D 早期的名稱叫做 VRML-NG ,VRML Next Generation) 。它是下一代具擴充性的 3D 圖形規範,並且延伸了 VRML97 的功能。 X3D 名稱的由來是整合了 XML(Extensible Markup Language) 和 VRML(Virtual Reality Modeling Language) 。

Page 5: 第十四章   3D 圖形的新趨勢 --X3D

5

Extensible 3D (X3D) X3D 的目標:

1. 包含 VRML97 的功能。 ( 仍然可以使用 X3D 的技術瀏覽 VRML 的內容 )

2. 與 XML 整合。 ( 可以使用 XML 來展現 VRML97 的功能 )

3. 元件化。 ( 封裝經量級的核心 (core) 技術,使其能夠輕易地加入 新的功能 )

4. 擴充性。 ( 使用元件去增加新的節點,並且符合核心技術的執行碼 )

Page 6: 第十四章   3D 圖形的新趨勢 --X3D

6

X3D 採用 XML 作為語法的目的1. 語法的普遍性: VRML97 對除了 VRML 社群

以外的人是陌生的。就像 VRML 所使用 "the Open Inventor" 景緻圖形語法一樣地少為人知。可是 XML 則是目前世界上極佔優勢和熱門的標記式語法。

2. 網頁的整合: XML 對於網頁的整合,使得網站系統的維護更加簡單,以至於更多的人有能力可以去發展網頁,不管是充實網頁內容或網頁的執行。

Page 7: 第十四章   3D 圖形的新趨勢 --X3D

7

X3D 採用 XML 作為語法的目的3. 全球資訊網的整合:W3C (World Wid

e Web Consortium)花了很多的心力去發展 XML 。可以預期地 XML 將被 Netscape Communicator 和 MicroSoftIE 瀏覽器所支援。所以 X3D必須採用 XML ,使得 X3D 可以和下一代的網站技術更加緊密地結合。

Page 8: 第十四章   3D 圖形的新趨勢 --X3D

8

提供 X3D 標準的單位 Web3DConsortium 下發展 X3D 的主要組織:

http://www.x3d.org/ Shout3D 為發展 3D 圖形的商業公司:

http://www.shout3d.com/x3d/ BlaxxunInteractive 為發展互動式虛擬世界

的商業公司:http://WW2.blaxxun.com/x3d/

Page 9: 第十四章   3D 圖形的新趨勢 --X3D

9

提供 X3D 標準的單位 這三個不同的網站,都有各自提出 X3D 的新

標準,所以日後 X3D 的標準可能會依循這三個網站的標準來發展。本書主要是以Web 3D Consortium 為主要的參考依據,因為它不是商業公司,而是 3D 圖形界中的一個正式組織。

Page 10: 第十四章   3D 圖形的新趨勢 --X3D

10

Page 11: 第十四章   3D 圖形的新趨勢 --X3D

11

X3D 的架構

Page 12: 第十四章   3D 圖形的新趨勢 --X3D

12

X3D 的架構 "VRML 97 Profile"表示位在 "Core X3D" 之

上,並且提供 VRML97 完整的一致性。 "X3D Level2 Extension"表示一個延伸,去提供 VRML 的功能,並且使用 XML 。

"Operating System Libraries" 為一般的系統圖書庫,用來執行核心技術和增加擴張性。

Page 13: 第十四章   3D 圖形的新趨勢 --X3D

13

可延伸式標記語言 XML 的英文全名是 Extensible Markup Lan

guage ,中文譯名為可延伸式標記語言。它是一個由W3C(World Wide Web Consortium) 所推廣的結構化資訊交換標準,並且已經廣泛地被使用。 VRML 採取 XML 作為編碼的主要原因是因為 XML 具備國際化的特性、結構化的格式和模組化的物件等優勢。藉由已經被明確制定落實的 XML 規範, X3D 以XML 為語法是容易被實現的,而不需要龐大的反向工程 (reverse engineering) 。

Page 14: 第十四章   3D 圖形的新趨勢 --X3D

14

XML 的格式 XML 文件必須符合Well-Formed或是 Valid 這兩種格

式之一。Well-Formed 是一種比較簡單的格式,中文可譯為 "正確的格式 " 。構成Well-Fomed 格式的條件如下 :

1. 必須有 XML 的宣告標頭。即<?xml version="1.0">。2. 包含資料的元素必須有起始和終止標籤。3. 不含資料,而且只含單一標籤的元素必須以 />來作結束。4. 必須有著一個包含所有其他元素的元素。.5. 元素可以呈巢狀但不能交錯。6. 屬性值必須放置在引號 "" 之內。7. 字元 "<"僅能用在起始標籤,而 "&"只能在 entity reference 。8. 能使用的 entity reference只有&amp;, &lt;, &gt;, &apo

s; 和 &quot;。

Page 15: 第十四章   3D 圖形的新趨勢 --X3D

15

XML 的格式 Valid 為另一種格式,中文可譯為 "有法可考 " ,這

種格式的 XML 除了符合Well-Formed 之外,還必須包含文件格式定義 (Document Type Definition ,DTD) 。個別的文件以文件格式定義 (DTD) 為標準來比較的過程稱作 valid 。如果該文件能符合 DTD 的限制,那這份文件即可稱為 Valid 。反之,則稱之為Invalid 。構成的條件可以歸納如下 :

1. 符合Well-Formed 格式的條件。2. 文件包含 DTD( 可以是內部 DTD 的宣告或外部 DTD 的宣

告 ) ,且 XML 文件的資料結構必須滿足 DTD中的定義。

Page 16: 第十四章   3D 圖形的新趨勢 --X3D

16

文件格式定義 (DTD) DTD原文是 document type definition ,可譯為文件格式定義。文件格式定義提供了一連串的元素、屬性、表示法和文件中的各種實體以及彼此相互間的關係。 DTD詳細地定義出一組文件結構的格式,例如 :DTD 可能會指定一個 BOOK元素只能有一個 lSBN 的子元素,也只能有一個 TITLE 的子元素,但是可以有一個或是一個以上的 AUTHOR 子元素和可有可無的 SUBTITLE 子元素。 DTD 以一連串對標籤的定義,來達成這特有的元素、實體、屬性及表示法。

Page 17: 第十四章   3D 圖形的新趨勢 --X3D

17

文件格式定義 (DTD) DTD 可以被引入到所描述的文件檔案中,也

可以使用外界的 URL 來連結,其中以外部連結的 DTD還可以讓網站上各個不同的文件共享。

X3D 的 DTD也已經被Web3DConsortium 定義出來,其 URL 為 http://www.vrml.org /TaskGroups/x3d/translation/x3d-compromise.dtd ,本書所附的光碟內有 X3d-wmpromise.dtd 這個檔案。

Page 18: 第十四章   3D 圖形的新趨勢 --X3D

18

X3D 和 YRML97 的範例比較 在本節將以 VRML97 的語法先寫出一個簡單的範例為範例 14-1 ,再以 X3D 的語法改寫成範例 14-2 。而範例的內容如下,執行的結果如圖 14-3 。最後並針對這兩個範例加以說明比較。

Page 19: 第十四章   3D 圖形的新趨勢 --X3D

19

X3D 和 YRML97 的範例比較

Page 20: 第十四章   3D 圖形的新趨勢 --X3D

20

X3D 和 YRML97 的範例比較

Page 21: 第十四章   3D 圖形的新趨勢 --X3D

21

Page 22: 第十四章   3D 圖形的新趨勢 --X3D

22

X3D 和 YRML97 的範例比較

Page 23: 第十四章   3D 圖形的新趨勢 --X3D

23

X3D 和 YRML97 的範例比較

Page 24: 第十四章   3D 圖形的新趨勢 --X3D

24

X3D 和 YRML97 的範例比較

Page 25: 第十四章   3D 圖形的新趨勢 --X3D

25

X3D 和 YRML97 的範例比較

Page 26: 第十四章   3D 圖形的新趨勢 --X3D

26

X3D 和 YRML97 的範例比較

Page 27: 第十四章   3D 圖形的新趨勢 --X3D

27

X3D 和 YRML97 的範例比較

Page 28: 第十四章   3D 圖形的新趨勢 --X3D

28

總結 本章為此書的最後一章, X3D 為本章的主題,只是概略地介紹了這個未來圖形規範的輪廓,告訴讀者什麼是 X3D、它為何要結合 XML等問題。並沒有詳細地解說 X3D 的語法要如何撰寫,因為這些技術無法只在一個章節中完整地介紹,並且技術也尚未成熟。

Page 29: 第十四章   3D 圖形的新趨勢 --X3D

29

總結 最後舉出了使用 X3D 和 VRML97 所撰寫的範例。經由範例的比較,讀者應該可以稍微地了解 X3D如何撰寫。它有點類似 html 的標記式語法,但是實際上是使用 XML 作為語法,和傳統 VRML97 的語法有極大的差異。

本書主要的內容是強調 VRML 的語法和使用時機,而關於 X3D只是做概念性的介紹。相信在不久的將來, X3D 將會取代 VRML 成為網頁 3D 圖形的新主流。