• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Vpython的簡(jiǎn)諧振動(dòng)合成可視化研究

      2022-02-10 12:27:52何云存
      物理通報(bào) 2022年1期
      關(guān)鍵詞:切點(diǎn)質(zhì)點(diǎn)數(shù)目

      何云存

      (湖北大學(xué)物理與電子科學(xué)學(xué)院 湖北 武漢 430062)

      任 濤

      (武漢電力職業(yè)技術(shù)學(xué)院輸配電工程系 湖北 武漢 430074)

      1 引言

      振動(dòng),在大學(xué)物理課程中有著承上啟下的地位.上承力學(xué),質(zhì)點(diǎn)受線性回復(fù)力時(shí),根據(jù)牛頓第二定律求解動(dòng)力學(xué)方程,可得質(zhì)點(diǎn)的運(yùn)動(dòng)方程呈三角函數(shù)形式,運(yùn)動(dòng)形式為簡(jiǎn)諧振動(dòng);下接波動(dòng)以及光學(xué),波動(dòng)即是質(zhì)點(diǎn)振動(dòng)狀態(tài)的傳播,振動(dòng)的合成是波疊加,以及光的干涉衍射現(xiàn)象的理論基礎(chǔ).一維簡(jiǎn)諧振動(dòng)的合成使用旋轉(zhuǎn)矢量法很好理解,二維和三維簡(jiǎn)諧振動(dòng)的合成較一維復(fù)雜得多,對(duì)學(xué)生的空間想象能力要求較高,傳統(tǒng)教學(xué)中往往只講解一維簡(jiǎn)諧振動(dòng)的合成.為了幫助學(xué)生建立完整的知識(shí)體系,使用形象直觀的方法展現(xiàn)二維三維簡(jiǎn)諧振動(dòng)的合成是有必要的.

      計(jì)算機(jī)技術(shù)的日益發(fā)展,使物理教學(xué)更具生動(dòng)多樣性,能幫助學(xué)生理解抽象的物理問(wèn)題,同時(shí)激發(fā)學(xué)生的學(xué)習(xí)興趣[1].開(kāi)源免費(fèi),語(yǔ)法簡(jiǎn)單的Python編程語(yǔ)言近年來(lái)不僅被廣泛用于金融工程、科學(xué)研究,而且被用于輔助教學(xué).Python擁有很多功能強(qiáng)大的第三方庫(kù),Vpython是一個(gè)三維圖形庫(kù),可用于模擬仿真物體的運(yùn)動(dòng)[2].本文使用Vpython將二維三維簡(jiǎn)諧振動(dòng)的合成可視化,當(dāng)分振動(dòng)的頻率滿足整數(shù)比值時(shí),可形成穩(wěn)定封閉的李薩如圖形,該方法有助于學(xué)生理解簡(jiǎn)諧振動(dòng)合成的原理以及性質(zhì).

      2 簡(jiǎn)諧振動(dòng)的合成

      2.1 二維簡(jiǎn)諧振動(dòng)的合成

      兩個(gè)分振動(dòng)的振動(dòng)方向分別沿x軸、y軸,分振動(dòng)的方程形式為

      x=A1cos(ω1t+φ1)

      y=A2cos(ω2t+φ2)

      其中A,ω,φ分別表示振幅、角頻率、初相位.首先考慮分振動(dòng)頻率相同的情況,使用Vpython編程,代碼如下:

      #第一部分:調(diào)入3D模塊Vpython,建立畫布和坐標(biāo)軸

      from vpython import *

      s1=canvas(width=1000,height=1000,x=0,y=0,background=color.white)

      x = arrow(pos=vector(0,0,0),axis=vector(6,0,0),shaftwidth=0.1,color=color.black)

      x_text=label(pos=vector(6.5,0,0),text="x",height=30,opacity=0,box=0)

      y = arrow(pos=vector(0,0,0),axis=vector(0,6,0),shaftwidth=0.1,color=color.black)

      y_text=label(pos=vector(0,6.7,0),text="y",height=30,opacity=0,box=0)

      #第二部分:設(shè)定初始條件,建立一個(gè)藍(lán)色小球作為振動(dòng)物體

      A1=4

      A2=5

      w1=pi

      w2=pi

      phi1=0

      phi2=pi/3

      t=0

      dt=0.001

      ball = sphere(pos=vector(A1*cos(phi1), A2*cos(phi2), 0), radius=0.5, color=color.blue,

      make_trail=True)

      #第三部分:循環(huán)體實(shí)現(xiàn)動(dòng)態(tài)模擬

      while True:

      rate(500)

      phi1=phi1+w1*dt

      ball.pos.x=A1*cos(phi1)

      phi2=phi2+w2*dt

      ball.pos.y=A2*cos(phi2)

      t=t+dt

      第三部分是程序的核心部分,程序運(yùn)行結(jié)果如圖1所示,可以看到小球沿著橢圓軌道順時(shí)針?lè)较蜻\(yùn)動(dòng),若交換兩個(gè)分振動(dòng)的初始相位值,可看到小球軌跡不變,但是運(yùn)動(dòng)方向變成逆時(shí)針.當(dāng)振幅、頻率固定時(shí),相位差決定軌跡的形狀.

      圖1 同頻率的二維簡(jiǎn)諧振動(dòng)合成

      若分振動(dòng)的頻率不同,但是具有簡(jiǎn)單的整數(shù)比值,可形成穩(wěn)定封閉的李薩如圖形.李薩如圖形與x軸、y軸的切點(diǎn)數(shù)目之比,與分頻率之比呈反比.通過(guò)修改代碼中分振動(dòng)的頻率以及初相位,我們得到幾組不同的李薩如圖形.

      在圖2中,(a)、(b)分振動(dòng)的初相位相同,初相位差相同,x軸、y軸分頻率之比分別是2∶3和3∶2,顯然頻率之比對(duì)軌跡形狀有影響.圖2(a)閉合曲線沿x軸切點(diǎn)數(shù)目3,沿y軸切點(diǎn)數(shù)目為2,圖2(b)沿x軸切點(diǎn)數(shù)目2,沿y軸切點(diǎn)數(shù)目3,驗(yàn)證了切點(diǎn)數(shù)目之比與分頻率之比呈反比的結(jié)論.

      (b)

      (a)

      2.2 三維簡(jiǎn)諧振動(dòng)的合成

      振動(dòng)方向相互正交的3個(gè)分振動(dòng)頻率滿足整數(shù)比時(shí),質(zhì)點(diǎn)在空間中的運(yùn)動(dòng)軌跡呈三維李薩如圖形.分振動(dòng)的方程形式為

      x=A1cos(ω1t+φ1)

      y=A2cos(ω2t+φ2)

      z=A3cos(ω3t+φ3)

      此處以

      A1=A2=A3=5

      為例,分振動(dòng)頻率之比

      ω1∶ω2∶ω3=1∶2∶3

      三維振動(dòng)合成的可視化需要在程序第一部分加上攝像機(jī)位置和角度的設(shè)定,即給定一個(gè)觀察3D運(yùn)動(dòng)的視角.使用代碼s1.camera.pos=vector(20,20,20)表示攝像機(jī)位置在x=20,y=20,z=20的空間點(diǎn)處,s1.camera.axis=vector(-20,-20,-20)表示攝像機(jī)方位正對(duì)著坐標(biāo)原點(diǎn).第二部分加入第三個(gè)分振動(dòng)的初始信息,第三部分循環(huán)體中加入質(zhì)點(diǎn)z軸坐標(biāo)的計(jì)算公式ball.pos.z=A3*cos(phi3),運(yùn)行得到對(duì)應(yīng)視角下的三維李薩如圖形,如圖5所示.

      圖5 三維簡(jiǎn)諧振動(dòng)的合成

      在Vpython模塊下,我們可以身臨其境般進(jìn)入到三維空間任意位置觀察質(zhì)點(diǎn)的運(yùn)動(dòng),只需改變攝像機(jī)位置和方向的設(shè)定,修改代碼s1.camera.pos=vector(-20,20,20),s1.camera.axis=vector(20,

      -20,-20),表示攝像機(jī)的位置和角度與第一次設(shè)定關(guān)于yz平面對(duì)稱,此時(shí)看到的軌跡如圖6所示.

      圖6 變換視角的三維簡(jiǎn)諧振動(dòng)合成圖

      為了方便觀察三維李薩如圖形與xy平面、xz平面、yz平面的切點(diǎn)數(shù)目Nxy,Nxz,Nyz,我們可以站在y軸向下觀察立體曲線在xz平面的投影圖,站在z軸向下觀察立體曲線在xy平面的投影圖,如圖7所示.

      從圖中看到曲線與xy平面的切點(diǎn)數(shù)目Nxy=3,與xz平面的切點(diǎn)數(shù)目Nxz=2,與yz平面的切點(diǎn)數(shù)目Nyz=1.平面圖中沿x軸切點(diǎn)看似不在一條直線上,這是由于攝像機(jī)向下俯視,切點(diǎn)高度不一樣所導(dǎo)致的視覺(jué)效果.與二維李薩如圖形特點(diǎn)一致,各方向切點(diǎn)數(shù)目之比由頻率之比決定,即

      Nyz∶Nxz∶Nxy=ω1∶ω2∶ω3

      3 總結(jié)

      本文使用Python編程語(yǔ)言框架下的3D圖形庫(kù)Vpython,對(duì)二維、三維簡(jiǎn)諧振動(dòng)的合成進(jìn)行了可視化模擬,探討了李薩如圖形的特點(diǎn),特別是對(duì)三維李薩如圖形的模擬,解決了平面思維的困難,將質(zhì)點(diǎn)的運(yùn)動(dòng)過(guò)程形象直觀地呈現(xiàn)出來(lái),有益于學(xué)生更加全面深刻地理解振動(dòng)現(xiàn)象.Python語(yǔ)言簡(jiǎn)單易學(xué),功能強(qiáng)大,除了可視化模擬,還可用于各種物理問(wèn)題中的數(shù)值計(jì)算、建模分析等,是我們學(xué)習(xí)物理課程以及科研探索的現(xiàn)代化手段.

      猜你喜歡
      切點(diǎn)質(zhì)點(diǎn)數(shù)目
      有機(jī)物“同分異構(gòu)體”數(shù)目的判斷方法
      巧用“搬運(yùn)法”解決連續(xù)質(zhì)點(diǎn)模型的做功問(wèn)題
      拋物線的切點(diǎn)弦方程的求法及性質(zhì)應(yīng)用
      一種偽內(nèi)切圓切點(diǎn)的刻畫辦法
      質(zhì)點(diǎn)的直線運(yùn)動(dòng)
      質(zhì)點(diǎn)的直線運(yùn)動(dòng)
      橢圓的三類切點(diǎn)弦的包絡(luò)
      《哲對(duì)寧諾爾》方劑數(shù)目統(tǒng)計(jì)研究
      牧場(chǎng)里的馬
      Serret—Frenet公式與質(zhì)點(diǎn)的空間曲線運(yùn)動(dòng)
      物理與工程(2014年5期)2014-02-27 11:23:15
      绥芬河市| 旅游| 丰顺县| 阳山县| 广汉市| 富宁县| 石台县| 皋兰县| 嵊州市| 会泽县| 九台市| 舞钢市| 张家界市| 林口县| 岑溪市| 师宗县| 宁陵县| 白朗县| 景德镇市| 兴安县| 周口市| 鹤庆县| 安岳县| 荥阳市| 延津县| 溧阳市| 广昌县| 宁都县| 抚州市| 胶州市| 兖州市| 龙山县| 安西县| 和林格尔县| 溧阳市| 定襄县| 长治市| 卢龙县| 新化县| 唐山市| 名山县|