999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

勻速圓周運動的相對運動演示軟件設計*

2018-10-10 07:15:32王超陳攀杰周艷麗
物理通報 2018年10期
關鍵詞:按鈕程序

王超 陳攀杰 周艷麗

(臺州學院物理系 浙江 臺州 318000)

1 引言

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

本文基于Visual Basic語言開發出用于演示二維平面內兩個做勻速圓周運動的質點的相對運動軌跡的仿真軟件,利用該軟件可以直觀演示任意參數條件下做勻速圓周運動兩質點在平動坐標系和轉動坐標系中的相對運動軌跡.

2 理論模型

假定兩個質點1和2在基坐標系xOy平面內各自沿逆時針做勻速圓周運動,圓心坐標分別為(x01,y01)和(x02,y02),半徑分別為R1和R2,角速度分別為ω1和ω2,t= 0時刻兩質點到圓心的連線與Ox軸的夾角分別為α1和α2,則任意t時刻兩個質點在xOy平面內的坐標可表示為

(1)

(2)

若以質點1為坐標原點建立平動坐標系x1O1y1,如圖1(a)所示,則質點2相對于質點1的坐標可表示為

(3)

同理,以質點2為坐標原點建立平動坐標系x2O2y2,如圖1(a)所示,則質點1相對于質點2的坐標可表示為

(4)

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

(5)

(6)

(7)

圖1 平動坐標系和轉動坐標系示意圖

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

3 基于VB語言的演示軟件設計

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

圖2 窗體界面

圖3 程序流程圖

4 演示結果舉例

作為例子,我們設定:質點1的圓心位置(0, 0),半徑為1.0,初始角度為0;質點2的圓心位置(0, 0),半徑為2,初始角度為0,即兩個質點做同心轉動.我們發現質點的相對運動軌跡形狀僅與兩個質點圓周運動角速度比值有關而與角速度具體值無關.表1給出了角速度比值ω1∶ω2分別為1∶1,1∶2和1∶3時兩質點在平動坐標系和轉動坐標系中的相對運動軌跡圖及其對應的軌跡方程.由圖可以看出,當ω1∶ω2= 1∶1時,相對運動軌跡圖形和方程都比較簡單,而當ω1∶ω2≠ 1∶1時,相對運動軌跡圖形和方程都會隨ω1∶ω2的減小(或增大)變得越來越復雜.通常情況下,轉動坐標系中兩個質點的相對運動軌跡形狀或大小不相同,而平動坐標系中兩個質點的相對運動軌跡大小相同且形狀相似,這一特點可由式(5)直接得出.

表1質點相對運動軌跡演示結果圖例

5 結論

圓周運動是物理力學部分常見的曲線運動.本文基于VB語言開發出用于演示二維平面內做勻速圓周運動兩質點的相對運動軌跡的仿真軟件.在任意給定參數條件下,利用該軟件可分別繪出平動坐標系和轉動坐標系中質點的相對運動軌跡,從而形象直觀展現做勻速圓周運動兩質點的相對運動規律.該軟件可用于教師課堂演示或學生課外自主演示,拓展圓周運動和相對運動知識,使物理知識化抽象為形象生動,提高學生學習興趣和參與性.

附錄: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

'生成系統

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

'開始運動

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

'結束程序

Private Sub Command3_Click()

End

End Sub

猜你喜歡
按鈕程序
這些按鈕能隨便按嗎?
哪個是門鈴真正的按鈕
當你面前有個按鈕
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
死循環
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
主站蜘蛛池模板: 婷婷伊人五月| 毛片免费高清免费| 91麻豆国产在线| 亚洲AV无码乱码在线观看代蜜桃| 日本尹人综合香蕉在线观看 | 亚洲视频三级| 亚洲欧美成人影院| 亚洲电影天堂在线国语对白| 日韩 欧美 国产 精品 综合| 欧美日韩午夜| 久久国产乱子伦视频无卡顿| 亚洲欧美日韩高清综合678| 色婷婷电影网| 日本成人在线不卡视频| 一级毛片高清| 一级成人a毛片免费播放| 久久精品女人天堂aaa| 香蕉99国内自产自拍视频| 华人在线亚洲欧美精品| AV不卡在线永久免费观看| 午夜电影在线观看国产1区| av尤物免费在线观看| 香蕉久久永久视频| 拍国产真实乱人偷精品| 综合社区亚洲熟妇p| 亚洲性影院| 亚洲成人手机在线| 国产视频只有无码精品| 丁香亚洲综合五月天婷婷| 日韩一区二区三免费高清| 国产精品手机在线播放| 国产精品流白浆在线观看| 国产香蕉在线视频| 色亚洲激情综合精品无码视频| 日韩性网站| 久草热视频在线| 亚洲精品无码AⅤ片青青在线观看| 婷婷色中文| 国产精品主播| 日韩无码白| 91福利片| 日韩毛片基地| 亚洲日韩图片专区第1页| 久久精品电影| 亚洲成aⅴ人在线观看| 97视频精品全国免费观看 | 青青青国产精品国产精品美女| 欧美v在线| 亚洲全网成人资源在线观看| 69视频国产| 日本日韩欧美| 久996视频精品免费观看| 波多野结衣第一页| 国产成人超碰无码| jizz国产视频| 特黄日韩免费一区二区三区| 欧美成人免费午夜全| 亚洲av无码人妻| 91在线高清视频| 日韩欧美成人高清在线观看| 2020精品极品国产色在线观看| 一区二区在线视频免费观看| 免费啪啪网址| 国产白浆视频| 欧美精品aⅴ在线视频| 免费在线色| 老司机久久精品视频| 91美女在线| 日韩123欧美字幕| www亚洲精品| 少妇高潮惨叫久久久久久| 97久久免费视频| 国产男女XX00免费观看| 亚洲视频在线网| 亚洲一级毛片在线观播放| 99r在线精品视频在线播放| 国产a网站| 日本亚洲国产一区二区三区| 国产成人你懂的在线观看| 欧美日韩一区二区三区在线视频| 色噜噜狠狠色综合网图区| 午夜人性色福利无码视频在线观看|