X3D-1

什麼是x3D
X3D(Extensible 3D)是Web3D Consortium 基於現有的虛擬實境建模語言VRML(Virtual Reality Modeling Language)所制定的新一代三維圖形之標準。除了能夠描述三維幾何外,也能夠以程式進行動態行為的模擬。並使用XML(Extensible Markup Language)語法並相容於MPEG-4 規格。
有別於許多其它3D 技術(例如,Viewpoint、Cult3D、Shockwave3D、Virtools、Anark 等等),X3D 是開放標準的檔案格式,因此不但適合作為3D 資料的統一交換格式,更可以應用於跨平台的即時網路環境中。X3D 的應用相當多元化,例如工程科學視覺化、電腦輔助設計、醫學視覺化、教學與模擬、多媒體、商品展示、景點瀏覽、電玩娛樂...等等。
由於其採用XML 的語法,除了能輕易整合到網路環境或其他的應用程式之外,也能因應使用者的需求制定新的元件,更能夠進一步整合Web Service 及分散式計算,並易於與未來的技術或應用接軌,可望成為目前分歧的三維圖形技術中統一的工業標準。


發展歷史
1994 年3 月在日內瓦召開的第一屆WWW 大會上,首次正式提出了VRML 這個名字。
 VRML(VRML Consortium)協會在1997年制定了VRML97(VRML2.0)的國際標準。然而,1997年後的幾年,該協會並沒有什麼大的動作。1998 年,VRML組織把自己改名為Web3D( Web3D Consortium )組織, VRML規範原文理映射、全景背景、霧、視頻、音頻、對象運動、和碰撞偵測--一切用於建立虛擬世界的所具有的東西。但是VRML 並沒有得到預期的推廣運用,因為在當時14.4k 的modems 是普遍的。VRML是幾乎沒有得到壓縮的腳本代碼,加上龐大的紋理貼圖等數據,要在當時的網路上傳輸簡直是難上加難。
2000 年春天,Web3D 組織完成了VRML 到X3D 的轉換。
2001年8月Wed3D協會發佈新一代國際標準---- Extensible 3D (X3D),為Wed3D協會制定的下一代VRML97標準。X3D是在重要軟體廠商的支持下提出的,如3Dlabs, ATI Technologies, Blaxxun, Nexternet, OpenWorlds, ParallelGraphics, Sony Electronics, US Army STRICOM, and SGDL Systems 。X3D與MPEG-4和 XML兼容。X3D將整合到MPEG-4的3D內容之中,使用XML語法。它與VRML 97向下兼容,即X3D能提供標準VRML 97 browser的全部功能。X3D的主要任務是把VRML的功能封裝到一個輕型的,可擴展的核心之中。由於X3D是可擴展的,任何開發者可以根據自己需求,擴展其功能。
X3D 渲染引擎的商業版本也在2001年的SIGGRAPH 2001的年會上推出,ParallelGraphics(Wed3D技術的領先軟件公司)將聯合幾個公司開發X3D 新技術。X3D標準的發佈,為網路3D圖形的發展提供了廣闊的前景,無論是小型的具有3D功能的web客戶端應用,還是高性能的商業級應用,X3D都應該是大家共同遵守的標準,從而結束當前網路3D圖形的這種混亂局面。在統一的X3D基本框架下保證不同軟件廠家開發軟件具有互操作性。
 在SIGGRAPH 2002會議上Wed3D Consortium發佈X3D最終工作草案。Wed3D Consortium希望Wed3D軟件公司使用X3D規範開發相應的產品評估規範的可行性。
X3D於2004 年取代VRML,成為ISO(International Organization for Standardization)公認之新一代網際網路虛擬場景建構語言
X3D 整合正在發展的XML、JAVA 程式語言、等先進技術跨平台的優點,包括了更強大、更高效的3D計算能力、渲染品質和傳輸速度。

VRML97 和X3D 之間主要的改變
 擴展場景圖的能力
 修訂和統一應用程序模型
 用包括XML 在內的多個文件編碼描述相同的抽象模型
 模塊化的結構允許用不同範圍級別來支持不同的市場類型
 可擴展的規格結構

