利用VC++模擬示波器實(shí)現(xiàn)簡(jiǎn)諧振動(dòng)的合成
0 引言
Visubl C++是一個(gè)功能強(qiáng)大的面向?qū)ο蟮目梢暬浖_(kāi)發(fā)工具,它是一個(gè)基于windows操作系統(tǒng)的可視化集成開(kāi)發(fā)環(huán)境。ViSUal C++中包括的編輯器、調(diào)試器以及AppWizard、Class Wizard等開(kāi)發(fā)工具,大大減輕了編程的工作量。在Visual c++環(huán)境下,用戶可以較好地實(shí)現(xiàn)用戶界面的設(shè)計(jì)、圖形圖像處理、網(wǎng)絡(luò)、通訊、多媒體、數(shù)據(jù)庫(kù)的使用等方面的編程[1]。在物理教學(xué)中,簡(jiǎn)諧振動(dòng)的合成是必要的,其演示一般是通過(guò)函數(shù)信號(hào)發(fā)生器與示波器來(lái)實(shí)現(xiàn)的[2]。在利用示波器觀察簡(jiǎn)諧振動(dòng)的合時(shí),其圖形的穩(wěn)定性極易受到信號(hào)干擾的影響,特別在是觀察李薩如圖形時(shí),很難調(diào)節(jié)其穩(wěn)定性。針對(duì)其不足,本文提出了用Visual C++編程來(lái)演示簡(jiǎn)諧振動(dòng)的合成。連續(xù)、動(dòng)態(tài)的圖形效果,不但可以加深學(xué)生的對(duì)各種簡(jiǎn)諧振動(dòng)合成的理解,還可提高學(xué)生的學(xué)習(xí)興趣。
1 簡(jiǎn)諧振動(dòng)合成的原理
簡(jiǎn)諧振動(dòng)是最基本最簡(jiǎn)單的振動(dòng),在實(shí)際問(wèn)題中,常會(huì)遇到一個(gè)質(zhì)點(diǎn)同時(shí)參與幾個(gè)振動(dòng)的情況,即振動(dòng)的合成。振動(dòng)合成問(wèn)題比較復(fù)雜,一般只研究幾種簡(jiǎn)單情況簡(jiǎn)諧振動(dòng)的合成[3]。
1.1 同方向簡(jiǎn)諧振動(dòng)的合成
同方向的兩個(gè)簡(jiǎn)諧振動(dòng)的合成可分為同頻率與不同頻率的兩種情況。
(1) 同方向、同頻率的簡(jiǎn)諧振動(dòng)的合成。
兩個(gè)簡(jiǎn)諧振動(dòng)的表達(dá)式分別為:x1=A1cos(2πft+φ10)和x2=A2cos(2πft+φ20),其中A1、A2、φ10、φ20、f分別表示兩者振動(dòng)的振幅、初相位和頻率。則其合振動(dòng)為:
(2)同方向、不同頻率的簡(jiǎn)諧振動(dòng)的合成
兩個(gè)簡(jiǎn)諧振動(dòng)的表達(dá)式分別為x1=A1cos(2πf1t+φ10)和x2=A2cos(2πf2t+φ20),若.A1=A2=A,則其合振動(dòng)為:
1.2 相互垂直簡(jiǎn)諧振動(dòng)的合成
(1)相互垂直、同頻率的簡(jiǎn)諧振動(dòng)的合成
兩個(gè)簡(jiǎn)諧振動(dòng)的表達(dá)式分別為:x=A1cos(2πft+φ10和y=A2cos(2πft+φ20)。消去t,得軌跡方程:
(2) 相互垂直、不同頻率的簡(jiǎn)諧振動(dòng)的合成
如果兩個(gè)振動(dòng)的頻率有很小的差異,相位差不是定值,合運(yùn)動(dòng)的軌跡是變化的。如果兩個(gè)振動(dòng)的頻率相差很大,并有簡(jiǎn)單的整數(shù)比值關(guān)系,可得到穩(wěn)定的運(yùn)動(dòng)軌跡曲線即李薩如圖形。在李薩如圖形中,作與x、y軸平行的直線,兩線與李薩如圖形最大交點(diǎn)的個(gè)數(shù)比與對(duì)應(yīng)的頻率比成反比,由此可求一振動(dòng)的未知頻率。
2 VC++的模擬實(shí)現(xiàn)
2.1 程序的設(shè)計(jì)框圖
根據(jù)功能可設(shè)計(jì)如下功能:
圖1.簡(jiǎn)諧振動(dòng)合成演示程序的設(shè)計(jì)框圖
2.2 圖形的合成實(shí)現(xiàn)
根據(jù)簡(jiǎn)諧振動(dòng)合成的功能分析,用戶界面可分成同方向和垂直方向合成兩部分,每一部分都包括數(shù)據(jù)輸入及圖形的顯示。
(1)數(shù)據(jù)的輸入
分振動(dòng)各數(shù)據(jù)(振幅A,、A2,頻率f1、f2,初相位φ10、φ20)的輸入是通過(guò)編輯控件及微調(diào)控件實(shí)現(xiàn),兩振動(dòng)的初相差還可通過(guò)滑動(dòng)條的移動(dòng)來(lái)設(shè)置,操作簡(jiǎn)單方便,如圖2、4所示。
(2)圖形的顯示
在同方向振動(dòng)中,當(dāng)兩振動(dòng)為同頻率時(shí),若輸入的數(shù)據(jù)為:A1=2m,f1=2Hz,.A2=2m,φ10=0,f2=2Hz,φ20=1.57rad(即π/2),便顯示合振動(dòng)的數(shù)據(jù)為:A=2.82955m,f=2Hz,φ0=o.785rad,如圖2所示。并用不同的顏色顯示兩分振動(dòng)與合振動(dòng)圖形。圖中黑色曲線為合成圖形,紅色表示振動(dòng)1,綠色表示振動(dòng)2。當(dāng)兩振動(dòng)為不同頻率時(shí),若輸入的數(shù)據(jù)為:A1=2m,f1=100Hz,φ10=0,A2=2m,f2=90Hz,φ20=2.61667rad,這種情況圖形合成后產(chǎn)生拍現(xiàn)象。由.f拍=|f2-f1|,顯示合振動(dòng)的拍頻為lOHz,如圖3所示。圖中黑色曲線為合成的拍現(xiàn)象。
在垂直方向振動(dòng)中,若輸入的數(shù)據(jù)為:A1=2m,f1=2Hz,φ10=0,A2=2m,f2=3Hz,φ20=2.355rad,便可觀察到如圖4所示的李薩如圖形(藍(lán)色曲線)。對(duì)李薩如圖形,還可通過(guò)鼠標(biāo)左、右鍵做輔助線,來(lái)驗(yàn)證交點(diǎn)與頻率比之間的關(guān)系。與X軸平行的(綠)線,與圖形最多交點(diǎn)個(gè)數(shù)為6,與y軸平行的(藍(lán))線,與圖形最多交點(diǎn)個(gè)數(shù)為4,兩交點(diǎn)個(gè)數(shù)比3:2與兩兩分振動(dòng)的頻率比f(wàn)1:f2=2:3成反比。通過(guò)滑動(dòng)條動(dòng)態(tài)的改變兩分振動(dòng)的初相差,可以使得圖像的呈現(xiàn)連續(xù)動(dòng)態(tài)變化的效果。
2.3 主程序
(1)同方向振動(dòng)的合成
3 結(jié)論
簡(jiǎn)諧振動(dòng)的合成是機(jī)械振動(dòng)的主要內(nèi)容,具有一定的實(shí)用性。使用VC++編程,可更形象、生動(dòng)地顯示簡(jiǎn)諧振動(dòng)合成。當(dāng)通過(guò)微調(diào)控件來(lái)動(dòng)態(tài)的改變兩分振動(dòng)的初相差時(shí),還可實(shí)現(xiàn)合成圖形的動(dòng)態(tài)變化。程序中還可進(jìn)行簡(jiǎn)單的數(shù)據(jù)處理,操作簡(jiǎn)單方便。該程序可用于課堂教學(xué)中,能激發(fā)學(xué)生的學(xué)習(xí)興趣,并能加深學(xué)生對(duì)不同情況的簡(jiǎn)諧振動(dòng)合成的理解。
來(lái)源:角色0次