国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

勻速圓周運(yùn)動(dòng)的相對(duì)運(yùn)動(dòng)演示軟件設(shè)計(jì)*

2018-10-10 07:15:32王超陳攀杰周艷麗
物理通報(bào) 2018年10期
關(guān)鍵詞:勻速圓周質(zhì)點(diǎn)圓心

王超 陳攀杰 周艷麗

(臺(tái)州學(xué)院物理系 浙江 臺(tái)州 318000)

1 引言

圓周運(yùn)動(dòng)是中學(xué)物理以及大學(xué)物理力學(xué)部分中一種重要的曲線運(yùn)動(dòng),其在現(xiàn)實(shí)生活中非常常見(jiàn),如輪子繞軸的轉(zhuǎn)動(dòng)、圓錐擺的運(yùn)動(dòng)、衛(wèi)星繞地球的轉(zhuǎn)動(dòng)等.通常我們只討論一個(gè)物體的圓周運(yùn)動(dòng)[1~5],但有時(shí)會(huì)遇到兩個(gè)都做圓周運(yùn)動(dòng)的物體的相對(duì)運(yùn)動(dòng)問(wèn)題,如:地球表面的人觀察地球衛(wèi)星的運(yùn)動(dòng)(人和衛(wèi)星都繞地心做圓周運(yùn)動(dòng)),或者太陽(yáng)系中其他行星相對(duì)地球的運(yùn)動(dòng)(地球和其他行星都近似繞太陽(yáng)做圓周運(yùn)動(dòng)),地球衛(wèi)星間的相對(duì)運(yùn)動(dòng)等[6].相對(duì)運(yùn)動(dòng)問(wèn)題是力學(xué)部分的難點(diǎn),其往往與坐標(biāo)系的選取有關(guān).以xOy平面內(nèi)做圓周運(yùn)動(dòng)的A,B兩質(zhì)點(diǎn)為例,當(dāng)我們討論B相對(duì)于A的運(yùn)動(dòng)時(shí),需要以A為原點(diǎn)建立二維直角坐標(biāo)系(x′Ay′)并在該坐標(biāo)系中討論B的運(yùn)動(dòng).坐標(biāo)系x′Ay′隨A點(diǎn)一起運(yùn)動(dòng),若x′軸和y′軸始終分別與基坐標(biāo)系的x軸和y軸平行,則稱x′Ay′系為平動(dòng)坐標(biāo)系;若x′軸和y′軸繞A點(diǎn)轉(zhuǎn)動(dòng),則稱x′Ay′系為轉(zhuǎn)動(dòng)坐標(biāo)系[7].在不同的坐標(biāo)系中,B相對(duì)于A的運(yùn)動(dòng)軌跡往往不同.例如:我們?cè)诘厍虮砻嬗^察赤道上空地球同步衛(wèi)星的運(yùn)動(dòng),在轉(zhuǎn)動(dòng)坐標(biāo)系中,衛(wèi)星相對(duì)于我們靜止,而在平動(dòng)坐標(biāo)系中衛(wèi)星則相對(duì)于我們不停地運(yùn)動(dòng).

本文基于Visual Basic語(yǔ)言開(kāi)發(fā)出用于演示二維平面內(nèi)兩個(gè)做勻速圓周運(yùn)動(dòng)的質(zhì)點(diǎn)的相對(duì)運(yùn)動(dòng)軌跡的仿真軟件,利用該軟件可以直觀演示任意參數(shù)條件下做勻速圓周運(yùn)動(dòng)兩質(zhì)點(diǎn)在平動(dòng)坐標(biāo)系和轉(zhuǎn)動(dòng)坐標(biāo)系中的相對(duì)運(yùn)動(dòng)軌跡.

2 理論模型

假定兩個(gè)質(zhì)點(diǎn)1和2在基坐標(biāo)系xOy平面內(nèi)各自沿逆時(shí)針做勻速圓周運(yùn)動(dòng),圓心坐標(biāo)分別為(x01,y01)和(x02,y02),半徑分別為R1和R2,角速度分別為ω1和ω2,t= 0時(shí)刻兩質(zhì)點(diǎn)到圓心的連線與Ox軸的夾角分別為α1和α2,則任意t時(shí)刻兩個(gè)質(zhì)點(diǎn)在xOy平面內(nèi)的坐標(biāo)可表示為

(1)

(2)

