董瑩荷
摘要:虛擬實驗室是虛擬現實技術在教育領域中的應用,從中取得的教學效果等于甚至高于真實實驗的教學效果。通過安全防范系統虛擬實驗,可實現在開放式虛擬實驗環境下進行各種安全防范系統組建虛擬操作實驗的功能。它的開發和有效應用,將有效推動校園實訓基地的建設。
關鍵詞:安全防范系統;虛擬實驗;FLASH
中圖分類號:G642.4 文獻標志碼:A 文章編號:1674-9324(2012)12-0212-02
本系統提供一個開放式的虛擬實驗環境,模擬多種安全防范系統實驗室中使用的設備,以虛擬操作環境為平臺,基于FLASH技術實現虛擬實驗設計,供使用者完成安全防范系統組建虛擬實驗,以解決教學資源不足的矛盾。
一、系統簡介
1.系統功能。本系統主要實現安全防范系統的虛擬實驗操作。使用者可進行非定制實驗,允許自行制訂實驗方案,根據自己的思路進行設備選型、安裝連線、調試運行、故障檢測等各種操作的實驗,并能完成實驗報告。
2.系統業務流程。系統業務流程如圖1所示。
二、安全防范系統虛擬實驗基本設計思想
安全防范系統虛擬實驗通過虛擬實驗環境,實現完成非定制虛擬實驗的功能。在物理實驗室中所做的安全防范系統實驗,主要是在各種情景下進行安全防范系統的組建實驗,因此虛擬實驗的基本操作步驟是:根據實驗要求,選擇相應的設備添加至實驗平臺,調整成適當的尺寸后放置在相應位置上。然后通過相應的線纜進行各設備接線端子間的連線。最后根據實驗方案,進行該系統的調試。
1.設備添加及位置、尺寸調。基于非定制實驗的特點,在系統搭建的過程中,設備的擺放是不固定的,要根據實驗者的意愿任意放置,所以要求設備能隨著鼠標任意拖動。本平臺的所有設備模型均為通過Photoshop技術編輯加工后的實物圖片,以設備的接線端子面板圖片或控制面板圖片的形式顯示在用戶界面中,因此添加設備的操作實質上是通過FLASH技術實現圖片的自由拖動操作。如果實驗中所使用的設備較多,還會涉及改變圖片尺寸的操作。自由拖動圖片操作的實現方法是:把圖片先放到一個按鈕中,再把這個按鈕放到一個電影剪輯中,最后對其進行編程。代碼編寫主要借助ActionScript腳本語言中的startDrag()方法和stopDrag()方法實現。其中,startDrag()方法在鼠標按鈕被點擊下的on(press)事件中調用,并由四個控制變量規定它的拖動范圍,由此實現圖片開始拖動;stopDrag()方法在鼠標按鈕被按下并松開以后的on(release)事件中調用,由此實現圖片結束拖動。改變圖片尺寸操作的實現方法是:把圖片先放到一個按鈕中,再把這個按鈕放到一個電影剪輯中,最后對其進行編程。代碼設計的基本思想是在按下鼠標時記下這個電影剪輯的坐標x1、y1,松開鼠標時記下鼠標在主場景中的當前坐標x2、y2。然后通過x2-x1來確定電影剪輯的寬(width),y2-y1來確定電影剪輯的長(height)。為了在同一張圖片上實現拖動和改變尺寸的功能,可制作兩個按鈕放在圖片的上邊:一個按鈕放在圖片上方,拖動它即可拖動圖片;一個按鈕放在圖片的右下角,按下它拖動即可改變圖片的大小。然后再把這二個按鈕及圖片放入一個電影剪輯中,并調整好三者的位置及大小。
2.設備連線。本模塊的所有線纜在進行虛擬實驗時均通過FLASH技術繪制。在兩個接線端子間連線時,界面看到的效果是:點擊第一個接線端子A后,會從A發出一條線纜動畫跟隨鼠標的移動;點擊第二個接線端子B后,在A與B之間出現一條靜態的線纜,連線操作結束。連線操作的實現方法是:(1)鼠標點擊第一個接線端子時獲取線纜起點的坐標X、Y,并生成跟隨鼠標移動的線纜動畫效果。(2)鼠標點擊第二個接線端子時,獲取線纜終點的坐標X、Y。(3)繪制線纜,通過lineStyle()方法設置線條樣式,moveTo()方法設置線纜的起點坐標,然后通過lineTo()方法實現從線纜起點到終點繪制線纜。
3.系統調試。雖然安全防范各子系統調試的要求各不相同,但有一些操作是類似的,比如:虛擬視頻監控系統是實現鼠標在虛擬監控畫面中,移動后觸碰到虛擬移動偵測探測區域時,系統能將報警信號輸出至虛擬報警裝置中;虛擬門禁控制是實現虛擬門禁卡在虛擬讀卡機上觸碰后,系統能將虛擬門鎖打開;虛擬防盜報警系統是實現鼠標點擊了虛擬緊急按鈕,或是鼠標觸碰了虛擬紅外對射探測器間的虛擬布防區域后,系統將報警信號輸出至虛擬聲光報警器。由此可見,系統調試操作中,很重要的一種操作就是碰撞檢測,其最根本的設計思路就是實現在FLASH環境,能測試到影片剪輯之間或鼠標與影片剪輯之間是否發生觸碰并輸出信號。因此碰撞檢測的基本實現方法是:通過hitTest()方法實現兩種沖突檢測。這兩種沖突分別是一個點坐標是否在某一個影片剪輯范圍內、兩個影片剪輯對象是否沖突。影片剪輯對象沖突指的是兩個影片剪輯對象在場景里是否發生重疊現象。如果發生沖突,hitTest()方法檢測結果返回的值為ture,否則為false。這個返回值則可以作為是否執行相關操作的依據。鼠標與影片剪輯的沖突檢測可通過myMovieClip.hitTest(x,y,shapeFlag)實現;兩個影片剪輯的沖突檢測可通過myMovieClip.hitTest(target)實現。
4.實驗報告提交。用戶在提交實驗報告時,系統首先檢查實驗報告的填寫是否符合要求,然后系統自動獲取姓名、學號、班級等信息,再與之前用戶填寫的實驗的相關信息一起提交,最后返回提交成功的提示信息。
通過安全防范系統虛擬實驗,可實現在開放式虛擬實驗環境下進行各種安全防范系統組建虛擬操作實驗的功能。它的開發和有效應用,將有效推動校園實訓基地的建設。在目前教學條件下大幅度提高實驗教學的效率,降低實驗風險,提高安全性能,即有利于提高學生實訓的效率,又有利于教師課堂講解,有效的推動了課程改革建設。