VRML97 轉換為 X3D
X3D是把VRML97分解爲元件,並使用可加入新元件的機制,來擴展VRML97的功能。
概貌(Profile)是元件的集合,內核概貌(Core Profile)(X3D-1)包括level1元件,用來支援幾何和動畫。X3D-2是VRML97概貌(VRML97 profile),用來支援所有的VRML97節點
創建場景內容的時候不需要包括一大堆的元件和元件的列表,元件是包括在概貌(Profile)中的。可以指定在一個概貌中增加許多功能區。舉例來說,基本概貌(Base profile)包括新的元件(比如原型和聲音)和包括不在 內核概貌(Core Profile)裏的元件的新層(levels)(比如Box節點在幾何元件裏) ,你只要指定概貌, 而不需要列出元件

X3D 的優點:
 透過profile 提供基本的3D 方面的圖形編程可以實現X3D 的兼容的特性
 X3D 的模組化和重複使用,節省了開發的時間和費用(最小的是欄位,再來是節點level、component、profile 使用者可根據自己的需求來選擇所需的模組)
 支援可選的XML 的編碼可與其他網路的技術結合
 可以跨平台,使用者只需下載所要的元件,瀏覽器就能使用其功能
X3D 的缺點:
 瀏覽器的支援度還不理想,因為現有許多X3D式尚未統一,必須依靠額外的程式才用看到;所以暫時不是很方便

X3D的廣泛應用原因  
一為X3D 是目前網路3D虛擬實境領域公認之標準語言,二為現在市面上絕大多數之商業VR 軟體皆以X3D 為軟體建模以及程式撰寫之基礎。X3D 為VRML(Virtual Reality Modeling Language)(Nadeau, 1999)之延伸, X3D於2004 年取代VRML,成為ISO(International Organization for Standardization)公認之新一代網際網路虛擬場景建構語言。X3D 延續VRML 的定義,將組成虛擬場景的元件分為節點(Node)、場景圖(Scene graph)與動作迴路(Animation circuit),節點為組成虛擬場景最基本之元件,與物件導向觀念中之物件相同,每一個節點分別有其各自不同的作用,且具有重複使用性,使得虛擬實境場景的建構變得更快速簡便。
節點被組織在場景圖與動作迴路兩種資料結構上,場景圖以樹狀的結構組織各個節點的階層關係,當父節點進行旋轉、位移或尺寸縮放時,父節點所有的動作會作用至其下所有的子節點,階層關係有助於簡化群組的動作設定,並且有效地將各節點的關係明確化。
場景圖的樹狀結構雖然能表示虛擬場景組織節點的階層關係,但無法描述節點間的執行順序與邏輯關係,也無法定義節點間的資料傳輸,因此在X3D 或VRML 中是透過以事件為基礎的流程圖(flow diagram)稱為動作迴路來解決此問題,動作迴路設定動作與互動節點間的執行順序與邏輯關係。節點有輸入端和輸出端,利用路徑(route)來連結節點,在路徑中傳遞的資料稱為事件(event),當前一個節點送出訊號後,經由邏輯的判斷是否改變下一個節點內欄位的「值」或「狀態」,藉此斷定是否觸發下一個節點的動作設定,以安排不同動作的執行順序及邏輯關係,建構互動的3D 場景。

X3D的目標:
1.包含VRML97的功能。
2.與XML整合,可以使用XML來展現VRML97的功能
3.元件化。(封裝經量級的核心(core)技術,使其能夠輕易地加入新的功能)
4.擴充性。(使用元件去增加新的節點,並且符合核心技術的執行碼)

 

X3D的實際應用:
人為什麼總跟電腦較勁-- --國際象棋人機大戰回顧
比賽另一個引人注目的焦點在於:這是有史以來第一場在虛擬環境中進行的比賽。卡斯帕羅夫必須依靠三維眼鏡來比賽,而不是通常的棋盤、棋子,他甚至必須用聲音來移動棋子。從這一點看來,比賽似乎更像是一場贊助商X3D公司的技術展示會。X3D稱,比賽現場人們可以看到真正的虛擬三維效果,而無須藉助特殊的眼鏡。他們採用了最先進的硬體和軟體,透過每秒鐘計算9000萬次來把二維轉換成三維,這樣棋子不僅在螢幕裏、甚至在螢幕外都是三維的,堪稱效果驚人。制作方因為這項技術贏得了許多大獎,他們稱“如果你喜歡《駭客帝國》,那麼你一定會喜歡看這場比賽。”
2003-11-21 18:09:00   中國奧委會網站   殷昊
http://big5.olympic.cn/b5/www.olympic.cn/news/topic/2003-11-21/15954.html