若以質(zhì)點(diǎn)1為坐標(biāo)原點(diǎn)建立平動(dòng)坐標(biāo)系x1O1y1,如圖1(a)所示,則質(zhì)點(diǎn)2相對(duì)于質(zhì)點(diǎn)1的坐標(biāo)可表示為

(3)

同理,以質(zhì)點(diǎn)2為坐標(biāo)原點(diǎn)建立平動(dòng)坐標(biāo)系x2O2y2,如圖1(a)所示,則質(zhì)點(diǎn)1相對(duì)于質(zhì)點(diǎn)2的坐標(biāo)可表示為

(4)

對(duì)比式(3)和式(4)不難得到

(5)

(6)

(7)

圖1 平動(dòng)坐標(biāo)系和轉(zhuǎn)動(dòng)坐標(biāo)系示意圖

當(dāng)ω1=ω2時(shí),即ω1∶ω2= 1∶1,根據(jù)上述公式可以證明:無(wú)論是在平動(dòng)坐標(biāo)系或是在轉(zhuǎn)動(dòng)坐標(biāo)系,兩個(gè)質(zhì)點(diǎn)的相對(duì)運(yùn)動(dòng)軌跡都為圓(圓周半徑R的大小與x01,y01,x02,y02,R1,R2,α1和α2有關(guān),而且在某些特殊條件下R= 0,即質(zhì)點(diǎn)相對(duì)靜止).考慮到推導(dǎo)過(guò)程和最終表達(dá)式非常繁瑣,這里不再列出.當(dāng)ω1≠ω2時(shí),兩個(gè)質(zhì)點(diǎn)的相對(duì)運(yùn)動(dòng)軌跡很難通過(guò)直接推導(dǎo)進(jìn)行表達(dá).本文基于VB語(yǔ)言根據(jù)式(1)~(7)求出任意t時(shí)刻兩個(gè)質(zhì)點(diǎn)在基坐標(biāo)系中的坐標(biāo)以及在平動(dòng)坐標(biāo)系和轉(zhuǎn)動(dòng)坐標(biāo)系中的相對(duì)坐標(biāo),繼而繪制并得到兩個(gè)質(zhì)點(diǎn)的相對(duì)運(yùn)動(dòng)軌跡.

3 基于VB語(yǔ)言的演示軟件設(shè)計(jì)

軟件程序分窗體和模塊兩部分.軟件將各種操作集中在一個(gè)窗體內(nèi),其中包含參數(shù)設(shè)置、命令按鈕和圖形輸出3個(gè)部分,如圖2所示.參數(shù)設(shè)置部分包含兩個(gè)質(zhì)點(diǎn)在基坐標(biāo)系中的圓心位置、圓周半徑、角速度、初始角度、計(jì)算時(shí)間間隔dt和計(jì)算次數(shù)Num等參數(shù);命令按鈕部分包含系統(tǒng)生成、開(kāi)始運(yùn)動(dòng)和結(jié)束程序3個(gè)按鈕;圖形輸出部分包含基坐標(biāo)系中兩個(gè)質(zhì)點(diǎn)的運(yùn)動(dòng)軌跡、平動(dòng)坐標(biāo)系和轉(zhuǎn)動(dòng)坐標(biāo)系中兩個(gè)質(zhì)點(diǎn)的相對(duì)運(yùn)動(dòng)軌跡等5個(gè)區(qū)域.軟件程序的執(zhí)行按照一定的流程進(jìn)行設(shè)計(jì),即首先進(jìn)行參數(shù)設(shè)置并點(diǎn)擊系統(tǒng)生成按鈕,程序在“基坐標(biāo)系中兩個(gè)質(zhì)點(diǎn)的運(yùn)動(dòng)軌跡”區(qū)域繪制兩個(gè)質(zhì)點(diǎn)的圓軌跡及初始位置;然后點(diǎn)擊開(kāi)始運(yùn)動(dòng)按鈕,程序?qū)膖= 0時(shí)刻開(kāi)始每間隔dt根據(jù)式(1)~(7)計(jì)算兩個(gè)質(zhì)點(diǎn)的位置,連續(xù)計(jì)算Num次,且每次計(jì)算都在圖形區(qū)域同步繪制質(zhì)點(diǎn)位置代表點(diǎn),從而獲得基坐標(biāo)系中兩個(gè)質(zhì)點(diǎn)的運(yùn)動(dòng)圖像以及兩個(gè)質(zhì)點(diǎn)間的相對(duì)運(yùn)動(dòng)的動(dòng)態(tài)軌跡;最后點(diǎn)擊結(jié)束程序,終止程序并關(guān)閉軟件,具體流程圖如圖3所示(程序代碼詳見(jiàn)附錄).

