999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VRML與Java的黑板板書實驗的設計與實現

2008-12-31 00:00:00辛允東
中國教育技術裝備 2008年12期

摘要 VRML是開發虛擬實驗的主流語言。介紹如何利用Java與VRML的結合,實現數據通信功能,實現黑板板書的虛擬實驗。

關鍵詞 VRML;Java;板書;虛擬實驗

中圖分類號 G434 文獻標識碼 B 文章編號 1671-489X(2008)12-0077-02

1 前言

隨著計算機技術的迅速發展,虛擬現實技術已很成熟,廣泛應用于各行各業。虛擬現實技術憑借其強大的交互功能,在教育領域中應用也很廣泛。虛擬現實技術在教育中的應用之一就是開發虛擬實驗。VRML是開發虛擬實驗的主流語言,能夠構建逼真的實驗環境。將VRML與Java相結合,通過EAI接口實現VRML場景與網頁中各個嵌入式對象之間互相方便地通信,使VRML場景成為網絡表現的一部分[1]。同時,也使用戶能夠動態地改變VRML場景。

黑板是教學中最常用的教具之一,也是在虛擬實驗中虛擬教室的一個重要組成部分。筆者主要探討黑板板書功能的設計以及實現方法。

2 黑板板書實驗的設計

2.1 實驗環境的設計實驗的環境比較簡單,就是一間教室,里面包括黑板、桌椅、燈、多媒體柜等。為了實現黑板的板書功能,這里只需做一個黑板就可以。制作的方法主要有2種:一是用3DMAX制作完后,再轉化成VRML格式的文件,以便在VRML環境中對各種交互進行編程;二是直接用VRML語言來編寫。2種方法各有長處。用3DMAX制作的實驗器材比較精細、逼真,但在轉換成VRML格式的時候會有一些小錯誤,需要人工修改;直接用VRML編寫,做出來的器材的逼真度不如3DMAX,但編寫起來方便。這里采用第2種方法。

2.2 交互功能的設計一般的交互功能都能通過JavaScript腳本來實現,但是如果VRML程序較大,運行起來就會影響速度。為了實現較好的交互功能,最好將VRML虛擬場景和交互的控制區分開,這就需要用到Java小程序Applet。

教學中一般的黑板板書功能就是能夠在上面書寫,能用各種顏色的粉筆,能寫大小不等的字,還能用黑板擦擦掉。在這個虛擬實驗中,這些功能都能實現。這就用到了EAI接口。在Applet小程序中設置字體的顏色、大小,將數據傳遞到VRML場景中,改變虛擬場景,就可以用設置好的顏色和大小來板書了。

2.3 網頁布局的設計本實驗的組成主要是虛擬場景和控制字體顏色大小的Applet小程序區。它們在屏幕上的分布設計如圖1所示。

3 黑板板書實驗的實現

3.1 字體顏色、大小的控制

1)方法介紹。板書功能的實現主要用JavaScript腳本來實現。由于EAI接口傳遞的數據不能直接傳到JavaScript腳本中,需要一個中間變量,這個中間變量其實就是一個節點。由這個中間變量接收EAI傳遞的數據,那么這個節點的域就會發生變化。再通過一個路由將中間節點的域變化傳到JavaScript腳本的相應事件中,進而間接地實現參數的傳遞。方法如圖2所示。

板書功能的實現關鍵是用createVRMLFromString()動態控制函數。由于板書是非常靈活的,所以寫出來的字應該是圓滑的。擠壓造型Extrusion節點可以來創建彎曲的管道,板書寫的字和管道有相似之處。因此,可以用這個節點來實現具體的板書功能。

2)關鍵代碼。

①VRML程序。JavaScript腳本部分代碼:

function yanse(){ziyanse=mmm.diffuseColor ; } //獲取字體顏色值

function zitidaxiao(){zidaxiao=daxiaobianhua.translation; } //獲取字體大小值

function isActive (val) {

……

zideyanse=new SFColor(ziyanse.r,ziyanse.g,ziyanse.b); //給字體賦顏色值

scale=new SFVec2f(zidaxiao.x,zidaxiao.x); //給字體賦大小值

string=xian1+'diffuseColor '+zideyanse+xian2+'spine '+spine+' scale '+scale+xian3;

node=Browser.createVRMLFromString(string);//生成節點

……

}

function hitpoint(val){

weix=val[0]; weiy=val[1];weiz=val[2];……

spine[q]=new SFVec3f(weix,weiy,weiz);

}

②Java程序。Java程序主要實現程序的界面布局以及獲取滾動條當前值。控制字體顏色、大小的滾動條的處理程序如下:

public boolean handleEvent(Event event){//控制字體大小的滾動條

if (event.id == Event. SCROLL_LINE_UP event.target ==scale){

setScale(event);……}//控制字體顏色的滾動條

for(int i=0;i<3;i++){

if (event.id == Event. SCROLL_LINE_UP event.target ==scrBar[i]){

setColorLabel(event,i);……

}……}

除了以上工作,還需要獲得滾動條實時變化的值,以進一步對場景中相應的VRML節點的域進行賦值,進而觸發腳本事件,實現板書功能。主要代碼如下:

public void setColorLabel(Event ev,int i){……

EventInSFColor newColor=(EventInSFColor)myMaterial.getEventIn(\"set_diffuseColor\");

for(i=0;i<3;i++)

value[i]=(float) (scrBar[i].getValue()/255f); //獲取顏色值

newColor.setValue(value);

}//控制文字大小

public void setScale(Event e){

EventInSFVec3f newtr=(EventInSFVec3f)ztdx.getEventIn(\"set_translation\");

va[0]=(float)(scale.getValue()/10f);

va[1]=(float)(scale.getValue()/10f);

va[2]=(float)(scale.getValue()/10f);

newtr.setValue(va);

}

3.2 擦除功能的實現這里所說的擦除并不是用鼠標一點一點地抹掉,不是真正意義上的擦除;而是在Applet中引入一個按鈕,做一個超鏈接,重新打開這個網頁,看上去好像剛才寫的字不存在了,從而實現“擦除”效果。

所用到的函數是showDocument()[2],使用它來實現超鏈接。

Public void actionPerformed ( ActionEvent ae) {

if (ae.getSource()==b) {

try{

getAppletContext().showDocument(new URL(getDocumentBase()+\"changecolor.htm\"),\"_self\");

}

catch (Exception e) { } } }

至此,黑板板書功能設計完成,程序運行結果如圖3所示。

參考文獻

[1]陸昌輝.使用VRML與JAVA創建網絡虛擬環境[M].北京:北京大學出版社,2003

[2]如何在Java applet.class中實現超鏈接[EB/OL].[2008-3-20].http://www.readygo.com.cn/it-845520.html

主站蜘蛛池模板: 亚洲精品777| 亚洲无限乱码一二三四区| 国产亚洲欧美另类一区二区| 亚洲精品日产精品乱码不卡| 动漫精品啪啪一区二区三区| 伊人久综合| 日韩精品中文字幕一区三区| 国产91精品久久| 又猛又黄又爽无遮挡的视频网站| 亚洲 成人国产| 欧美伦理一区| 2021国产在线视频| 国产精品30p| 婷婷色婷婷| 国产精品jizz在线观看软件| 久久久久无码精品| 国产爽爽视频| 91激情视频| 亚洲人成网址| 国产欧美日韩精品综合在线| 欧洲熟妇精品视频| 国产三级毛片| 在线精品亚洲一区二区古装| 亚洲综合专区| 亚洲精品综合一二三区在线| 成人国产精品网站在线看| 久久鸭综合久久国产| 久久无码av一区二区三区| 色婷婷天天综合在线| 最新亚洲av女人的天堂| 国产成人资源| 欧美精品xx| 久草青青在线视频| 特级做a爰片毛片免费69| 成人噜噜噜视频在线观看| 呦视频在线一区二区三区| 国产第一色| 亚洲日韩国产精品无码专区| 99在线观看免费视频| 在线观看国产黄色| 毛片久久久| 中日韩一区二区三区中文免费视频| 国产日韩欧美精品区性色| 午夜丁香婷婷| 亚洲中文字幕精品| 国产白浆一区二区三区视频在线| 在线另类稀缺国产呦| 在线视频亚洲色图| 亚洲有无码中文网| 99久久精品国产精品亚洲| 日本免费a视频| 99久久精彩视频| 在线看片免费人成视久网下载| 亚洲无码四虎黄色网站| 免费人成视网站在线不卡| 毛片基地美国正在播放亚洲| 国产噜噜噜视频在线观看 | 久久精品中文字幕免费| 国产青青草视频| 国产chinese男男gay视频网| 青青热久免费精品视频6| 成人在线视频一区| 中文国产成人精品久久一| 国产精品太粉嫩高中在线观看| 国产乱人免费视频| 一本视频精品中文字幕| 2021亚洲精品不卡a| 国产一区二区三区夜色 | 激情国产精品一区| 久草视频中文| 欧美久久网| 福利姬国产精品一区在线| 日本一区二区三区精品国产| 五月天久久婷婷| 91人妻在线视频| 高清免费毛片| 亚洲成a人片| 婷婷色中文网| 国产视频你懂得| 国产在线91在线电影| 久久a毛片| 伊人久久综在合线亚洲2019|