虛擬商店技術開發
http://mis.hwc.edu.tw/grade/pdf/%B5%EA%C0%C0%B0%D3%A9%B1%A7%DE%B3N%AC%E3%A8s%AE%D1%AD%B1.pdf

iZ3D立體螢幕支援VRML/X3D立體網頁格式
世界第一台2D/3D通用立體螢幕iZ3D日前發表最新1.07版立體驅動程式,不僅遊戲支援性大幅提昇外,同時支援VRML/X3D立體網頁格式,以及多種立體網頁插件(Plugin)軟體,透過iZ3D螢幕的立體顯像功能,能夠讓使用者透過網頁體驗到如臨實品的真實感受。
iZ3D的應用範圍不僅限於3D遊戲、立體電影、立體相片播放,對3D專業用途需求極大如CAD/CAM工業設計、3D Studio MAX/MAYA立體動畫對於iZ3D產品的問世皆表示肯定與支持。然而過去要將作品以3D方式即時呈現,必須透過左右鏡頭的影片輸出與結合,才能夠於iZ3D立體螢幕播放出立體效果,如今透過VRML/X3D的輸出,並透過隨處可得的VRML/X3D播放軟體,無須進行漫長的影片輸出,在網頁上亦可看到iZ3D立體螢幕之體影像。
「iZ3D對於立體產業而言,絕對是一個物美價廉的解決方案」,iZ3D行銷主任David Chechelashvili表示VRML/X3D格式是目前3D產業的標準格式,雖然無法呈現出極為細緻的品質,但卻能夠輕易的傳遞,甚至發佈在網頁上供人即時瀏覽設計畫面;iZ3D能夠即時將這些影像進行立體處理,讓客戶在網路上就能夠看到立體影像,不論是虛擬型錄(Catalog)、實境旅遊(Virtual Tour)、虛擬模型(Modeling)、線上看屋…等都是iZ3D能夠發揮的範圍。
目前測試通過的立體網頁/立體播放軟體包括:BS Contact、VR Tools、Quest3D…等主流產品,以下網址可供參考:
VR應用範例
http://www.iz3d.com.tw/news_into.php?id=MTEy
VR展示網站
http://www.bitmanagement.com/demos
http://www.parallelgraphics.com/products/showroom/
VR相關程式與播放軟體
http://www.vrtools.com/
http://www.quest3d.com/
http://www.oc.com.tw/readvarticlen.asp?id=12005
http://www.iz3d.com.tw/
 

X3D編輯器介紹
X3D-Edit 具有下列特性:
 1 ,直觀的圖形化的用戶界面
 2 ,建立符合規範的場景圖文件:節點總是放置在合適的位置
 3 ,驗證X3D的場景是否符合VRML的97概貌或核心概貌
 4 ,自動轉換X3D的場景到VRML的並啟動瀏覽器自動察看結果
 5 , vrml97文件的導入與轉換
 6 ,大量的X3D的場景範例
 7 ,每個元素和屬性的彈出式工具提示,幫助了解vrml/x3d場景圖如何建立和
     運作,包括 中文在內的多國語言提示。
 8 ,使用Java的保證的平台通用性
 9 ,使用擴展樣式表( XSL )的自動轉換: x3dtovrml97.xsl ( vrml97向後兼  
     容性) , x3dtohtml.xsl (標籤集打印樣式) , x3dwrap.xsl / x3dunwrap.xsl
    (包裹標籤的附加/移除)

X3D的編輯程序界面分為五個區,即:用戶命令區,節點區,節點屬性區,程序編輯區及消息區。
  用戶命令區是位於頂層,包括菜單命令和工具條命令。
  節點區位於界面的左側,包括X3D的目前所支持的所有特性節點,它是標籤操作方式,單擊相應的標籤將在下方顯示出相應的節點,凡是不可添加的節點均以灰色顯示。
  節點區的下方是節點屬性區,屬性區所在的窗口中包括當前節點的大部分屬性,在這裡我們可以更改或設置相應的屬性值。
  介面的最下方是消息區,用來顯示當前操作或編譯情況。

利用X3D-Edit可製作下列各點
文字場景效果、建構2D,3D圖形、通過修改空間坐標作幾何變換、視點和導航、光源處理、多媒體效果、動畫


利用MAYA建置3D模型

轉換為X3D後