圖2 窗體界面

圖3 程序流程圖

4 演示結(jié)果舉例

作為例子,我們?cè)O(shè)定:質(zhì)點(diǎn)1的圓心位置(0, 0),半徑為1.0,初始角度為0;質(zhì)點(diǎn)2的圓心位置(0, 0),半徑為2,初始角度為0,即兩個(gè)質(zhì)點(diǎn)做同心轉(zhuǎn)動(dòng).我們發(fā)現(xiàn)質(zhì)點(diǎn)的相對(duì)運(yùn)動(dòng)軌跡形狀僅與兩個(gè)質(zhì)點(diǎn)圓周運(yùn)動(dòng)角速度比值有關(guān)而與角速度具體值無(wú)關(guān).表1給出了角速度比值ω1∶ω2分別為1∶1,1∶2和1∶3時(shí)兩質(zhì)點(diǎn)在平動(dòng)坐標(biāo)系和轉(zhuǎn)動(dòng)坐標(biāo)系中的相對(duì)運(yùn)動(dòng)軌跡圖及其對(duì)應(yīng)的軌跡方程.由圖可以看出,當(dāng)ω1∶ω2= 1∶1時(shí),相對(duì)運(yùn)動(dòng)軌跡圖形和方程都比較簡(jiǎn)單,而當(dāng)ω1∶ω2≠ 1∶1時(shí),相對(duì)運(yùn)動(dòng)軌跡圖形和方程都會(huì)隨ω1∶ω2的減小(或增大)變得越來(lái)越復(fù)雜.通常情況下,轉(zhuǎn)動(dòng)坐標(biāo)系中兩個(gè)質(zhì)點(diǎn)的相對(duì)運(yùn)動(dòng)軌跡形狀或大小不相同,而平動(dòng)坐標(biāo)系中兩個(gè)質(zhì)點(diǎn)的相對(duì)運(yùn)動(dòng)軌跡大小相同且形狀相似,這一特點(diǎn)可由式(5)直接得出.

表1質(zhì)點(diǎn)相對(duì)運(yùn)動(dòng)軌跡演示結(jié)果圖例

5 結(jié)論

圓周運(yùn)動(dòng)是物理力學(xué)部分常見(jiàn)的曲線運(yùn)動(dòng).本文基于VB語(yǔ)言開(kāi)發(fā)出用于演示二維平面內(nèi)做勻速圓周運(yùn)動(dòng)兩質(zhì)點(diǎn)的相對(duì)運(yùn)動(dòng)軌跡的仿真軟件.在任意給定參數(shù)條件下,利用該軟件可分別繪出平動(dòng)坐標(biāo)系和轉(zhuǎn)動(dòng)坐標(biāo)系中質(zhì)點(diǎn)的相對(duì)運(yùn)動(dòng)軌跡,從而形象直觀展現(xiàn)做勻速圓周運(yùn)動(dòng)兩質(zhì)點(diǎn)的相對(duì)運(yùn)動(dòng)規(guī)律.該軟件可用于教師課堂演示或?qū)W生課外自主演示,拓展圓周運(yùn)動(dòng)和相對(duì)運(yùn)動(dòng)知識(shí),使物理知識(shí)化抽象為形象生動(dòng),提高學(xué)生學(xué)習(xí)興趣和參與性.

附錄:VB程序代碼

Const unitlen1 = 500, unitlen2 = 300, boxxmax = 200, boxymax = 200, ntimemax = 1000000

Dim ntimereal As Long, ntime As Long, pdeltt As Long

Dim deltt As Double, pai As Double, i As Double, x01 As Double, y01 As Double, x02 As Double, y02 As Double, r1 As Double, r2 As Double, w1 As Double, w2 As Double, a1 As Double, a2 As Double, x1 As Double, x2 As Double, x12 As Double, x21 As Double, y1 As Double, y2 As Double, y12 As Double, y21 As Double, sx1 As Double, sx2 As Double, sx12 As Double, sx21 As Double, sy1 As Double, sy2 As Double, sy12 As Double, sy21 As Double, rx12 As Double, rx21 As Double, ry12 As Double, ry21 As Double, srx12 As Double, srx21 As Double, sry12 As Double, sry21 As Double, centerx1 As Double, centery1 As Double, centerx2 As Double, centery2 As Double, centerx3 As Double, centery3 As Double, centerx4 As Double, centery4 As Double, centerx5 As Double, centery5 As Double, deltt2 As Double, rtime As Double

