豐 遠,徐 琳,邊 健
(合肥學院數(shù)學與物理系,安徽 合肥 230601)
轉(zhuǎn)動慣量是物體轉(zhuǎn)動時慣性大小的量度,對于形狀簡單且質(zhì)量分布均勻的物體,可以直接計算它繞特定軸的轉(zhuǎn)動慣量。對于形狀較復(fù)雜或非均質(zhì)的物體,計算比較困難,常利用三線擺來測量物體的轉(zhuǎn)動慣量,因此各理工科院校均開展扭擺法測物體轉(zhuǎn)動慣量的實驗。[1]利用Visual Basic編程語言提供的圖形用戶界面 (GUI)可以很方便的進行三線擺仿真實驗設(shè)計,其主要優(yōu)點在于采用面向?qū)ο蟮目梢暬绦蛟O(shè)計,即不需要編寫大量代碼去描述界面元素,而只要把需要的控件拖放到屏幕合適位置進行編程即可。
扭擺法測物體轉(zhuǎn)動慣量實驗其主要任務(wù)是學會用累積放大法測量物體的轉(zhuǎn)動周期,驗證平行軸定理,測量不同物體的轉(zhuǎn)動慣量。[2]圍繞上述實驗?zāi)康模痉抡鎸嶒炛亟榻B了轉(zhuǎn)動慣量測量的原理、步驟、注意事項和數(shù)據(jù)的處理與保存,并給出虛擬的游標卡尺測量儀和虛擬的秒表計時裝置。
仿真實驗項目由五部分組成,分別為:實驗室場景界面 (Form1)、周期測量界面 (Form2)、游標卡尺測量界面 (Form3)和數(shù)據(jù)采集、保存界面(Form4)。
實驗場景界面 (Form1)由一組彈出式菜單來引導(dǎo)使用者完成本仿真實驗,具體包括實驗?zāi)康摹嶒炘?、實驗裝置、實驗內(nèi)容與步驟、數(shù)據(jù)處理、思考題等。進入仿真實驗后,單擊鼠標右鍵出現(xiàn)彈出式菜單,引導(dǎo)實驗者依次完成整個實驗,如圖1所示。
圖1 三線擺仿真實驗主界面
游標卡尺是實驗室常用的測量儀器,對它的虛擬仿真可以由以下方式完成:利用Photoshop軟件繪制三幅虛擬的游標卡尺圖,即不可動的固定主尺部分和可動的內(nèi)、外量爪部分,然后分別用三個Image圖片控件加載這些圖形并拼接成完整的游標卡尺,最后對整個工程進行屬性設(shè)置和代碼編譯,讓虛擬的游標響應(yīng)鼠標移動 (MouseMove)事件,從而改變量爪位置達到測量目的,如圖2所示。
圖2 虛擬游標卡尺測量界面
相關(guān)程序如下:
Private Sub Image3_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)
Static n As Integer
If Option1.Value=True And Image3.Left<=6240 Then
’游標卡尺左移(Option1為左移判斷選擇控件)
n=n+1
’下量爪圖片位置遞增
Image3.Left=3000+5*n
’上量爪圖片位置遞增
Image2.Left=2700+5*n
If Label1.Caption=“測量”And Image3.Left=2150 Then
Image5.Visible=True
End If
Else If Option2.Value=True And Image3.Left>=2150 Then
’游標卡尺右移(Option2為右移判斷選擇控件)
n=n–1
’下量爪圖片位置遞減
Image3.Left=3000+5*n
’上量爪圖片位置遞減
Image2.Left=2700+5*n
If Label1.Caption=“測量”And Image3.Left=2150 Then
’出現(xiàn)放大的游標測量讀數(shù)圖
Image5.Visible=True
End If
End If
End Sub
周期測量界面由Form2組成,選中窗體設(shè)計器,依次添加以下控件:命令按鈕 (Command1—Command6)、ShockwaveFlash控件、MSFlexGrid控件 (用于數(shù)據(jù)記錄)、Timer控件 (電子秒表控制)、Image控件、Label控件和Text控件等。
虛擬電子秒表計時裝置是利用Image控件及Text控件來實現(xiàn)計時,其設(shè)計方法如下:在Image控件中加載一幅電子秒表圖片,電子表顯示屏用Text文本控件代替,設(shè)置好字體(Font)屬性顯示計時數(shù)字;在秒表開始和結(jié)束按鈕位置處放置兩個Label控件,并將其外觀屬性(BackStyle)設(shè)置為0即不可見;將Label控件的鼠標圖形屬性(MouseIcon)設(shè)置為自定義(99-Custom)并加載指示光標,當使用者移動鼠標靠近秒表按鈕時會出現(xiàn)手型指示光標,提示使用者可以對電子秒表進行操作,相關(guān)程序如下:[3]
Private Sub Timer1_Timer()
s=Timer-start
T0=(s*10)Mod10
s=Int(s)
T1=Format(sMod60,“00.”)
T2=Format((s60)Mod60,“00:”)
T3=Format(s3600,“00:”)
Text1.Text=T3&T2&T1&T0
End Sub
扭擺裝置的動態(tài)運行主要是利用Command控件和ShockwaveFlash控件來共同實現(xiàn)。其中Command控件的Caption屬性依次設(shè)置為:開始、圓環(huán)、圓柱、結(jié)束和返回,利用這些按鈕可以控制三線擺的運行并選擇下擺盤所放置的待測物體。
ShockwaveFlash控件是用于加載三線擺的運行狀態(tài),即加載一段已經(jīng)制作好的三線擺Flash動畫,其設(shè)置方法如下:工具箱上單擊鼠標右鍵—部件選項—選中Shockwave flash控件—確定—加載到窗體。其主要程序如下:
’單擊開始,測量空盤繞軸轉(zhuǎn)動時間
Private Sub Command1_Click()
’S為ShockwaveFlash控件名
S.Playing=True
’下擺盤不可加載“圓環(huán)”(變灰色)
Command3.Enabled=False
’下擺盤不可加載“圓柱”(變灰色)
Command4.Enabled=False
End Sub
’單擊“圓環(huán)”按鈕,測量空盤加圓環(huán)繞軸轉(zhuǎn)動時間
Private Sub Command3_Click()
’sxb.swf是三線擺Flash動畫
S.Movie=App.Path+“sxb.swf”
’從第10幀開始播放
S.GotoFrame(10)
’下擺盤不可加載“圓柱”(變灰色)
Command4.Enabled=False
End Sub
圖3 數(shù)據(jù)采集界面
數(shù)據(jù)的采集與保存是實驗中的重要一環(huán),在扭擺法測物體轉(zhuǎn)動慣量實驗中主要記錄的實驗數(shù)據(jù)如下:下盤繞軸轉(zhuǎn)動的周期T1、圓環(huán)和下盤共同繞軸轉(zhuǎn)動的周期T2、圓柱和下盤共同繞軸轉(zhuǎn)動的周期T3。在實驗中使用MSFlexGrid Control 6.0控件實現(xiàn)對數(shù)據(jù)的保存與記錄,該控件提供了靈活的排序、插入數(shù)據(jù)和格式編排功能,可以很方便的對實驗數(shù)據(jù)進行操作與保存,[4]如圖3所示。
相關(guān)程序如下:
Private Sub Form_Load() ’加載表格
Dim sTitle As String
’表格的首行文字
sTitle=“< |T1|<T2|<T3”
’表格的首列文字
sTitle=sTitle+ “;|圓盤|圓環(huán)|圓柱”
’S是表格MSFlexGrid控件的名稱
S.FormatString=sTitle
End Sub
Private Sub Command1_Click()
’Command1為“記錄數(shù)據(jù)”按鈕
Dim z As String
z=Val(InputBox(“請輸入實驗序號(1到
9):”,“實驗數(shù)據(jù)錄入”))
Timer1.Enabled=False
Select Case z
Case Is=1
’Text1.Text是秒表顯示的時間
S.TextMatrix(1,1)=Text1.Text
Case Is=2
S.TextMatrix(1,2)=Text1.Text
Case Is=3
S.TextMatrix(1,3)=Text1.Text
……
三線擺仿真實驗可以讓學生在虛擬的環(huán)境中開展實驗并達到教學大綱所要求的基本教學目標,它可以很好的服務(wù)于學生在實驗課前的操作預(yù)習,提高了學習興趣,節(jié)省了實驗資源,從而發(fā)揮了模擬實驗和真實實驗虛實結(jié)合、相互補充的優(yōu)點。[5]
[1]楊述武.普通物理實驗[M].北京:高等教育出版社,2000:87-88
[2]肖蘇,任紅.大學物理實驗[M].合肥:中國科學技術(shù)大學出版社,1998:88-90
[3]林永,張樂強.Visual Basic 6.0用戶編程手冊[M].北京:人民郵電出版社,2002:135
[4]崔武子.界面設(shè)計與Visual Basic實訓教程[M].北京:清華大學出版社,2006:78-79
[5]唐鋒意,張翼.大學物理仿真實驗在民族醫(yī)學院校中的應(yīng)用淺談[J]. 大學物理,2011,30(2):32