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
主站蜘蛛池模板: 四虎精品国产永久在线观看| 久久99这里精品8国产| 亚洲日韩国产精品综合在线观看| 狠狠色婷婷丁香综合久久韩国 | 亚洲Aⅴ无码专区在线观看q| 香蕉eeww99国产在线观看| 亚洲无线一二三四区男男| 91视频国产高清| 一级毛片免费的| 免费A级毛片无码免费视频| 日韩精品中文字幕一区三区| 国产精品任我爽爆在线播放6080| 久久这里只有精品66| 国产成人啪视频一区二区三区 | 中字无码精油按摩中出视频| 久久久久88色偷偷| 亚洲国产天堂久久综合226114| 青草娱乐极品免费视频| 国产欧美日韩va另类在线播放| 91青青草视频在线观看的| 国产成人精品男人的天堂| a色毛片免费视频| 欧美成人二区| 亚洲成人网在线观看| 97视频免费在线观看| 久久特级毛片| 国产精品一区不卡| 无码人中文字幕| 久久精品一卡日本电影| 久久久久无码国产精品不卡| 欧美成a人片在线观看| 在线毛片网站| 91九色国产porny| 高清无码不卡视频| 日韩av高清无码一区二区三区| 亚洲第一视频网| 色综合久久88色综合天天提莫| 色婷婷国产精品视频| 色成人综合| 国产v精品成人免费视频71pao| 亚洲第一福利视频导航| 91福利免费视频| 香蕉国产精品视频| 老司机精品久久| 亚国产欧美在线人成| 亚洲成人黄色网址| 国产精品任我爽爆在线播放6080 | 99视频国产精品| 国产精品福利在线观看无码卡| 欧美一级高清片欧美国产欧美| 乱码国产乱码精品精在线播放| 福利视频一区| 成人精品免费视频| 在线观看亚洲人成网站| 亚洲成网站| 国产18页| 亚洲 日韩 激情 无码 中出| 18禁不卡免费网站| 精品久久人人爽人人玩人人妻| 欧美区一区| 亚洲男人的天堂在线| 日本国产精品一区久久久| 91在线国内在线播放老师| 国产成人亚洲精品色欲AV | 久久国产精品娇妻素人| 国产精品浪潮Av| 欧美三級片黃色三級片黃色1| 九九九精品成人免费视频7| 国产一区免费在线观看| 好紧太爽了视频免费无码| 91九色国产在线| 岛国精品一区免费视频在线观看 | 92精品国产自产在线观看| 亚洲熟女中文字幕男人总站| 色天堂无毒不卡| 天天综合天天综合| 精品久久蜜桃| 国产综合精品日本亚洲777| 国产99热| 午夜免费小视频| 91口爆吞精国产对白第三集| aⅴ免费在线观看|