'生成系統(tǒng)

Private Sub Command1_Click()

pai = 3.1415926

x01 = Val(Text1.Text)

y01 = Val(Text2.Text)

x02 = Val(Text3.Text)

y02 = Val(Text4.Text)

r1 = Val(Text5.Text)

r2 = Val(Text6.Text)

w1 = Val(Text7.Text)

w2 = Val(Text8.Text)

deltt = Val(Text9.Text)

ntimereal = Val(Text10.Text)

pdeltt = 100

a1 = Val(Text12.Text) * pai / 180

a2 = Val(Text13.Text) * pai / 180

deltt2 = deltt * deltt

centerx1 = Val(Picture1.Width) / 2

centery1 = Val(Picture1.Height) / 2

centerx2 = Val(Picture2.Width) / 2

centery2 = Val(Picture2.Height) / 2

centerx3 = Val(Picture3.Width) / 2

centery3 = Val(Picture3.Height) / 2

>centerx4 = Val(Picture4.Width) / 2

centery4 = Val(Picture4.Height) / 2

centerx5 = Val(Picture5.Width) / 2

centery5 = Val(Picture5.Height) / 2

x1 = x01 + r1 * Cos(a1)

y1 = y01 + r1 * Sin(a1)

x2 = x02 + r2 * Cos(a2)

y2 = y02 + r2 * Sin(a2)

x12 = x1 - x2

y12 = y1 - y2

x21 = -x12

y21 = -y12

rx12 = x12

ry12 = y12

rx21 = x21

ry21 = y21

sx01 = centerx1 + x01 * unitlen1

sy01 = centery1 - y01 * unitlen1

sx1 = centerx1 + x1 * unitlen1

sy1 = centery1 - y1 * unitlen1

sx02 = centerx1 + x02 * unitlen1

sy02 = centery1 - y02 * unitlen1

sx2 = centerx1 + x2 * unitlen1

sy2 = centery1 - y2 * unitlen1

sx12 = centerx2 + x12 * unitlen2

sy12 = centery2 - y12 * unitlen2

sx21 = centerx3 + x21 * unitlen2

sy21 = centery3 - y21 * unitlen2

srx12 = centerx4 + rx12 * unitlen2

sry12 = centery4 - ry12 * unitlen2

srx21 = centerx5 + rx21 * unitlen2

sry21 = centery5 - ry21 * unitlen2

Picture1.Cls

Picture2.Cls

Picture3.Cls

Picture4.Cls

Picture5.Cls

Picture1.FillColor = vbBlack

Picture1.FillStyle = 0

Picture1.Circle (sx01, sy01), 25, vbBlack

Picture1.FillColor = vbRed

Picture1.FillStyle = 1

Picture1.Circle (sx01, sy01), r1 * unitlen1, vbRed

Picture1.FillStyle = 0

Picture1.Circle (sx1, sy1), 100, vbRed

Picture1.FillColor = vbBlack

Picture1.FillStyle = 0

Picture1.Circle (sx02, sy02), 25, vbBlack

Picture1.FillColor = vbBlue

Picture1.FillStyle = 1

Picture1.Circle (sx02, sy02), r2 * unitlen1, vbBlue

Picture1.FillStyle = 0

Picture1.Circle (sx2, sy2), 100, vbBlue

Picture2.FillColor = vbRed

Picture2.FillStyle = 0

Picture2.Circle (sx12, sy12), 25, vbRed

Picture3.FillColor = vbBlue

Picture3.FillStyle = 0

Picture3.Circle (sx21, sy21), 25, vbBlue

Picture4.FillColor = vbRed

Picture4.FillStyle = 0

Picture4.Circle (srx12, sry12), 25, vbRed

Picture5.FillColor = vbBlue

Picture5.FillStyle = 0

Picture5.Circle (srx21, sry21), 25, vbBlue

End Sub

'開(kāi)始運(yùn)動(dòng)

Private Sub Command2_Click()

rtime = 0#

For ntime = 1 To ntimereal

rtime = rtime + deltt

x1 = x01 + r1 * Cos(w1 * rtime + a1)

y1 = y01 + r1 * Sin(w1 * rtime + a1)

x2 = x02 + r2 * Cos(w2 * rtime + a2)

y2 = y02 + r2 * Sin(w2 * rtime + a2)

x12 = x1 - x2

y12 = y1 - y2

