版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
用VisualBasic實(shí)現(xiàn)物理模型的可視化姓名:周宏宇指導(dǎo)教師:萬建杰屆別:2011屆學(xué)號(hào):200772010252摘要:根據(jù)目前物理實(shí)驗(yàn)發(fā)展的現(xiàn)狀,采用VisualBasic語言對(duì)物理實(shí)驗(yàn)進(jìn)行模擬,為提高實(shí)驗(yàn)直觀效果提供了一種有效的模式。本文在分析VisualBasic開發(fā)技術(shù)的基礎(chǔ)之上,以理想單擺模型為例給出了設(shè)計(jì)思想及代碼,用VisualBasic軟件實(shí)現(xiàn)物理模型的可視化,與傳統(tǒng)制作工具相比具有更高的交互性和靈活性,采用計(jì)算機(jī)輔助工具給實(shí)驗(yàn)者提供了直觀便捷的方法。關(guān)鍵詞:VisualBasic;物理模型;單擺;可視化Abstract:Accordingtothecurrentdevelopmentstatusofphysicalexperiments,usingVisualBasiclanguagetosimulatethephysicalexperiment,itwillbeausefulmodeltoimprovethevisualeffectexperiments.BasedontheVisualBasic,thispapershowsthedesignandcodetoachievethevisualizationofthephysicalmodelofthependulumasanexample.whichhasahigherinteractivityandflexibilitythanthetraditionalauthoringtools.Itisaconvenientwayforexperimentersusingcomputer-aidedtools.Keywords:VisualBasic;Physicalmodel;Simplependulum;Visualization引言VisualBasic采用面向?qū)ο蠛褪录?qū)動(dòng)的程序設(shè)計(jì)新機(jī)制,把過程化和結(jié)構(gòu)化編程集合在一起,為開發(fā)windows應(yīng)用程序提供了強(qiáng)有力的開發(fā)環(huán)境和工具,其設(shè)計(jì)思想和編程方法與傳統(tǒng)編程語言有很大差別。在VisualBasic中,應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(OOP)⑵,把程序和數(shù)據(jù)封裝起來成為一個(gè)對(duì)象,每個(gè)對(duì)象都是可視化的。只需按設(shè)計(jì)要求的屏幕布局,用系統(tǒng)提供的工具,直接給出窗口,命令按鈕,文本框等不同類型的對(duì)象,并為每個(gè)對(duì)象賦予應(yīng)有的屬性,即可設(shè)計(jì)圖形用戶界面,通過事件來執(zhí)行對(duì)象的操作。它具有簡(jiǎn)單易用,開發(fā)效率高的特點(diǎn),制作生產(chǎn)的“.exe”文件不但可脫離VisualBasic環(huán)境而直接在Windows下運(yùn)行,并且文件所占空間下便于網(wǎng)絡(luò)傳輸,這使得VisualBasic成為Windows下編輯CAI軟件的較好的開發(fā)工具。VisualBasic擁有圖形用戶界面(GUI)⑵和快速應(yīng)用程序開發(fā)系統(tǒng)(RAD)⑵,可以輕易的使用DOA、RDO、ADO【2]連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件⑵。單擺是質(zhì)點(diǎn)振動(dòng)系統(tǒng)的一種,是最簡(jiǎn)單的擺。繞一個(gè)懸點(diǎn)來回?cái)[動(dòng)的物體,都稱為擺,但其周期一般和物體的形狀、大小及密度的分布有關(guān)。但若把尺寸很小的質(zhì)塊懸于一端固定的長(zhǎng)度為l[1]且不能伸長(zhǎng)的細(xì)繩上,把物塊拉離平衡位置,使細(xì)繩和過懸點(diǎn)鉛垂線所成角度小于5。[1],物塊往復(fù)振動(dòng)可視為質(zhì)點(diǎn)的振動(dòng),其運(yùn)動(dòng)周期T只與擺長(zhǎng)l、重力加速度g有關(guān)[1],即與物塊的質(zhì)量、形狀和振幅的大小都無關(guān)系,運(yùn)動(dòng)狀態(tài)可用簡(jiǎn)諧振動(dòng)公式表示。如果振動(dòng)的角度大于5o,則振動(dòng)的周期將隨振幅的增加而變大,就不成為單擺了。如擺球的尺寸相當(dāng)大,繩的質(zhì)量不能忽略,就成為復(fù)擺[1],周期就和擺球的尺寸有關(guān)了。VisualBasic是一種可視化的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,它采用以事件驅(qū)動(dòng)對(duì)象執(zhí)行的圖形用戶界面方式,既有windows優(yōu)越的圖形窗口環(huán)境,又繼承了Basic語言的簡(jiǎn)單易學(xué)性,因此特別適合分析物理模型的需要。下面以單擺為例介紹其可視化軟件的制作過程。建立物理模型在物理學(xué)中,人們?yōu)榱诉_(dá)到對(duì)研究事物本質(zhì)和規(guī)律的認(rèn)識(shí),將研究的物理對(duì)象或物理過程及其情境通過抽象、理想化、簡(jiǎn)化和類比等方法,通常會(huì)對(duì)問題進(jìn)行“去次取主”、“化繁為簡(jiǎn)”的處理,把反映研究對(duì)象的本質(zhì)特征抽象出來,構(gòu)成一個(gè)概念或?qū)嵨锏捏w系,就形成物理模型。因此物理模型是在抓住主要因素,忽略次要因素的基礎(chǔ)上建立起來的,它能具體形象、生動(dòng)、深刻地反映事物的本質(zhì)和主流,物理模型在物理學(xué)研究和物理教學(xué)中是不可或缺的。物理模型是同類通性問題的本質(zhì)體現(xiàn)和核心歸整,用物理模型可以使抽象的假說理論加以形象化,便于想象和思考研究問題。物理模型既源于實(shí)踐,而又高于實(shí)踐,在我們的生活、生產(chǎn)、科技領(lǐng)域中帶有普遍的共性特征,具有一定的抽象概括性。物理模型的構(gòu)建是一種重要的科學(xué)思維方法,通過對(duì)物理現(xiàn)象或過程,從而尋找出反映物理現(xiàn)象或物理過程的內(nèi)在本質(zhì)及內(nèi)在規(guī)律達(dá)到認(rèn)識(shí)問題的目的。用計(jì)算機(jī)模擬某物理過程時(shí),首先要建立該過程的物理模型,這種模型必須是一個(gè)算法,而且要合理、可行,能真實(shí)反映物理現(xiàn)象,揭示其本質(zhì)。制定模擬計(jì)劃模擬計(jì)劃在其中包括模擬方式,模擬項(xiàng)目和應(yīng)達(dá)到的需求等。單擺運(yùn)動(dòng)的實(shí)現(xiàn)首先要建立單擺模型。本文中建立的是理想單擺模型及擺角小于5。,擺長(zhǎng)大于1m,重力加速度,小球的大小忽略不計(jì),并且忽略系統(tǒng)誤差和空氣阻力。單擺是一根細(xì)線上端固定,下端系著一個(gè)小球,如果懸掛細(xì)線的伸長(zhǎng)和質(zhì)量可以忽略,且系統(tǒng)是剛性的,在地球引力的作用下往復(fù)擺動(dòng)的裝置(如圖1)。它是一個(gè)抽象化了的理想模型,系統(tǒng)質(zhì)量集中在可視為質(zhì)點(diǎn)的小球上,當(dāng)單擺振動(dòng)時(shí),單擺的擺長(zhǎng)為Z,小球的質(zhì)量為m,相對(duì)于平衡位置的角度為。,重力加速度為g=9.8%;2[1],其回復(fù)力由重力沿圓弧切線方向的分力mgsin9⑴提供,當(dāng)單擺的最大擺角av5o時(shí),由于x為振子相對(duì)平衡位置0的位移sin。=X[1]大l小,考慮到回復(fù)力F的方向與位移x的方向相反,有F=—%=—kx,(k=空)[1]⑴ll即此時(shí)單擺做簡(jiǎn)諧振動(dòng),其振動(dòng)周期為T=2兀[:竺=2兀[1](2)\k\gmg圖1單擺實(shí)驗(yàn)?zāi)P?.1軟件設(shè)計(jì)思路及設(shè)計(jì)該就應(yīng)到達(dá)如下要求:(1)可任意改變單擺的起始擺角和單擺擺長(zhǎng),隨時(shí)可演示物體在不同情況下的運(yùn)動(dòng);(2)根據(jù)需要能顯示單擺的周期曲線;(3)在上面第2點(diǎn)的基礎(chǔ)上,通過比較找出規(guī)律。理解單擺的振動(dòng)周期與擺長(zhǎng),擺角和小球質(zhì)量的關(guān)系。2.2軟件編制設(shè)計(jì)步驟:(1)制作窗口界面,設(shè)置控件屬性;(2)設(shè)計(jì)各控件代碼;(3)運(yùn)行和調(diào)試。創(chuàng)建窗體在VisualBasic開發(fā)環(huán)境下是以窗體作為開發(fā)平臺(tái)的窗體VisualBasic程序“表演”的舞臺(tái),也是各種媒體的配置窗口。因此,制作模擬課件要首先建立窗體,并對(duì)其名稱,大小,位置,標(biāo)題,背景等屬性進(jìn)行設(shè)置。啟動(dòng)VisualBasic軟件之后,選擇“標(biāo)準(zhǔn)EXE”⑵選項(xiàng),進(jìn)入VisualBasic集成開發(fā)環(huán)境。此時(shí)系統(tǒng)已經(jīng)自動(dòng)創(chuàng)建了一個(gè)窗體VisualBasic集成開發(fā)環(huán)境Form1【2],標(biāo)題可更該為單擺實(shí)驗(yàn)(如圖2所示)。圖2VisualBasic集成開發(fā)環(huán)境安置控件以及設(shè)置控件屬性VisualBasic的工具箱中提供了許多控件,根據(jù)模擬計(jì)劃靈活選擇其中的控件,在安置控件前一定要選好容納控件的容器并使其成為活動(dòng)對(duì)象。然后再安置好其Interval屬性,絕不能采用系統(tǒng)默認(rèn)的值0,否則它無法起作用。當(dāng)然,有些屬性值也可以在程序代碼中設(shè)置或修改,同一功能的控件最好用控件數(shù)組,以縮短程序代碼。創(chuàng)建應(yīng)用程序的用戶界面和設(shè)置對(duì)象屬性。在窗體上建立7個(gè)標(biāo)簽、4個(gè)文本框、4個(gè)命令按鈕、3個(gè)水平滾動(dòng)條、2個(gè)圖片框、2個(gè)時(shí)鐘和1個(gè)復(fù)選框,在圖片框(Picturel)⑵中添加線形(Linel)⑵和形狀(Shapel)⑵如圖3所示。圖3設(shè)計(jì)的界面Caption屬性是說明性的文字,可以是任意的字符串,用于確定控件的標(biāo)題,對(duì)于標(biāo)簽、命令按鈕等控件,此屬性保存的文字內(nèi)容會(huì)出現(xiàn)在控件的上方,更改設(shè)置標(biāo)簽和命令按鈕的Caption屬性與圖3所示相對(duì)應(yīng)。文本框都屬于輸出信息,故設(shè)置Locked屬性值為True,其Text屬性均為空。命令按鈕用于接收用戶的操作信息,并觸發(fā)應(yīng)用程序的某個(gè)操作。當(dāng)用戶用鼠標(biāo)單擊命令按鈕,或者按命令按鈕的訪問鍵,或者選中命令按鈕后按回車鍵等時(shí),就會(huì)觸發(fā)該命令按鈕相應(yīng)的事件過程。窗體上的命令按鈕常會(huì)有一個(gè)“默認(rèn)”按鈕和一個(gè)“取消”按鈕,用Default屬性和Cancel屬性分別設(shè)置,當(dāng)其值設(shè)置為True時(shí)表示對(duì)應(yīng)的命令按鈕設(shè)置為“默認(rèn)”按鈕或“取消”按鈕。滾動(dòng)條控件用于改變0、m、l的取值,可以在在Min,Max屬性中設(shè)置所對(duì)應(yīng)的取值范圍。在此軟件中為了使其運(yùn)行后的現(xiàn)象明顯可見,把相應(yīng)的0、m、l的取值都有所擴(kuò)大,其中0e(0,5)o,me(20,100)kg,le(1,5)m。SmallChange(最小變動(dòng)值)屬性表示單擊滾動(dòng)條兩端箭頭時(shí),滾動(dòng)移動(dòng)的變動(dòng)值。LargeChange(最大變動(dòng)值)屬性表示單擊滾動(dòng)條內(nèi)空白處,滾動(dòng)移動(dòng)的變動(dòng)值。滾動(dòng)條控件最常用的是Scroll和Change事件,當(dāng)用鼠標(biāo)拖動(dòng)滾動(dòng)塊時(shí)可觸發(fā)Scroll事件,當(dāng)改變Value屬性值時(shí)可觸發(fā)Change事件。VisualBasic還提供了Line(畫線)、Shape形狀控件⑵等圖形方法,可以方便地在圖片框上繪制簡(jiǎn)單圖形。設(shè)置Line(x1,y1)一(x2,y2)可在圖片框上畫一條直線,設(shè)置BorderStyle屬性為實(shí)線,BorderColor屬性指定線段的顏色,從提供的調(diào)色板上選取黑色。當(dāng)Shape控件放到圖片框上時(shí)顯示為一個(gè)矩形,通過設(shè)置其Shape屬性為“3-Circle”可以確定為圓形,BorderStyle屬性為默認(rèn)值1-Solid(實(shí)線),BackStyle屬性用來決定是否采用指定顏色填充,其中1表示由BorderColor屬性所指定的顏色來填充(黑色),F(xiàn)illColor屬性來定義控件內(nèi)部的顏色,F(xiàn)illStyle屬性用來確定控件內(nèi)部的填充樣式,如設(shè)置為0-Solid(實(shí)心)。編寫事件過程用VisualBasic制作課件的一個(gè)重要環(huán)境就是為已設(shè)置的對(duì)象(窗體和控件)編寫事件過程(即程序代碼),以確定每一個(gè)對(duì)象在收到特定事件后作出的反應(yīng)。設(shè)計(jì)程序用滾動(dòng)條分別進(jìn)行調(diào)節(jié)單擺的起始角度0,擺長(zhǎng)l,以及小球質(zhì)量m,顯示出一定范圍內(nèi)的數(shù)值,以便進(jìn)行必要的實(shí)驗(yàn)研究,并且使0、m、l的取值變化與課件中圖形的變化同步發(fā)生,實(shí)現(xiàn)物理模型的可視化變化。本論文中是通過滑動(dòng)相應(yīng)的滾動(dòng)條來改變其取值的變化,同時(shí)已設(shè)定單擺的起始角度0的取值范圍為0。到5。,l的取值范圍為1m到5m,m的取值范圍為20kg到100kg,在此范圍內(nèi)設(shè)置控件屬性。以豎直方向?yàn)閰⒖枷?,單擺的起始角度變化引起窗體中Line3(擺線)的角度變化,單擺的擺長(zhǎng)變化引起窗體中Line3的長(zhǎng)度變化,小球的質(zhì)量變化引起窗體中shape1(小球)的大小變化(小球的質(zhì)量變化不易表示出來,本文以小球的大小變化來表示小球的質(zhì)量變化以達(dá)到可視化的目的)。“歸位”用于控制單擺的初始位置,點(diǎn)擊后方能設(shè)置單擺的起始角度0,擺長(zhǎng)l,以及小球質(zhì)量m的數(shù)值。例1:運(yùn)行軟件設(shè)置單擺的起始角度0為4。,擺長(zhǎng)l為3m,以及小球質(zhì)量m為40kg。
圖4運(yùn)行結(jié)果圖5運(yùn)行結(jié)果在此軟件中的實(shí)現(xiàn)步驟:運(yùn)行軟件;點(diǎn)擊“歸位”使其“系統(tǒng)”回到初始位置;通過移動(dòng)相應(yīng)的滾動(dòng)條設(shè)置單擺的起始角度0為4o,擺長(zhǎng)l為3m,以及小球質(zhì)量m為40kg。(運(yùn)行結(jié)果如圖4—5所示)在本文中,單擺的循環(huán)是通過改變坐標(biāo)來實(shí)現(xiàn)單擺的循環(huán),每一個(gè)時(shí)刻下都有一個(gè)坐標(biāo)與之對(duì)應(yīng),改變Line3(擺線)的x1和y2屬性值,同時(shí)相應(yīng)改變Shapel(擺球)的Left和Top屬性值。分析如圖5所示,以o為原點(diǎn),水平向右為x軸,豎直向下為y軸,建立直角坐標(biāo)系。其中,o(x,j),p(x,j),擺長(zhǎng)為I,起2211始角度為0。p(氣,j1)隨時(shí)間的變化就會(huì)引起模擬單擺實(shí)驗(yàn)的運(yùn)動(dòng),實(shí)現(xiàn)單擺模/////匕0%/^///9■y9圖6分析圖示型的可視化。對(duì)P點(diǎn)的坐標(biāo)進(jìn)行分析可以得到:x=x—lsin9,j=j+1cos9在VisualBasic軟件中應(yīng)用If???Then???Els[2]這種條件語句,設(shè)計(jì)為塊結(jié)構(gòu)格式:If條件Then語句塊1Else語句塊2EndIf在Timerl下進(jìn)行事件驅(qū)動(dòng),其循環(huán)程序代碼為:PrivateSubTimer1_Timer()DimX1AsIntegerDimY1AsIntegerIfk=TrueThenLine3.X1=Line3.X2-Sin(i*pi/180)*HScroll2.ValueLine3.Y1=Line3.Y2+Cos(i*pi/180)*HScroll2.Valuei=i-5Ifi<-HScroll1.ValueThenk=FalseEndIfElseIfk=FalseThenLine3.X1=Line3.X2-Sin(i*pi/180)*HScroll2.ValueLine3.Y1=Line3.Y2+Cos(i*pi/180)*HScroll2.Valuei=i+5Ifi>HScroll1.ValueThenk=TrueIfTimer1.Tag>"60"Then'計(jì)時(shí)一小時(shí)Timer1.Tag="0"ElseTimer1.Tag=Trim(Str(Val(Timer1.Tag)+1))EndIfEndIfEndIfShape1.Left=Line3.X1Shape1.Top=Line3.Y1EndSub慢鏡頭用于控制單擺速度,可以便于觀察單擺運(yùn)動(dòng)的特征,計(jì)時(shí)器記錄了單擺運(yùn)動(dòng)的整個(gè)時(shí)間,通過計(jì)算器計(jì)算在一定的起始角度0,擺長(zhǎng)l,以及小球質(zhì)量m下單擺運(yùn)動(dòng)的周期,T=2兀,—=2兀[1](4)k\:g在此軟件中的程序代碼為:PrivateSubCommand5_Click()'計(jì)算周期t=2*pi*Sqr(Val(HScroll2.Value)/9.8)Text2.Text=Int(t*10000)/10000&'秒”EndSub本文應(yīng)用VisualBasic的Pset(畫點(diǎn))⑵圖形方法在圖片框(Picture2)中繪制單擺振動(dòng)的簡(jiǎn)單圖形,由振動(dòng)位移公式x-Acos(wt+中)[1](5)
其中X其中X表示在此軟件中單擺運(yùn)動(dòng)的水平位移,A表示單擺運(yùn)動(dòng)的振幅,…——一”一一、,一、2兀一、,一,、(A=lsin0,0是單擺的起始角度,l是擺長(zhǎng)),頻率w=——,中是初相位0(平=——x兀),t是單擺運(yùn)動(dòng)的時(shí)間。以單擺運(yùn)動(dòng)的時(shí)間t為橫軸,單擺在水平180方向的位移X為縱軸,建立平面直角坐標(biāo)系,按時(shí)間和位移的關(guān)系繪圖,其程序代碼為:PrivateSubCommand4_Click()Picture2.ClsShow'規(guī)定作圖范圍Picture2.Scale(-5,3)-(100,-3)Picture2.Line(0,0)-(90,0)'建立橫軸'規(guī)定作圖范圍Picture2.Line(0,0)-(90,0)'建立縱軸(x)Picture2.Line'建立縱軸(x)Fori=1ToVal(Label6.Caption)Picture2.PSet(i/10,Val(HScroll2.Value)*Sin(Val(HScroll1.Value)/180*pi)*(t,x)關(guān)系Cos((2*pi/t)*(i/100)-(t,x)關(guān)系NextiEndSub通過Command4來控制,首先在Picture2中規(guī)定作圖范圍,建立合適的坐標(biāo)系,再應(yīng)用Pset(畫點(diǎn))圖形方法在此坐標(biāo)系上畫出圖形。組裝調(diào)試制作完成之后要反復(fù)運(yùn)行調(diào)試,以檢查是否到達(dá)預(yù)期的設(shè)計(jì)要求。VisualBasic除了具有“設(shè)置斷點(diǎn)”,“單步執(zhí)行”,“顯示內(nèi)存變量”等一般排錯(cuò)功能以外,還有“編輯后繼續(xù)運(yùn)行”,“設(shè)置下一個(gè)執(zhí)行語句”等特殊功能,幫助你深入了解程序運(yùn)行情況,可以逐步進(jìn)行檢查。運(yùn)行軟件,點(diǎn)擊“歸位”按鈕,移動(dòng)滾動(dòng)條輸入例1中所給出的數(shù)值,各相應(yīng)控件發(fā)生同步變化,點(diǎn)擊“開始”按鈕,可以看到模擬單擺模型運(yùn)動(dòng),同時(shí)計(jì)時(shí)器觸發(fā)開始計(jì)時(shí),一點(diǎn)時(shí)間后點(diǎn)擊“暫?!卑粹o,同時(shí)計(jì)時(shí)器觸發(fā)停止計(jì)時(shí),可以點(diǎn)擊“計(jì)算”顯示在例1條件下的單擺周期。(如圖7—9所示)
圖8運(yùn)行結(jié)果圖9—1運(yùn)行結(jié)果在運(yùn)行軟件時(shí),其中的點(diǎn)擊控件“計(jì)算周期”這一步驟很容易忽略。為了避免這種情況可將程序設(shè)計(jì)為點(diǎn)擊“開始”時(shí)對(duì)應(yīng)的文本框顯示“單擺周期”??梢栽凇伴_始”按鈕中實(shí)現(xiàn)這一功能。其代碼如下,運(yùn)行結(jié)果如圖9—2所示。'設(shè)置開始暫停按鈕'設(shè)置0.1'設(shè)置開始暫停按鈕'設(shè)置0.1秒計(jì)時(shí)器觸發(fā)一次'慢鏡頭Timerl.Interval=100Timer2.Interval=10IfCheck1.Value=1ThenTimer1.Interval=250EndIfIfCommand2.Caption=〃開始〃ThenCommand2.Caption=〃暫?!═imer1.Enabled=TrueTimer2.Enabled=TrueElse
Command2.Caption=〃開始〃Timerl.Enabled=FalseTimer2.Enabled=FalseEndIf'計(jì)算周期,a=2*pi*Sqr(Val(HScroll2.Value)/9.8)'Text2.Text=Int(a*10000)/10000&〃秒〃'計(jì)算周期EndSub其操作步驟為(如圖10所示):運(yùn)行|二>|歸位顯示曲線運(yùn)行軟件對(duì)實(shí)驗(yàn)進(jìn)行模擬研究單擺周期T和小球質(zhì)量m,擺長(zhǎng)l,起始擺角。之間的關(guān)系。取任意起始擺角6(9<5o),擺長(zhǎng)l(m),小球質(zhì)量m(kg),重力加速度g=9.8mS2進(jìn)行實(shí)驗(yàn),記錄數(shù)據(jù)并進(jìn)行比較。7.1單擺周期T和小球質(zhì)量m的關(guān)系給定擺長(zhǎng)l,起始擺角9(l=4m,9=4.25。),取小球質(zhì)量m=20kg、40kg、60kg,進(jìn)行模擬實(shí)驗(yàn)。(如圖11-13所示)圖11運(yùn)行結(jié)果圖13運(yùn)行結(jié)果記錄數(shù)據(jù)(如表1所示):表1單擺周期T和小球質(zhì)量m的關(guān)系小球質(zhì)量(kg)204060單擺周期(s)4.01414.01414.0141通過記錄的數(shù)據(jù)顯示,小球質(zhì)量m增大時(shí),單擺周期T無變化,即單擺周期T和小球質(zhì)量m線性無關(guān),可以得到單擺周期T與小球質(zhì)量m無關(guān)。7.2單擺周期T和起始擺角0的關(guān)系給定擺長(zhǎng)l,小球質(zhì)量m(l=3m,m=55kg),取起始擺角0=3。,3.75。,5。,進(jìn)行模擬實(shí)驗(yàn)。(如圖14-16所示)圖14運(yùn)行結(jié)果圖15運(yùn)行結(jié)果圖16運(yùn)行結(jié)果記錄數(shù)據(jù)(如表2所示):表2單擺周期T和起始擺角6的關(guān)系起始擺角(。)33.755單擺周期(s)3.47633.47633.4763通過記錄的數(shù)據(jù)顯示,起始擺角。增大時(shí),單擺周期T無變化,即單擺周期T和起始擺角6線性無關(guān),可以得到單擺周期T與起始擺角6無關(guān)。7.3單擺周期T和擺長(zhǎng)l的關(guān)系給定小球質(zhì)量m,起始擺角6(6=4o,m=75kg),取起始擺角l=3m,4m,5m,進(jìn)行模擬實(shí)驗(yàn)。(如圖17-19所示)
圖17運(yùn)行結(jié)果圖18運(yùn)行結(jié)果
圖19運(yùn)行結(jié)果記錄數(shù)據(jù)(如表3所示):表3單擺周期T和擺長(zhǎng)l的關(guān)系擺長(zhǎng)(m)345單擺周期(s)3.47634.01414.4879通過記錄的數(shù)據(jù)顯示,擺長(zhǎng)l增大時(shí),單擺周期T隨著增大,即單擺周期T和擺長(zhǎng)l線性相關(guān),可以得到單擺周期T與擺長(zhǎng)l相關(guān)。結(jié)果與討論本文把VisualBasic程序設(shè)計(jì)與模擬物理實(shí)驗(yàn)相結(jié)合,以理想物理模型中的單擺為例,實(shí)現(xiàn)了VisualBasic程序?qū)ξ锢砟P偷目梢暬_\(yùn)用VisualBasic中提供的多任務(wù)、多文檔界面(MDI)、對(duì)象的鏈接與嵌入(OLE)、動(dòng)態(tài)數(shù)據(jù)交換、動(dòng)態(tài)鏈接庫(DLL)、子程序的調(diào)用[2等工具。在使用VisualBasic程序處理問題時(shí),對(duì)程序中的變量定義了相應(yīng)的數(shù)據(jù)類型,并且運(yùn)用算術(shù)函數(shù)進(jìn)行數(shù)值計(jì)算。命名按鈕、標(biāo)簽和文本框構(gòu)成用戶界面的基本元素,各控件的屬性、事件和方法,設(shè)計(jì)出符合要求的應(yīng)用程序。參考《普通物理學(xué)教程力學(xué)》第二版中的簡(jiǎn)諧振動(dòng)的x—t圖線,結(jié)合理想單擺實(shí)驗(yàn)建立起初步的物理模型,x—t的函數(shù)關(guān)系x=Acos(似+中)[1]作出位移時(shí)間圖像,應(yīng)用T=2兀,'m=2兀[1]周期關(guān)系式計(jì)算出不同擺長(zhǎng)下單擺的周k\g期。并運(yùn)用設(shè)計(jì)的軟件探究了單擺周期T和小球質(zhì)量m,擺長(zhǎng)1,起始擺角。之間的關(guān)系。設(shè)計(jì)單擺的循環(huán)VisualBasic語言是此程序的重點(diǎn),在本文中應(yīng)用的是If...Then...Else⑵這種條件語句,設(shè)計(jì)為塊結(jié)構(gòu)格式:If條件Then語句塊1Else語句塊2EndIf其功能是首先測(cè)試條件,如果條件成立(值為真),執(zhí)行Then后的語句塊1;如果條件不成立(值為假),執(zhí)行Else后面的語句塊2。在執(zhí)行Then或Else之后的語句塊后,會(huì)從EndIf之后的語句繼續(xù)執(zhí)行。在本文的程序中,運(yùn)行單擺模擬實(shí)驗(yàn)只能記錄下擺球的位移,不能實(shí)現(xiàn)圖像隨運(yùn)動(dòng)的同步變化,即該時(shí)刻下的振動(dòng)曲線。單擺的回復(fù)力由重力的切向分量提供,根據(jù)牛頓第二定律:m^^=-kx[1](6)d2tk用m除上式兩端,并令-=巧2[1]就有mo+w2x=0[1](7)d2to單擺是用不可伸長(zhǎng)的輕線懸掛一小球,將小球是為質(zhì)點(diǎn),它受重力與懸線拉力的合力作用,質(zhì)點(diǎn)在豎直面內(nèi)沿圓弧擺動(dòng),且擺動(dòng)中相對(duì)于懸線豎直位置的角位移6很小。分析質(zhì)點(diǎn)沿運(yùn)動(dòng)方向所受的力為切向力F=mgsin0⑴,且總指向9=0這個(gè)平衡位置。sin9=9-03+生-⑶。當(dāng)角位移6很小時(shí),略去級(jí)數(shù)展3!5!
開式中的高次項(xiàng),sin0^0⑶,切向力F=-mgQ⑴,切向力與角位移反號(hào),促使質(zhì)點(diǎn)返回平橫位置。設(shè)擺長(zhǎng)為l則(8)(9)m、=-mg0,主=-g0,[1]d2d2l令(8)(9)lo+W20=0[1]d2to而常微分方程竺+W2X=0⑶的解為d2toX=Acos(wt+a)[1](10)o位移和時(shí)間的關(guān)系函數(shù),就可以用VisualBasic語言在時(shí)鐘控件下設(shè)置循環(huán)程序,并且可以實(shí)現(xiàn)運(yùn)動(dòng)與振動(dòng)曲線的同步變化,還可以作出相位變化圖。在本文中把作圖程序放在時(shí)鐘控件下與單擺循環(huán)同時(shí)觸發(fā)方能實(shí)現(xiàn)運(yùn)動(dòng)與振動(dòng)曲線的同步變化。參考文獻(xiàn)[1]漆安慎,杜嬋英.普通物理學(xué)教程力學(xué)第二版[M]高等教育出版社,2005.⑵林卓然.VisualBasic程序設(shè)計(jì)教程[M]電子工業(yè)出版社,2005.[3]四川大學(xué)數(shù)學(xué)系高等數(shù)學(xué)微分方程教研室.高等數(shù)學(xué)[M]高等教育出版社,2008.程序代碼:OptionExplicitConstpi=3.1415926DimlAsInteger'定義擺長(zhǎng)DimiAsInteger'定義起始角度DimkAsBooleanDimsssAsLong,hhAsInteger,ssAsInteger,mmAsInteger'定義時(shí)鐘DimaAsSingle'定義周期DimbAsInteger'定義運(yùn)動(dòng)時(shí)間PrivateSubCommand1_Click()'歸位Line3.X1=Line3.X2:Line3.Y1=Val(HScroll2.Value):Line3.X2=Line3.X2:Line3.Y2=Line3.Y2Shape1.Left=Line3.X2-0.15:Shape1.Top=Val(HScroll2.Value)ss=Format(0,"00"):hh=Format(0,"00"):mm=Format(0,"00")sss=0Label6.Caption=""Label7.Caption=hh&":"&mm&":"&Format(sss/100,"00.00")Label8.Caption=""Label9.Caption=""Text2.Text=""Picture2.ClsHScroll1.Value=0HScroll2.Value=1HScroll3.Value=20Text3.Text=0&"度"EndSubPrivateSubCommand2_Click()'設(shè)置開始暫停按鈕'sss=0'開始計(jì)時(shí)清零
Timerl.Interval=Timerl.Interval=100'設(shè)置0.1秒計(jì)時(shí)器觸發(fā)一次Timer2.Interval=10IfCheckl.Value=1ThenTimerl.Interval=250EndIfIfCommand2.Caption="開始"ThenCommand2.Caption="暫停"Timer1.Enabled=TrueTimer2.Enabled=TrueElseCommand2.Caption="開始"Timer1.Enabled=FalseTimer2.Enabled=FalseEndIfa=2*pi*Sqr(Val(HScroll2.Value)/9.8)Text2.Text=Int(a*10000)/10000&'秒"Label8.Caption="x"Label9.Caption="t"Picture2.ClsShow'規(guī)定作圖范圍'建立橫軸(t)'規(guī)定作圖范圍'建立橫軸(t)'建立縱軸(x)Picture2.Line(0,0)-(90,0)Picture2.Line(0,2.8)-(0,-2.8)Forb=0ToVal(Label6.Caption)Picture2.PSet(b/10,Val(HScroll2.Value)*Sin(Val(HScroll1.Value)/180*pi)*Cos((2*pi/a)*(b/100)))'(t,x)關(guān)系NextbEndSub'設(shè)置曲線PrivateSubCommand4_Click()'設(shè)置曲線'Label8.Caption="x"'Label9.Caption="t"'Picture2.Cls'Show'Picture2.Scale(-5,3)-(100,-3)'規(guī)定作圖范圍'Picture2.Line(0,0)-(90,0)'建立橫軸(t)'Picture2.Line(0,2.8)-(0,-2.8)'建立縱軸(x)'Forb=0ToVal(Label6.Caption)'Picture2.PSet(b/10,Val(HScroll2.Value)*Sin(Val(HScroll1.Value)/180*pi)*Cos((2*pi/a)*(b/100)))'(t,x)關(guān)系'NextbEndSubPrivateSubCommand5_Click()'計(jì)算周期'a=2*pi*Sqr(Val(HScroll2.Value)/9.8)'Text2.Text=Int(a*10000)/10000&'秒”EndSubPrivateSubForm_Load()'設(shè)置坐標(biāo)原點(diǎn)Picture1.ScaleLeft=-Line3.X2Picture1.ScaleTop=-Line3.Y2EndSubPrivateSubHScroll1_Change()HScroll1.Min=0HScroll1.Max=20HScroll1.SmallChange=1HScroll1.LargeChange=1Text3.Text=HScroll1.Value/4&度”Shape1.Left=HScroll2.Value*Sin(Val(HScroll1.Value)/180*pi)Shape1.Width/2Shape1.Top=HScroll2.Value*Cos(Val(HScroll1.Value)/180*pi)Line3.X1=HScroll2.Value*Sin(Val(HScroll1.Value)/180*pi)Line3.Y1=HScroll2.Value*Cos(Val(HScroll1.Value)/180*pi)EndSubPrivateSubHScroll2_Change()'設(shè)置擺長(zhǎng)HScroll2.Min=1HScroll2.Max=5HScroll2.SmallChange=1HScroll2.LargeChange=1Text4.Text=Val(HScroll2.Value)&米"Line3.X1=Val(HScroll2.Value)*Sin(Val(HScroll1.Value)/180*pi)Line3.Y1=Val(HScroll2.Value)*Cos(Val(HScroll1.Value)/180*pi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)環(huán)境下商業(yè)模式的創(chuàng)新探討
- 2026年軟件測(cè)試技術(shù)專業(yè)考試題目及答案解析
- 節(jié)日消防安全宣傳方案
- 大葉性肺炎患者的舒適護(hù)理
- 2026年湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考試題含詳細(xì)答案解析
- 2026年內(nèi)蒙古交通職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試模擬試題含詳細(xì)答案解析
- 2026年河南檢察職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考試題及答案詳細(xì)解析
- 2026年山西運(yùn)城農(nóng)業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試模擬試題含詳細(xì)答案解析
- 2026年畢節(jié)醫(yī)學(xué)高等??茖W(xué)校單招綜合素質(zhì)筆試備考題庫含詳細(xì)答案解析
- 2026黑龍江哈爾濱啟航勞務(wù)派遣有限公司派遣到哈爾濱工業(yè)大學(xué)先進(jìn)技術(shù)研究院招聘考試參考試題及答案解析
- 安全生產(chǎn)目標(biāo)及考核制度
- (2026版)患者十大安全目標(biāo)(2篇)
- 2026年北大拉丁語標(biāo)準(zhǔn)考試試題
- 臨床護(hù)理操作流程禮儀規(guī)范
- 2025年酒店總經(jīng)理年度工作總結(jié)暨戰(zhàn)略規(guī)劃
- 空氣栓塞課件教學(xué)
- 2025年國家市場(chǎng)監(jiān)管總局公開遴選公務(wù)員面試題及答案
- 肌骨康復(fù)腰椎課件
- 患者身份識(shí)別管理標(biāo)準(zhǔn)
- 2025年10月自考04184線性代數(shù)經(jīng)管類試題及答案含評(píng)分參考
- 2025年勞動(dòng)保障協(xié)理員三級(jí)技能試題及答案
評(píng)論
0/150
提交評(píng)論