VRML 1.0 規格 |
VRML的原版 1.0 規格書可在這裡找到. 簡單來講, VRML是各種物件(node)所組成的. 理論上, 這些物件可以 是任何東西 -- 3D 幾何平面, MIDI資訊, JPEG影像, 動畫檔等. VRML定義了一些物件, 可以 很方便用來描述 3D 的物體以及網路連結. VRML將物件以階層式的結構來安排, 稱之為場景圖 (scene graphs). 場景 圖不僅只是一些物件集合在一起而已, 它更定義了這些物件的順序. 在一個場景中, 排 在前面的物件可以影響排在後面的物件. 舉例來說, 一個旋轉(Rotation) 或是材質 (Material) 的物件會影響在它之後的物件, 使它以某個角度 或是某種材質呈現出來; 分離 (Separator)物件可以用來限制影響的範圍, 如此一來, 場景中的物件就會一組一組的分割開來了. 一個物件(node)有下列的內容:
在VRML中的語法如下.
DEF objectname objecttype { fields children } 舉一個例子, 下面的檔案描述一個簡單的場景, 其中有一個紅色的球, 藍色的立方體, 並 且有一個光源照著:
![]()
一般的語法
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VRML 座標系統VRML 使用右手卡式座標系統(直角座標系統. 標準的距離和長度單位是公尺; 標準的角度單位是弧度. (3.14159 弧度約等於 180 度) VRML 的一個場景可以包含許多個局部座標系統 (local or "object-space" coordinate systems), 這可由 Translate, Rotate, Scale, Transform, 和 MatrixTransform 物件來構成座標轉換. 例如, 給一個 空間中的點 V 和一系列的轉換:
Translation { translateon T } Rotation { rotation R } Scale { scaleFactor S } Coordinate3 { point V } PointSet { numPoints 1}V 這個點經由下列的運算順序會轉換至世界座標V'.
(若V是列向量)
V'=T R S V.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
參數場與物件
參數場(Field)一般來說,有兩種參數場;一種是只有一個參數 (參數可以是一個數字,一個向量,甚至 是一張影像),另一種就是有多個參數.單值參數場的名稱都是以 "SF"為起頭,而多 值 參數場則是以 "MF"為起頭.每一個參數場的型態定義了參數的格式. 多值參數場中的參數,是以逗號作為分隔,再以方括號括起來.如果參數場沒有參數,就 只要寫方括號 ("[]")就好了.最後一個參數後可以不寫逗號.如果參數場只有一個參數, 那方括號可以省略.例如,下列的多值參數場都是描述單一參數 1:
1
物件(Node)VRML定義了好多種不同的物件.大部分的物件都可分為三類:型狀 (shape),屬性 (property)或是群 (group).形狀物件定義了場景中的平面幾何.它們是真正要畫出來的 物件.屬性物件則影響形狀物件畫出來的方式.群物件可將其它的物件集合在一起,好 像是處理一個物件一樣.群物件也可以控制它的某個子物件是否要被畫出.物件可以包含多個參數場.每一種物件的型態都定義了它的型態,名稱,和參數場的內 定值.如果沒有設定參數場的參數,就會使用參數場的內定值.物件中的參數場順序並 不重要;例如, "Cube { width 2 height 4 depth 6 }" and "Cube { height 4 depth 6 width 2 }" 都是可以的. 總共有36個物件, 其中又可以分為三大類: 形狀物件 (shape nodes), 特性物件 (properties nodes), 和組合物件(group nodes).
形狀物件
特性物件特性物件又可細分為幾類:
組合物件
網路連結物件
|
![]() ![]() 歡迎留下您寶貴的意見, 這裡是來賓留言錄.
本VRML Page是由蕭志平所維護. 上次更新時間: 1996/3/26 |