rx12 = x12 * Cos(w2 * rtime) + y12 * Sin(w2 * rtime)

ry12 = -x12 * Sin(w2 * rtime) + y12 * Cos(w2 * rtime)

x21 = -x12

y21 = -y12

rx21 = x21 * Cos(w1 * rtime) + y21 * Sin(w1 * rtime)

ry21 = -x21 * Sin(w1 * rtime) + y21 * Cos(w1 * rtime)

If ntime Mod pdeltt = 0 Then

sx01 = centerx1 + x01 * unitlen1

sy01 = centery1 - y01 * unitlen1

sx1 = centerx1 + x1 * unitlen1

sy1 = centery1 - y1 * unitlen1

sx02 = centerx1 + x02 * unitlen1

sy02 = centery1 - y02 * unitlen1

sx2 = centerx1 + x2 * unitlen1

sy2 = centery1 - y2 * unitlen1

sx12 = centerx2 + x12 * unitlen2

sy12 = centery2 - y12 * unitlen2

sx21 = centerx3 + x21 * unitlen2

sy21 = centery3 - y21 * unitlen2

srx12 = centerx4 + rx12 * unitlen2

sry12 = centery4 - ry12 * unitlen2

srx21 = centerx5 + rx21 * unitlen2

sry21 = centery5 - ry21 * unitlen2

If ntime Mod 10000 = 0 Then

Picture1.Cls

Picture1.FillColor = vbBlack

Picture1.FillStyle = 0

Picture1.Circle (sx01, sy01), 25, vbBlack

Picture1.FillColor = vbRed

Picture1.FillStyle = 1

Picture1.Circle (sx01, sy01), r1 * unitlen1, vbRed

Picture1.FillStyle = 0

Picture1.Circle (sx1, sy1), 100, vbRed

Picture1.FillColor = vbBlack

Picture1.FillStyle = 0

Picture1.Circle (sx02, sy02), 25, vbBlack

Picture1.FillColor = vbBlue

Picture1.FillStyle = 1

Picture1.Circle (sx02, sy02), r2 * unitlen1, vbBlue

Picture1.FillStyle = 0

Picture1.Circle (sx2, sy2), 100, vbBlue

End If

Picture2.FillColor = vbRed

Picture2.FillStyle = 0

Picture2.Circle (sx12, sy12), 25, vbRed

Picture3.FillColor = vbBlue

Picture3.FillStyle = 0

Picture3.Circle (sx21, sy21), 25, vbBlue

Picture4.FillColor = vbRed

Picture4.FillStyle = 0

Picture4.Circle (srx12, sry12), 25, vbRed

Picture5.FillColor = vbBlue

Picture5.FillStyle = 0

Picture5.Circle (srx21, sry21), 25, vbBlue

End If

Next ntime

End Sub

'結(jié)束程序

Private Sub Command3_Click()

End

End Sub

猜你喜歡
勻速圓周質(zhì)點(diǎn)圓心
二次曲線的一個(gè)類似圓心的性質(zhì)
巧用“搬運(yùn)法”解決連續(xù)質(zhì)點(diǎn)模型的做功問(wèn)題
以圓周上一點(diǎn)為圓心作圓的圖的性質(zhì)及應(yīng)用
探討勻速圓周運(yùn)動(dòng)的多解問(wèn)題
質(zhì)點(diǎn)的直線運(yùn)動(dòng)
質(zhì)點(diǎn)的直線運(yùn)動(dòng)
水平面內(nèi)勻速圓周運(yùn)動(dòng)的四種模型解讀
勻速圓周運(yùn)動(dòng)中傳動(dòng)問(wèn)題分析
勻速網(wǎng)周運(yùn)動(dòng)的多解問(wèn)題剖析
Serret—Frenet公式與質(zhì)點(diǎn)的空間曲線運(yùn)動(dòng)
物理與工程(2014年5期)2014-02-27 11:23:15
平安县| 常熟市| 寿阳县| 班戈县| 深泽县| 建昌县| 仙桃市| 襄樊市| 高淳县| 汾西县| 赞皇县| 沿河| 临颍县| 遂昌县| 武强县| 山东| 咸宁市| 治多县| 监利县| 伊吾县| 奉新县| 昭苏县| 神池县| 江西省| 贺州市| 旬阳县| 嘉义市| 闻喜县| 涟水县| 怀宁县| 尤溪县| 台州市| 云和县| 海林市| 盖州市| 灵台县| 陵水| 博爱县| 环江| 新民市| 大埔县|