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
主站蜘蛛池模板: 无码一区二区三区视频在线播放| 蜜臀AV在线播放| 国产一区二区三区精品欧美日韩| 中文成人无码国产亚洲| 久久亚洲中文字幕精品一区| 538国产在线| av在线无码浏览| 久久久久人妻一区精品| 粗大猛烈进出高潮视频无码| 无码国内精品人妻少妇蜜桃视频| 精品国产香蕉在线播出| 国产麻豆福利av在线播放| 亚洲精品在线91| 一区二区三区四区在线| 成人在线第一页| 国产欧美日韩另类精彩视频| 亚洲黄色成人| 久久精品人人做人人爽电影蜜月 | 国产精品久久久久久久久久久久| 国内精品久久久久久久久久影视| 久久熟女AV| 毛片网站在线看| 国产精品分类视频分类一区| 精品国产美女福到在线直播| 97视频免费看| 91美女视频在线| 激情乱人伦| 国产精品一区在线麻豆| 国产男女XX00免费观看| 亚洲欧美人成人让影院| 伊人丁香五月天久久综合| 亚洲日韩图片专区第1页| 国产最新无码专区在线| 三上悠亚一区二区| 日本爱爱精品一区二区| 免费国产小视频在线观看| 夜精品a一区二区三区| 美女被狂躁www在线观看| 日韩麻豆小视频| 国产一区二区免费播放| 婷婷综合在线观看丁香| 国产大全韩国亚洲一区二区三区| 91精品啪在线观看国产91| 老司国产精品视频91| 国产在线97| 无遮挡一级毛片呦女视频| 国产麻豆91网在线看| 在线免费看片a| 国产午夜一级毛片| 亚洲精品爱草草视频在线| 亚洲AⅤ永久无码精品毛片| 男女男精品视频| 香蕉eeww99国产在线观看| 国产在线自乱拍播放| 久久综合国产乱子免费| 国产激情国语对白普通话| 99精品视频播放| 欧美日一级片| 台湾AV国片精品女同性| 国产最爽的乱婬视频国语对白| 亚洲成人在线免费| 色综合成人| 自拍亚洲欧美精品| 欧美人与性动交a欧美精品| AV不卡国产在线观看| 四虎影视库国产精品一区| 中文字幕久久亚洲一区| aa级毛片毛片免费观看久| 日韩精品亚洲一区中文字幕| 先锋资源久久| 久久国产高清视频| 国产一线在线| 免费一级毛片在线播放傲雪网| 国产视频欧美| www.91中文字幕| 久久婷婷综合色一区二区| 久久青草免费91观看| 无码日韩人妻精品久久蜜桃| 日本午夜视频在线观看| 欧美在线网| 露脸真实国语乱在线观看| 午夜激情福利视频|