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