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

基于VRML的幻燈機虛擬實驗的設計與實現

2008-12-31 00:00:00辛允東
電腦知識與技術 2008年12期

摘要:VRML語言是一種建模語言,廣泛應用于虛擬實驗中。本文介紹如何利用VRML語言實現幻燈機的虛擬實驗。

關鍵詞:VRML;虛擬實驗;幻燈機

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)12-20ppp-0c

The Design and Realization of Virtual Experiment of the Slide Projector Based on VRML

XIN Yun-dong

(The Information and Technology Department of Jining College, Qufu 273155, China)

Abstract: The VRML is a Modeling Language, which is applied in virtual experiment widly. The virtual experiment of slide projector is realized in VRML language.

Key words: VRML; Virtual experiment; Slide projector

1 VRML語言介紹

VRML(Virtual Reality Modeling Language)即虛擬現實建模語言,是一種用于建立真實世界的場景模型或人們虛構的三維世界的場景建模語言,具有平臺無關性,是目前虛擬實驗制作的主流語言。VRML的對象稱為節點,子節點的集合可以構成復雜的景物。節點可以通過實例得到復用,對它們賦以名字,進行定義后,即可建立動態的VR(虛擬世界)。

虛擬現實的三大特點就是沉浸感、交互性、構想性。VRML不僅支持數據和過程的三維表示,而且能提供帶有音響效果的節點,用戶能走進視聽效果十分逼真的虛擬世界。用戶能與虛擬對象交互,并得到相應的反饋信息,就像在真實的實驗環境中,為用戶帶來了全新的感受。

2 幻燈機虛擬實驗的設計

2.1 創建虛擬實驗環境的VR界面

構建逼真三維效果的空間場景和實體。這些場景和實體與真實世界的幾何特征和物理特性基本相同,提供實驗環境和進行實驗操作的虛擬空間。實驗者在進行實驗時,能夠體驗到具有基本真實感的三維視覺空間。本虛擬實驗室需要進行建模的實驗實體有實驗室場景(包括墻壁、地面、頂棚、燈光、實驗臺)、幻燈機、幻燈片、銀幕。

2.2 設計并實現基于VRML的幻燈機操作功能

這是實現系統功能的主要部分。實驗者在虛擬實驗環境中完成幻燈機實驗的各個環節。操作功能包括連接電源、放置幻燈片、調焦、換片等。

2.3 實驗組成部分

該實驗包括以下幾個部分:正確放置幻燈片、連接電源、調焦、換片。

3 幻燈機虛擬實驗的實現

這里以直線盒式幻燈機為例。

3.1 實驗器材的設計

實驗器材包括實驗臺、銀幕、幻燈機三部分。有兩種方法可以實現。一是直接用VRML語言創作,主要用到了Transform、Shape節點;二是用3DMAX制作完之后,導出VRML文件格式,再對其中的一些錯誤進行修改。這里采用VRML語言直接編輯,幻燈機的效果如圖1。

3.2 正確放置幻燈片

幻燈機就是利用凸透鏡當物體距透鏡的距離大于一倍焦距而小于二倍焦距時成倒立、放大的實像這個原理制成的。當幻燈片離鏡頭的距離在一倍焦距和二倍焦距之間,用強光照射幻燈片時,就可以在屏幕上得到倒立、放大的實像。為了使得到的像成為“正立”的,所以要把幻燈片上下顛倒放置。幻燈片的初始位置在實驗臺上,在幻燈片上加一個接觸傳感器,當單擊幻燈片時,便出現一個動畫,演示如何放置幻燈片。制作這個動畫較簡單,這里不再贅述。

3.3 連接電源

放好幻燈片后,需要接通電源,開始實驗。電源的連接操作應該是將電源插頭插入插座。為了實現連接電源,有兩種方式:一是電源導線由無到有的顯示;二是做一個動畫,將電源插頭插入插座的過程進行模擬。兩種方式都可以。這個相對來說也簡單,重點開發的是下面兩方面。

3.4 調焦

