




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、VRML Script研發(fā)部專業(yè)技術(shù)培訓(xùn)內(nèi)容概要nVRML文件基本內(nèi)容n節(jié)點(diǎn)定義與引用節(jié)點(diǎn)定義與引用nJScript 教程教程 nScript節(jié)點(diǎn)定義節(jié)點(diǎn)定義n使用協(xié)議使用協(xié)議n內(nèi)置函數(shù)內(nèi)置函數(shù)n自定義函數(shù)自定義函數(shù)nJavaScript與與VRML數(shù)據(jù)類型數(shù)據(jù)類型nVRML數(shù)據(jù)對(duì)象數(shù)據(jù)對(duì)象VRML文件基本內(nèi)容nVRML節(jié)點(diǎn)n造型節(jié)點(diǎn)聲音節(jié)點(diǎn)光源節(jié)點(diǎn)插補(bǔ)器節(jié)點(diǎn)n傳感器節(jié)點(diǎn)編組節(jié)點(diǎn)腳本節(jié)點(diǎn)其他節(jié)點(diǎn)nVRML數(shù)據(jù)類型nSFBool SFColor SFFloat SFImage SFInt32 SFNode SFRotation SFString SFTime SFVec2f SFVec3fnMF
2、Color MFFloat MFInt32 MFNode MFRotation MFString MFTime MFVec2f MFVec3fn程序注釋n以“”字符開(kāi)頭,結(jié)束于該行未尾n不支持多行注釋n并非所有VRML編輯系統(tǒng)支持中文注釋Geometry幾何造型n基本幾何造型nBoxnSpherenCylindernConen文字造型:Textn任意幾何造型nPointSetnIndexedLineSetnIndexedFaceSetnElevationGridnExtrusionTransform節(jié)點(diǎn)n功能描述功能描述對(duì)對(duì)VRML空間坐標(biāo)系進(jìn)行變換,以建立一個(gè)或多個(gè)相對(duì)于已有坐標(biāo)系空間坐標(biāo)系
3、進(jìn)行變換,以建立一個(gè)或多個(gè)相對(duì)于已有坐標(biāo)系(父坐標(biāo)系)的新坐標(biāo)系(子坐標(biāo)系)。(父坐標(biāo)系)的新坐標(biāo)系(子坐標(biāo)系)。nTransform children #exposedField MFNodetranslation 0.0 0.0 0.0 #exposedField SFVec3frotation 0.0 0.0 1.0 0.0 #exposedField SFRotationscale 1.0 1.0 1.0 #exposedField SFVec3fscaleOrientation 0.0 0.0 1.0 0.0 #exposedField SFRotationcenter 0.0 0.
4、0 0.0 #exposedField SFVec3fbboxCenter 0.0 0.0 0.0 #field SFVec3fbboxSize -1.0 -1.0 -1.0 #field SFVec3faddChildren #eventIn MFNoderemoveChildren #evenIn MFNode節(jié)點(diǎn)定義與引用節(jié)點(diǎn)定義與引用n定義語(yǔ)法定義語(yǔ)法nDEF 節(jié)點(diǎn)名節(jié)點(diǎn)名 節(jié)點(diǎn)節(jié)點(diǎn)n命名規(guī)則命名規(guī)則n節(jié)點(diǎn)名由字母和數(shù)字序列組成,但必須以字母打節(jié)點(diǎn)名由字母和數(shù)字序列組成,但必須以字母打頭,字母區(qū)分大小寫(xiě)頭,字母區(qū)分大小寫(xiě)n允許使用下劃線,但不能使用單引號(hào)、雙引號(hào)、允許使用下劃線,但不能
5、使用單引號(hào)、雙引號(hào)、數(shù)字運(yùn)算符號(hào)、英鎊符號(hào)和數(shù)字運(yùn)算符號(hào)、英鎊符號(hào)和VRML中的關(guān)鍵字中的關(guān)鍵字n引用語(yǔ)法引用語(yǔ)法nUSE節(jié)點(diǎn)名節(jié)點(diǎn)名JScript 教程教程 n語(yǔ)句 aBird = Robin;var today = new Date(); n注釋 n/* */n/n賦值和等式 nanInteger = 3; nIf (a = 3)n表達(dá)式 n任何值、變量、運(yùn)算符、以及表達(dá)式的合法組合都可以構(gòu)成一個(gè)表達(dá)式。 nvar aSecondExpression = Math.PI * radius * 2;n var aThirdExpression = aSecondExpression + %
6、+ anExpression; JScript 教程教程n變量聲明 n使用 var 語(yǔ)句來(lái)進(jìn)行變量聲明 n變量命名 n第一個(gè)字符必須是一個(gè)字母(大小寫(xiě)均可)、或一個(gè)下劃線(_)或一個(gè)美元符 ($)。 n后續(xù)的字符可以是字母、數(shù)字、下劃線或美元符。 n變量名稱不能是 保留字。 n強(qiáng)制轉(zhuǎn)換 n由于 JScript 是一種自由類型的語(yǔ)言,JScript 中的變量在技術(shù)上沒(méi)有固定的類型。不過(guò),它們具有與其包含的值的類型等價(jià)的類型。在某些環(huán)境下可能將變量的自動(dòng)轉(zhuǎn)換(或強(qiáng)制轉(zhuǎn)換)或數(shù)據(jù)的一部分強(qiáng)制為別的類型。Number 類型易于被包括在字符串中,但字符串不能直接包含到數(shù)值中,為此提供了顯式的轉(zhuǎn)換函數(shù) p
7、arseInt() 和 parseFloat()。 JScript 教程教程nJScript 的數(shù)據(jù)類型的數(shù)據(jù)類型nNumbernStringnobject nBoolean nnull nundefined JScript 的運(yùn)算符的運(yùn)算符JScript 的運(yùn)算符的運(yùn)算符n控制程序的流程控制程序的流程 n條件語(yǔ)句 nIf nIf elsen重復(fù)或循環(huán) nFornfor.in nwhile n使用 break 和 continue 語(yǔ)句 Script節(jié)點(diǎn)定義n功能描述n以腳本編程的方式實(shí)現(xiàn)事件的高層處理和動(dòng)畫(huà)的擴(kuò)展控制。n實(shí)現(xiàn)用戶自定義的傳感器或插補(bǔ)器n接受輸入事件,對(duì)其進(jìn)行處理并向外發(fā)送處理
8、后的輸出事件n語(yǔ)法定義Script url #exposedField MFStringmustEvaluate FALSE #field SFBooldirectOutput FALSE #field SFBooleventIn eventTypeName eventNameeventOut eventTypeName eventNamefield eventTypeName eventName initialValue使用協(xié)議n直接使用Script url javascript: function foo( ) . n包含外部文件Script url http:/ n混合使用Script
9、url http:/ javascript: function foo( ) . n文件擴(kuò)展名:.js n內(nèi)容標(biāo)識(shí)application/x-javascript 內(nèi)置函數(shù)內(nèi)置函數(shù)neventsProcessed n用戶可自定義函數(shù),不帶參數(shù)n在接收到一組或一個(gè)事件后會(huì)自動(dòng)觸發(fā)n被它觸發(fā)的事件可接收到此處事件處理完的時(shí)間戳ninitialize n用戶可自定義,不帶參數(shù)n在場(chǎng)景顯示之前和任何事件處理之前自動(dòng)觸發(fā)n被它觸發(fā)的事件可接收到此Script節(jié)點(diǎn)加載的時(shí)間戳nshutdown n用戶可自定義,不帶參數(shù)n在場(chǎng)景卸載和腳本節(jié)點(diǎn)被刪除時(shí)調(diào)用n被它觸發(fā)的事件可接收到此Script節(jié)點(diǎn)刪除的時(shí)間戳
10、自定義函數(shù)自定義函數(shù)nfieldn定義函數(shù)中要使用的變量n引用外部節(jié)點(diǎn)neventOutn通過(guò)對(duì)eventOut變量重新賦值觸發(fā)EventOut事件n在同一次事件處理中多次對(duì)eventOut屬性賦值只會(huì)觸發(fā)一次EventOut事件neventOut事件在觸發(fā)它的EvnetIn函數(shù)處理結(jié)束后觸發(fā)。neventInn每一個(gè)EventIn事件對(duì)應(yīng)一個(gè)同名的自定義函數(shù)。n負(fù)責(zé)對(duì)接收事件的處理及EventOut的觸發(fā)nEvent函數(shù)只能訪問(wèn)它所在Script節(jié)點(diǎn)所定義的field與eventOut域?qū)嵗鼶EF SomeNode Transform Script field SFNode node USE
11、 SomeNode eventIn SFVec3f poseventOut SFVec3f posChange directOutput TRUE url javascript: function pos(value) node.set_translation = value; posChange = value; JavaScript與與VRML數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換 nJavaScriptnBooleannNumericnStringnObject(引用傳值)(引用傳值)nVRMLnSFBool- BooleannSFInt32、SFFloat、SFTime-NumericnOther Obje
12、ctnVRML對(duì)象賦值給對(duì)象賦值給JavaScript Object 后者為引用后者為引用nJavaScript Object 賦值給賦值給VRML對(duì)象對(duì)象 后者為傳值后者為傳值實(shí)例DEF TS TimeSensor cycleInterval 3loop TRUEDEF SP Script eventIn SFBool eI eventOut SFVec3f eO field MFVec3f f url javascript: function eI( ) eO = new SFVec3f(0,1,2); a = eO; b = a; a.x = 3; f1 = a; c = f1; f1.
13、y = 4; ROUTE TS.isActive TO SP.eIVRML數(shù)據(jù)對(duì)象數(shù)據(jù)對(duì)象nBrowser 對(duì)象對(duì)象nSFColor 對(duì)象對(duì)象nSFImage 對(duì)象對(duì)象nSFNode 對(duì)象對(duì)象nSFRotation 對(duì)象對(duì)象nSFVec2f 對(duì)象對(duì)象nSFVec3f 對(duì)象對(duì)象nMFColor 對(duì)象對(duì)象nMFFloat 對(duì)象對(duì)象nMFInt32 對(duì)象對(duì)象nMFNode 對(duì)象對(duì)象nMFRotation 對(duì)象對(duì)象nMFString 對(duì)象對(duì)象nMFTime 對(duì)象對(duì)象nMFVec2f 對(duì)象對(duì)象nMFVec3f 對(duì)象對(duì)象nVrmlMatrix 對(duì)象對(duì)象Browser對(duì)象對(duì)象Browser-createVr
14、mlFromURL( ) Browser-addRoute ( )SFColor對(duì)象對(duì)象n實(shí)例sfColorObjectName = new SFColor(float r, float g, float b) n屬性SFColor對(duì)象對(duì)象n方法SFImage 對(duì)象對(duì)象n實(shí)例sfImageObjectName = new SFImage(numeric x, numeric y, numeric comp, MFInt32 array)n屬性SFImage 對(duì)象對(duì)象n方法SFNode 對(duì)象對(duì)象n實(shí)例sfNodeObjectName = new SFNode(String vrmlstring)
15、n屬性節(jié)點(diǎn)屬性與具體節(jié)點(diǎn)類型相關(guān),通過(guò)如下形式訪問(wèn)節(jié)點(diǎn)屬性與具體節(jié)點(diǎn)類型相關(guān),通過(guò)如下形式訪問(wèn)sfNodeObjectName.eventName n方法SFRotation 對(duì)象對(duì)象n實(shí)例sfRotationObjectName = new SFRotation(numeric x, numeric y, numeric z, numeric angle) sfRotationObjectName = new SFRotation(SFVec3f axis, numeric angle)sfRotationObjectName = new SFRotation(SFVec3f fromVec
16、tor, SFVec3f toVector) n屬性SFRotation 對(duì)象對(duì)象n方法SFVec2f 對(duì)象對(duì)象n實(shí)例sfVec2fObjectName = new SFVec2f(numeric x, numeric y) n屬性SFVec2f 對(duì)象對(duì)象n方法SFVec3f 對(duì)象對(duì)象n實(shí)例sfVecefObjectName = new SFVec2f(numeric x, numeric y, numeric z) n屬性SFVec3f 對(duì)象對(duì)象n方法MFColor 對(duì)象對(duì)象n實(shí)例mfColorObjectName = new MFColor(SFColor c1, SFColor c2,
17、.)n屬性n方法MFFloat 對(duì)象對(duì)象n實(shí)例mfFloatObjectName = new MFFloat(numeric n1, numeric n2, .)n屬性n方法MFInt32 對(duì)象對(duì)象n實(shí)例mfInt32ObjectName = new MFInt32(numeric n1, numeric n2, .) n屬性n方法MFNode 對(duì)象對(duì)象n實(shí)例mfNodeObjectName = new MFNode(SFNode n1, SFNode n2, .) n屬性n方法MFRotation 對(duì)象對(duì)象n實(shí)例mfRotationObjectName = new MFRotation(SF
18、Rotation r1, SFRotation r2, .)n屬性n方法MFString 對(duì)象對(duì)象n實(shí)例mfStringObjectName = new MFString(String s1, String s2, .)n屬性n方法MFTime 對(duì)象對(duì)象n實(shí)例mfTimeObjectName = new MFTime(numeric n1, numeric n2, .) n屬性n方法MFVec2f 對(duì)象對(duì)象n實(shí)例mfVec2fObjectName = new MFVec2f(SFVec2f v1, SFVec2f v2, .) n屬性n方法MFVec3f 對(duì)象對(duì)象n實(shí)例mfVec3fObjectName = new MFVec3f(SFVec3f v1, SFVec3f v2,.) n屬性n方法VrmlMatrix 對(duì)象對(duì)象n實(shí)例VrmlMatrixObjectNa
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建設(shè)工程公共裝修合同
- 小學(xué)二年級(jí)語(yǔ)文課本中的詩(shī)歌鑒賞與朗讀技巧訓(xùn)練教學(xué)方案
- 彎頭安裝施工方案
- 數(shù)字媒體藝術(shù)設(shè)計(jì)真題展示及解析
- 經(jīng)濟(jì)學(xué)微觀經(jīng)濟(jì)學(xué)理論考試題
- 吉林道路護(hù)欄施工方案
- 全新工程水電安裝勞務(wù)合同
- 磚砌門墩施工方案
- 硅酸鈣板面層施工方案
- 深化施工方案
- 八年級(jí)數(shù)學(xué)分式經(jīng)典練習(xí)題分式的乘除
- 設(shè)備工程師招聘面試題與參考回答
- 讀書(shū)分享讀書(shū)交流會(huì)《你當(dāng)像鳥(niǎo)飛往你的山》課件
- 口腔牙齒美白課件
- 2024年中國(guó)山地滑道市場(chǎng)調(diào)查研究報(bào)告
- GB/T 2423.65-2024環(huán)境試驗(yàn)第2部分:試驗(yàn)方法試驗(yàn):鹽霧/溫度/濕度/太陽(yáng)輻射綜合
- 【三菱】M800M80系列使用說(shuō)明書(shū)
- 2024年巴中市中考?xì)v史試卷(含答案解析)
- 高職高專教育英語(yǔ)課程教學(xué)基本要求-20211209120040
- 1《諫逐客書(shū)》公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)統(tǒng)編版高中語(yǔ)文必修下冊(cè)
- 四川省廣元市2023-2024學(xué)年八年級(jí)下學(xué)期7月期末道德與法治試題
評(píng)論
0/150
提交評(píng)論