(附注)
VRML (Visual Reality Modeling Language)
VRML 是由 Web3D Consortium 所制定的開放標準。VRML 就像是 HTML 的 3D版本,提供了很有限的建模功能,但是提供了很多和場景中物件互動的功能,如和文字、音樂互動等等。因為 VRML 為開放標準、不需要付費就可使用,常獲得小型公司或教育單位的使用,所以是網路上最普遍的 3D 基本格式。但是在製作上常常會出一些問題,如面的顯示不正確、燈光有問題等等,使設計師不能集中精神在製作內容上,而且 VRML 和其他技術相較之下,它的檔案過大且圖形品質不佳,但VRML 仍是最常使用且軟體支援最廣泛的 3D 檔案格式之一。由於 VRML 的種種問題,所以 Web3D Consortium 已經著手進行下一個版本 X3D(Extensible 3D)的開發。

XML 標記如何和網頁瀏覽器結合?

一旦建立一套XML標簽,依據瀏覽器如何使用XML,可以通過以下的方式使用XML:
樣式表(Stylesheet): 直接使用XML文件。依照樣式表(stylesheet)語言文件——比如XSL,XSL文件指示如何顯示XML標簽。
資料島(Data islands):XML的值被結合到另一個文件裏,比如HTML中命名HTML tables, divs之內的標簽。這意味著XML將包括值或參考值到文檔中,就是在HTML標簽中使用標簽自身包括的值。這是Microsoft指定的方案。
(注意: 方式1和2 有時適用於頁面整合。)
插件支援(Support by plugin): 鑲入的物件標簽(object tag)可以指示下載支援代碼的位置,傳遞的參數等。Netscape 6 等使用“pluglets”支援,更使網路瀏覽器和物件緊密結合。
直接物件支援(Direct object support): 網路瀏覽器通過增加物件樣式,指定處理方法對標簽提供內在支援。瀏覽器必須是可擴展的,這樣標簽和其執行過程就可以結合到瀏覽器裏。

元件化的優勢是什麽?

以下列舉了一些元件化的優點:
縮小的,輕量化的內核 - VRML97是相對龐大的標準,完全實現是比較複雜的。把VRML的功能分割到一系列較小的內核,就可以比較容易的實現X3D,減少實現的複雜性, 因而改善了執行過程的可維護性。
可擴展性 - 通過擴展和概貌的概念,我們可以在內核之上可以增加更多的功能。這樣我們就可以容易地加入更多的新特性,也可以現有的特性上加上新的擴展。
再一次把 Web3D Working Groups 聯合起來 - 可擴展的結構允許VRML Working Groups在內核之上瀏覽器的基礎上加入新的規格。比如可能在X3D中包括H-Anim, EAI, Living Worlds, GeoVRML 等擴展。
減小空間 - 這是絕對需要的。比如在機頂盒,需要盡可能地節省空間,每項功能都會增加成本。使用概貌就能減少瀏覽器的空間佔用,只需要加入相應的較小的功能設置。
注意: 這裏涉及到一些技術規格。比如擴展特性,使用到內核,並且一般都需要配合某些特定作業系統使用。這就是說擴展特性,一般都不會和其他的瀏覽器或現有的執行代碼相容。X3D Browser Working Group 和 X3D Task Group 注意到並公佈了這些問題。
*/
參考資料:
http://maso.lin.googlepages.com/x3dfaq.htm#2-8

http://est2008.iem.sju.edu.tw/est2008CD/Final/D2-01.pdf

http://ethesys.library.ttu.edu.tw/ETD-db/ETD-search/getfile?URN=etd-0413107-154220&filename=etd-0413107-154220.pdf

http://mis.hwc.edu.tw/grade/pdf/%B5%EA%C0%C0%B0%D3%A9%B1%A7%DE%B3N%AC%E3%A8s%AE%D1%AD%B1.pdf

http://www.web3d.org/

http://www.allwiki.com/index.php?title=X3D&variant=zh-tw

http://big5.olympic.cn/b5/www.olympic.cn/news/topic/2003-11-21/15954.html

http://72.14.235.104/search?q=cache:YvXd1Ft4TrIJ:ngis.moi.gov.tw/TheFiles/journal/60/pdf/60-main2.pdf+Extensible+3D&hl=zh-TW&ct=clnk&cd=51&gl=tw&lr=lang_zh-TW

 

二甲 494511471 廖晉霆 alaxsxga
三甲 494511160 吳承宗 ie945116
三甲 494511328 黃俊曉 a911537
三甲 494511392 陳冠廷 ie945139