根據成像公式1/f=1/u+1/v(u、v、f分別代表像距、物距、焦距),幻燈機的放置位置不一樣,在銀幕上成的像的清晰度就不一樣。所以需要調焦。調焦動畫的模擬是這樣的:當單擊鏡頭左半部分時,鏡頭向左轉動、向后移動;單擊鏡頭右半部分時,鏡頭向右轉動、向前移動。為使動畫模擬更逼真,鏡頭的轉動應具有繼承性,這就需要兩個變量分別記錄上次轉動的角度及距離,然后再加上本次轉動的角度及距離,使動畫具有了繼承性。還有一點,那就是在鏡頭轉動的過程中,物距發生變化,像距也隨之發生變化,那么,幻燈片能否在銀幕上成清晰的像也在變化。為了實現成像的清晰度的變化的模擬,采用了在銀幕前加一個很薄的方體,設置為白色,通過改變其透明度屬性(transparency),來改變成像的清晰度。主要代碼及注釋如下:

DEF tiaojiaocontrol Script {

eventInSFFloatjingtoutimefraction#時間片段

eventInSFVec3fjingtoutouchpoint#接收點擊點位置的入事件

eventInSFTime jingtoustarttime#點擊的開始時間

eventOut SFRotation jingtourotation#轉動角度的出事件

eventOut SFVec3f jingtouqianhouyidong#鏡頭前后移動的距離

eventOut SFFloat jiaoju#改變銀幕成像的清晰度

field SFVec3f touchpoint 0 0 0#判斷點擊位置的中間變量

field SFFloat jtzd 0#記錄上次轉完后,所處的角度

field SFFloat qianzd 0#記錄上次轉過的角度

field SFFloat houzd 0#記錄本次轉過的角度

field SFFloat juli 0#記錄上次轉完后,所處的位置

field SFFloat qianydjuli 0#記錄上次移動的距離

field SFFloat houydjuli 0#記錄本次移動的距離

url \"javascript:

function jingtoustarttime(value){

qianzd=jtzd;

houzd=0;//在本次轉動之前,先將其置零 ,使其具有繼承性

qianydjuli=juli;

houydjuli=0;

}

function jingtoutouchpoint(value){touchpoint=value;}

function jingtoutimefraction(value){

houzd=houzd+0.002;

houydjuli=houydjuli+.002;

if(touchpoint[0]<0.035) { //向左轉

jingtourotation[0]=0;jingtourotation[1]=0;jingtourotation[2]=1;

jingtourotation[3]=qianzd+houzd*1.57; //本次轉動后的角度

if(juli<=.2){jingtouqianhouyidong[0]=0;jingtouqianhouyidong[1]=0;

jingtouqianhouyidong[2]=qianydjuli+houydjuli;

if(jingtouqianhouyidong[2]<=.1){jiaoju=jingtouqianhouyidong[2]*10;}

else{jiaoju=2-jingtouqianhouyidong[2]*10;}

}

}

else{……}

jtzd=jingtourotation[3];

juli=jingtouqianhouyidong[2];

}\"

}

#鏡頭變動

ROUTE jingtoutouch.isActive TO jingtoutime.set_enabled

ROUTE jingtoutouch.touchTime TO tiaojiaocontrol.jingtoustarttime

ROUTE jingtoutime.fraction_changed TO tiaojiaocontrol.jingtoutimefraction

ROUTE tiaojiaocontrol.jingtourotation TO jingtouti.set_rotation

ROUTE tiaojiaocontrol.jingtouqianhouyidong TO jingtouti.translation

ROUTE jingtoutouch.hitPoint_changed TO tiaojiaocontrol.jingtoutouchpoint

ROUTE tiaojiaocontrol.jiaoju TOqingxidu.transparency

效果如圖2、圖3。

3.5 換片操作

在進行幻燈機操作時,需要按下一個按鈕來換上下一個幻燈片,這是換片操作。這個操作包括兩部分:一是直線盒要往前移動一個格,導桿將幻燈片推入鏡頭的后面,二是銀幕上的像也要作相應的變化。主要代碼如下:

DEF piankongzhi Script {

eventInSFTime huanpiananxia

eventOut SFVec3f pian1dong

……

eventOut SFVec3f pian10dong

eventOut SFVec3f dihedong

eventOut MFString urlchange

field SFVec3f piandi1weizhi -.12 .066 -0.2

……

field SFVec3f piandi10weizhi -.12 .066 0.16

field SFVec3f fangpian1weizhi .15 0 0

……

field SFVec3f fangpian10weizhi .15 .0 -0.36

field SFVec3f huipian1weizhi 0 0 0

……

field SFVec3f huipian10weizhi 0 0 -0.36

field SFInt32 cishu 0

url \"javascript:

function huanpiananxia(){

cishu+=1;

if(cishu==1){pian1dong=fangpian1weizhi;

dihedong=piandi1weizhi;

urlchange[0]='huandengji1.jpg';

}

……

if(cishu==10){pian10dong=fangpian10weizhi;

pian9dong=huipian9weizhi;

dihedong=piandi10weizhi;

urlchange[0]='huandengji2.jpg';

}

}\"

}

ROUTE huanpiananniu.touchTime TO piankongzhi.huanpiananxia

ROUTE piankongzhi.pian1dong TO huandengpian1.translation

……

ROUTE piankongzhi.pian10dong TOhuandengpian10.translation

ROUTE piankongzhi.dihedong TO pianjidizuo.translation

效果如圖4、圖5。

5 總結

這里只是實現了幻燈機虛擬實驗的部分主要功能。還有擴展的地方,如成像原理模擬、內部結構模擬、實驗方式、其他型號幻燈機功能的模擬等。這里不能一一細述,有待以后進一步完善。

參考文獻:

[1] 段新昱.虛擬現實基礎與VRML編程[M].北京:高等教育出版社,2004.

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

收稿日期:2008-03-12

主站蜘蛛池模板: 国产精品性| 超碰精品无码一区二区| 亚洲精品第一在线观看视频| 视频一区视频二区中文精品| 福利视频99| 久久久四虎成人永久免费网站| 在线观看亚洲成人| 91久久精品国产| 91成人在线免费观看| 久久a级片| 亚洲一级毛片免费观看| 又粗又大又爽又紧免费视频| 亚洲中文字幕国产av| a级毛片在线免费观看| 国产网友愉拍精品| 91区国产福利在线观看午夜| 久久视精品| 国产精品极品美女自在线看免费一区二区| 亚洲天堂伊人| 亚洲av无码成人专区| 凹凸国产熟女精品视频| 一区二区在线视频免费观看| 午夜无码一区二区三区| 日韩国产无码一区| 国产精品13页| 99精品在线视频观看| 亚洲欧美色中文字幕| 久久人妻系列无码一区| 中美日韩在线网免费毛片视频| 色综合天天综合中文网| 国产精品无码制服丝袜| 不卡网亚洲无码| 免费不卡视频| 国内精品久久久久鸭| 亚洲综合色在线| 色哟哟国产精品一区二区| 激情乱人伦| 一级毛片高清| 伊人91在线| 精品国产成人a在线观看| 青青青草国产| 干中文字幕| 99在线观看精品视频| 国产成人综合亚洲欧美在| 亚洲天堂色色人体| 日韩无码视频网站| 日韩成人午夜| 天堂成人在线视频| 丝袜亚洲综合| 久久精品视频亚洲| 国产av剧情无码精品色午夜| 成人一级黄色毛片| 国产主播福利在线观看| 久久美女精品| 欧美激情,国产精品| 亚洲精品第一页不卡| 免费高清毛片| 一级全黄毛片| 国产美女丝袜高潮| 欧美日韩精品在线播放| 久视频免费精品6| 午夜免费视频网站| 国产福利大秀91| 国产成人在线无码免费视频| 91系列在线观看| 99精品免费在线| AV天堂资源福利在线观看| 国产精品免费电影| 国产精品吹潮在线观看中文| 免费激情网站| 日韩中文无码av超清| 成年人国产网站| 国产一区二区福利| 欧美日韩精品一区二区在线线| 亚洲第一色网站| 亚洲Av综合日韩精品久久久| 欧美、日韩、国产综合一区| 免费女人18毛片a级毛片视频| 国产爽爽视频| 国产99在线| 欧美精品三级在线| 亚洲欧美天堂网|