290 likes | 458 Views
VRML 虛擬實境網頁語言 知城數位. 第十四章 3D 圖形的新趨勢 --X3D. 致遠管理學院資訊管理學系 授課老師:謝慧民 九十二學年度第一學期. 前言.
E N D
VRML虛擬實境網頁語言知城數位 第十四章 3D圖形的新趨勢--X3D 致遠管理學院資訊管理學系 授課老師:謝慧民 九十二學年度第一學期
前言 • 本章的內容主要是介紹目前VRML的最新規格-X3D(Extensible 3D)。從VRML97變成了X3D就可以發現這是3D圖形規範上一個極大的變革 ,而最人的改變之處 ,就是X3D結合了XML和VRML97。XML (Extensible Markup Language)可延伸式標記語言是目前資訊界最熱門的一個話題,它最大的功用是在於電子資料交換(EDI,Electronic Data Interchange)的貢獻。
前言 • X3D將XML的標記式語法定為3D圖形的標準語法,並且已經完成了X3D的文件格式定義(DTD,Documnent Type Definition)。相信在不久的將來X3D將會成為網路上撰寫3D圖形的新寵,所以才會在本書的最後一章介紹X3D,目前世界上最新的網路3D圖形標準。
Extensible 3D (X3D) • X3D的定義: X3D全名是Extensible3D(X3D早期的名稱叫做VRML-NG,VRML Next Generation)。它是下一代具擴充性的3D圖形規範,並且延伸了VRML97的功能。X3D名稱的由來是整合了XML(Extensible Markup Language)和VRML(Virtual Reality Modeling Language)。
Extensible 3D (X3D) • X3D的目標: 1.包含VRML97的功能。(仍然可以使用X3D的技術瀏覽VRML的內容) 2.與XML整合。(可以使用XML來展現VRML97的功能) 3.元件化。(封裝經量級的核心(core)技術,使其能夠輕易地加入 新的功能) 4.擴充性。(使用元件去增加新的節點,並且符合核心技術的執行碼)
X3D採用XML作為語法的目的 • 語法的普遍性:VRML97對除了VRML社群以外的人是陌生的。就像VRML所使用"the Open Inventor"景緻圖形語法一樣地少為人知。可是XML則是目前世界上極佔優勢和熱門的標記式語法。 • 網頁的整合:XML對於網頁的整合,使得網站系統的維護更加簡單,以至於更多的人有能力可以去發展網頁,不管是充實網頁內容或網頁的執行。
X3D採用XML作為語法的目的 • 全球資訊網的整合:W3C (World Wide Web Consortium)花了很多的心力去發展XML。可以預期地XML將被Netscape Communicator和MicroSoftIE瀏覽器所支援。所以X3D必須採用XML,使得X3D可以和下一代的網站技術更加緊密地結合。
提供X3D標準的單位 • Web3DConsortium下發展X3D的主要組織: http://www.x3d.org/ • Shout3D為發展3D圖形的商業公司: http://www.shout3d.com/x3d/ • BlaxxunInteractive為發展互動式虛擬世界的商業公司: http://WW2.blaxxun.com/x3d/
提供X3D標準的單位 • 這三個不同的網站,都有各自提出X3D的新標準,所以日後X3D的標準可能會依循這三個網站的標準來發展。本書主要是以Web 3D Consortium為主要的參考依據,因為它不是商業公司,而是3D圖形界中的一個正式組織。
X3D的架構 • "VRML 97 Profile"表示位在"Core X3D"之上,並且提供VRML97完整的一致性。 • "X3D Level2 Extension"表示一個延伸,去提供VRML的功能,並且使用XML。 • "Operating System Libraries"為一般的系統圖書庫,用來執行核心技術和增加擴張性。
可延伸式標記語言 • XML的英文全名是Extensible Markup Language,中文譯名為可延伸式標記語言。它是一個由W3C(World Wide Web Consortium)所推廣的結構化資訊交換標準,並且已經廣泛地被使用。VRML採取XML作為編碼的主要原因是因為XML具備國際化的特性、結構化的格式和模組化的物件等優勢。藉由已經被明確制定落實的XML規範,X3D以XML為語法是容易被實現的,而不需要龐大的反向工程(reverse engineering)。
XML的格式 • XML文件必須符合Well-Formed或是Valid這兩種格式之一。Well-Formed是一種比較簡單的格式,中文可譯為"正確的格式"。構成Well-Fomed格式的條件如下: • 必須有XML的宣告標頭。即<?xml version="1.0">。 • 包含資料的元素必須有起始和終止標籤。 • 不含資料,而且只含單一標籤的元素必須以/>來作結束。 • 必須有著一個包含所有其他元素的元素。. • 元素可以呈巢狀但不能交錯。 • 屬性值必須放置在引號""之內。 • 字元"<"僅能用在起始標籤,而"&"只能在entity reference。 • 能使用的entity reference只有&,<,>,' 和"。
XML的格式 • Valid為另一種格式,中文可譯為"有法可考",這種格式的XML除了符合Well-Formed之外,還必須包含文件格式定義 (Document Type Definition,DTD)。個別的文件以文件格式定義(DTD)為標準來比較的過程稱作valid。如果該文件能符合DTD的限制,那這份文件即可稱為Valid。反之,則稱之為Invalid。構成的條件可以歸納如下: • 符合Well-Formed格式的條件。 • 文件包含DTD(可以是內部DTD的宣告或外部DTD的宣告),且XML文件的資料結構必須滿足DTD中的定義。
文件格式定義 (DTD) • DTD原文是document type definition,可譯為文件格式定義。文件格式定義提供了一連串的元素、屬性、表示法和文件中的各種實體以及彼此相互間的關係。DTD詳細地定義出一組文件結構的格式,例如:DTD可能會指定一個BOOK元素只能有一個lSBN的子元素,也只能有一個TITLE的子元素,但是可以有一個或是一個以上的AUTHOR子元素和可有可無的SUBTITLE子元素。DTD以一連串對標籤的定義,來達成這特有的元素、實體、屬性及表示法。
文件格式定義 (DTD) • DTD可以被引入到所描述的文件檔案中,也可以使用外界的URL來連結,其中以外部連結的DTD還可以讓網站上各個不同的文件共享。 • X3D的DTD也已經被Web3DConsortium定義出來,其URL為http://www.vrml.org /TaskGroups/x3d/translation/x3d-compromise.dtd,本書所附的光碟內有X3d-wmpromise.dtd這個檔案。
X3D和YRML97的範例比較 • 在本節將以VRML97的語法先寫出一個簡單的範例為範例14-1,再以X3D的語法改寫成範例14-2。而範例的內容如下,執行的結果如圖14-3。最後並針對這兩個範例加以說明比較。
總結 • 本章為此書的最後一章,X3D為本章的主題,只是概略地介紹了這個未來圖形規範的輪廓,告訴讀者什麼是X3D、它為何要結合XML等問題。並沒有詳細地解說X3D的語法要如何撰寫,因為這些技術無法只在一個章節中完整地介紹,並且技術也尚未成熟。
總結 • 最後舉出了使用X3D和VRML97所撰寫的範例。經由範例的比較,讀者應該可以稍微地了解X3D如何撰寫。它有點類似html的標記式語法,但是實際上是使用XML作為語法,和傳統VRML97的語法有極大的差異。 • 本書主要的內容是強調VRML的語法和使用時機,而關於X3D只是做概念性的介紹。相信在不久的將來,X3D將會取代VRML成為網頁3D圖形的新主流。