• 
    

    
    

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

      基于Box2D引擎的物理仿真課件設計與實現(xiàn)
      ——以“測量平均速度”為例

      2021-05-14 08:28:30
      物理通報 2021年5期
      關鍵詞:平均速度剛體引擎

      胡 海 王 芳

      (黃石市第九中學 湖北 黃石 435000)

      1 引言

      模擬仿真課件是指利用計算機建模和仿真技術來表現(xiàn)某些系統(tǒng)的結(jié)構(gòu)和動態(tài),為學生提供一種可供他們體驗和觀測的環(huán)境,產(chǎn)生各種與現(xiàn)實世界相類似的現(xiàn)象,供學生觀察,幫助學生認識和理解這些規(guī)律與現(xiàn)象的本質(zhì).具有形象直觀、經(jīng)濟安全、不受條件限制、控制事物的變化速度等特征,能夠激發(fā)學生的學習動機,控制學習情境的復雜度和逼真度,有一定的時效性.而物理是一門以觀察、實驗為基礎的學科,由于客觀條件的限制,理想實驗環(huán)境的搭建存在一定的局限性,使實驗效果與預期存在較大的誤差或難以實現(xiàn),實驗數(shù)據(jù)的獲取和處理也會影響結(jié)果的分析.利用計算機仿真技術來模擬虛擬儀器和實驗平臺等實驗環(huán)境,演示實驗過程,并給學生用自然的交互手段進行實驗操作,按照真實實驗的邏輯,得出實驗結(jié)果,克服實際操作中同步同時帶來的困難和數(shù)據(jù)獲取的即時性、有效性,利用計算機強大的建模和數(shù)據(jù)分析能力,將事物進行模型化分析,揭示一定數(shù)量關系或變化規(guī)律,有助于學生對規(guī)律的深刻認識,提高物理核心素養(yǎng),有效解決學習的難點,可以代替或補充傳統(tǒng)的實驗手段.

      下面以八年級物理“測量平均速度”為例,結(jié)合Box2D引擎,闡述此類仿真課件的設計思想和實現(xiàn)方法.

      2 Box2D引擎概述

      在物理教學或?qū)W生學習活動過程中,絕大部分內(nèi)容都是以2D平面模型為基礎向?qū)W生傳達知識的,旨在引導和培養(yǎng)學生從抽象中建立精準物理模型的思維習慣.Box2D是一個開源、輕量級、高性能的二維物理仿真引擎,可用來模擬2D剛體(類似于物體)的運動和碰撞,結(jié)合語言工具,非常適合用來開發(fā)中學物理仿真課件,提高制作效率.該引擎集成了大量的物理力學和運動學的計算,將物理模擬過程封裝到類對象中,將對物體的操作以簡單友好的接口提供給開發(fā)者,物體具有質(zhì)量、體積、密度、摩擦因子等物理屬性,開發(fā)時只需要調(diào)用引擎中相應的對象或方法就可以模擬現(xiàn)實生活中的加速、減速、拋物線運動、萬有引力、碰撞反彈等等各種真實的物理運動.廣泛應用于PC,Web(HTML5),iOS,Android等平臺的物理游戲開發(fā)中(例如游戲《憤怒的小鳥》),并被廣大的開發(fā)者們轉(zhuǎn)譯成C#,Java,JavaScript,ActionScript3.0(以下簡稱AS3)等多個語言版本.開發(fā)工具使用AnimateCC(原名Flash),是一種集動畫創(chuàng)作與應用程序開發(fā)于一身的創(chuàng)作軟件,擁有較多的使用人群,使用面向?qū)ο蟮木幊陶Z言AS3,為創(chuàng)建富媒體數(shù)字動畫、高級交互式Web站點、桌面應用程序以及手機應用程序開發(fā)提供了功能全面的創(chuàng)作和編輯環(huán)境.將課件編譯成獨立運行的微件,碎片化處理,使用靈活,便于在網(wǎng)絡、電子白板等其他教學工具上進行傳播學習,還可以發(fā)布為Android應用程序在手機或平板上學習.

      3 仿真模擬課件設計概述

      3.1 設計思想和功能要求

      課件設計思想是把解決學習問題放在第一位,突出重點,解決教學或?qū)W習中的難點問題、關鍵問題,提高學生學習的主動性和探究能力,能滿足教師教學演示和學生自主學習的需求.在課件結(jié)構(gòu)上,采用模塊化思想,變“線性結(jié)構(gòu)”為“非線性結(jié)構(gòu)”,增強課件的交互性和操作的人性化,使課件能夠根據(jù)教與學的需要隨意調(diào)度.學習策略上注重“歸納”和“演繹”的思維方法.界面設計盡量簡潔,突出主體.以“測平均速度”為例,課件能夠?qū)崿F(xiàn)實驗器材的使用、實驗平臺的搭建、實驗數(shù)據(jù)的采集與分析、課后練習與鞏固等.因此具備以下5個功能:

      (1)交互模擬各類物理儀器的使用和實驗平臺的搭建;

      (2)模擬呈現(xiàn)真實的物理運動和碰撞;

      (3)自然的人機交互能力,真實模擬實驗操作過程;

      (4)實時獲取相關數(shù)據(jù)和較強的可視化分析能力,便于歸納得出實驗結(jié)論;

      (5)通過教師引導,創(chuàng)造性安排課后拓展實驗練習,鞏固所學知識.

      3.2 課件框架

      課件分為基礎知識準備部分、情景導入生活中的物理模型、實驗平臺搭建和調(diào)試、實時模擬仿真探究、數(shù)據(jù)記錄與分析、運動可視化分析和課后練習鞏固等7部分,結(jié)構(gòu)圖如圖1所示.課件內(nèi)的部分物件采用Animate矢量繪圖功能進行建模,物理運動和碰撞等環(huán)境則采用引擎仿真技術進行建模,其他部分利用AS3的面向?qū)ο缶幊趟枷?,制作成類,便于后續(xù)調(diào)度使用,整個課件為非線性結(jié)構(gòu),菜單設計簡潔,按需調(diào)用或隱藏,教學靈活,適合不同的教學演示和自主探究,展現(xiàn)其獨有的教學風格和思想,具有一定的開放性.

      圖1 “測量平均速度課件”仿真課件功能結(jié)構(gòu)圖

      4 仿真課件的實現(xiàn)

      仿真課件的開發(fā)遵循軟件開發(fā)的一般步驟,依次是需求分析、設計、開發(fā)、測試、修改反復直至最后正式發(fā)布,仿真課件的制作目標是構(gòu)建一個虛擬逼真的物理環(huán)境,其主要開發(fā)流程分為物件類的創(chuàng)建、二維平面的建模和場景交互三大部分.其中物件類的建模由AnimateCC結(jié)合AS3語言創(chuàng)建,二維平面物理模型由Box2D AS3版物理引擎創(chuàng)建,并導入先前創(chuàng)建的其他類以備調(diào)用,場景交互利用鼠標、鍵盤、幀頻和時間類事件進行代碼編寫完成,最后進行貼圖和反復調(diào)試等.

      4.1 物件類創(chuàng)建

      根據(jù)課件需求,需要用到的物件有刻度尺、停表、數(shù)據(jù)表格和坐標系等,分別命名為Ruler.as,StopWatch.as,vTable.as和Axis.as類,此類物件不需要物理引擎,直接在AnimateCC中編寫代碼進行數(shù)學建模.類文件應該具有良好的類方法和屬性,便于在導入類時對其進行操作和設置.

      Ruler類用于創(chuàng)建刻度尺.能初始化其分度值和量程屬性,通過添加鼠標事件,可實現(xiàn)刻度尺隨意拖動和旋轉(zhuǎn)的功能.

      StopWatch類用于創(chuàng)建停表.具有獲取分鐘、秒鐘、啟動或暫停、復位時間的方法,目的是后期開發(fā)時,能夠通過調(diào)用相應的方法協(xié)同物體運動工作.給按鈕添加鼠標事件實現(xiàn)交互,實現(xiàn)獨立使用.為增加可玩性,還給分針和秒針添加鼠標拖動旋轉(zhuǎn)事件,手動調(diào)時和隨機時間等.

      創(chuàng)建Ruler和StopWatch實例,結(jié)合xml,xmlList類隨機讀取外部圖片的物體信息,模擬測量物體的長度填入文本框,用鼠標將停表調(diào)到隨機指定的時間,完成課前基礎知識準備模塊的制作,系統(tǒng)自動判斷結(jié)果,類似于許多網(wǎng)站中的驗證碼功能,正確便可進入主課程界面的學習.

      vTable類用于制作實驗數(shù)據(jù)記錄表格.將測量數(shù)據(jù)填入相應的文本框,利用鍵盤輸入事件對數(shù)據(jù)進行校驗,限制只能輸入精確到兩位小數(shù)的數(shù)字(刻度尺要進行估讀的學習要求),速度根據(jù)需要自動計算結(jié)果.

      Axis類用于創(chuàng)建坐標系.屬性有橫軸長度、縱軸長度、橫軸刻度、縱軸刻度、橫縱軸標注等,方法有繪制坐標點、依點連線、點線顏色、是否網(wǎng)格等,用于可視化圖像分析路程與時間變化.

      4.2 場景模型搭建

      (1)引擎使用的尺度單位是米,需定義像素轉(zhuǎn)換常量;

      (2)定義重力向量和剛體的睡眠狀態(tài);

      (3)創(chuàng)建b2World物理世界對象;

      (4)添加幀頻或計數(shù)器事件,刷新世界讓引擎運動起來;

      (5)調(diào)試視圖渲染剛體.

      主要代碼如下:

      import Box2D.*;//導入Box2D相關類

      const pixTometer: Number = 30;//定義像素-米轉(zhuǎn)換常量

      var world: b2World = new b2World(new b2Vec2(0, 10), true);//定義重力并創(chuàng)建世界

      羅扎諾夫在《陀思妥耶夫斯基的一個卓越想法》(Одна из замичательных идей Достоевского)一文中評論了《地下室手記》中提出的思想,提出了“瘙癢”的觀念或想法:

      stage.addEventListener(Event.ENTER_FRAME, updateWorld); //幀頻事件更新世界

      var debugSprite = new Sprite();

      addChild(debugSprite);//添加渲染精靈

      var debug: b2DebugDraw = new b2DebugDraw();

      debug.SetSprite(debugSprite);//顯示繪制剛體

      world.SetDebugDraw(debug);

      世界創(chuàng)建好后,便可以向世界添加創(chuàng)建剛體,構(gòu)建模擬實驗平臺.根據(jù)實驗需求,需要創(chuàng)建的靜態(tài)剛體有方形地面、三角形斜面、方形靜態(tài)擋板和Box墻面.其中斜面通過鼠標事件可調(diào)整高度和傾角,斜面上的擋板可自動調(diào)整位置和角度;墻面的作用是防止誤操作時使動態(tài)物體逃逸實驗平臺;單擊靜態(tài)擋板可使動態(tài)物體初速度為零,在重力作用下自由運動和碰撞.

      需要創(chuàng)建的動態(tài)剛體有圓形小球、小車、動態(tài)擋板,這是實驗研究的主要對象.其中小車的創(chuàng)建使用到b2RevoluteJoint旋轉(zhuǎn)關節(jié),將兩個圓形動態(tài)剛體約束到方形動態(tài)剛體上,構(gòu)建模擬真實的小車;動態(tài)擋板剛體添加鼠標事件可進行拖動設置,作用是使物體運動結(jié)束,結(jié)合Sound類導入外部音頻資源,可模擬物理碰撞的聲音,聲臨其境.

      同時設置各種剛體的初始位置、動/靜態(tài)屬性、夾具形狀、密度、摩擦因子、碰撞彈性恢復系數(shù)和約束關節(jié)屬性、運動阻尼、是否睡眠等,提高引擎運行效能.后期利用自定義屬性對這些物體進行貼圖美化,達到良好的視覺效果.未貼圖效果如圖2所示.

      圖2 “測量平均速度”仿真課件主界面

      4.3 交互功能實現(xiàn)

      交互性是衡量仿真課件的一個重要指標.上述每個物件有其自身交互功能之外,在整個課件系統(tǒng)中,為完成特定的教學目標和功能,還具有其他可操作功能,接近自然的人機交互能力,還能夠協(xié)同工作,這得益于AnimateCC強大的事件處理能力.例如,小球、小車、擋板可隨鼠標拖動,物理模擬仿真關節(jié),刻度尺和停表自帶的交互功能進行長度和時間的測量練習等.單擊鼠標撤去擋板,物體即可運動,同時停表即可開始記錄,協(xié)同操作,解決實際操作過程中不能同時操作的現(xiàn)象,影響實驗效果.另外,可視化數(shù)據(jù)分析能力可實時將時間和路程數(shù)據(jù)顯示在坐標系中,頻閃攝影通過繪圖函數(shù)在幀頻事件中按固定時間顯示繪制物體所在的位置,展現(xiàn)其軌跡,可視化分析物體的運動特征.

      界面交互是非仿真部分,設計則較為簡潔易用,只需單擊復選框達到顯示或隱藏的功能,平行化設計.

      5 結(jié)束語

      Box2D 是一個非常優(yōu)秀的 2D 開源物理引擎,大大降低了仿真課件的制作難度和復雜程度,結(jié)合AnimateCC高效的生產(chǎn)力工具,可以制作出優(yōu)異的物理仿真課件,盡管Flash插件被許多平臺所限制,但在教育群體中被許多教師所使用,也很容易轉(zhuǎn)移到其他平臺繼續(xù)開發(fā).在教學中,利用課件進行建模和數(shù)據(jù)可視化分析,培養(yǎng)學生的科學思維,自然的人機交互操作進行科學探究,使學生形成正確的物理觀念和科學態(tài)度,提高物理核心素養(yǎng).如果將課件通過網(wǎng)絡發(fā)放給學生,安排一定的實驗練習(例如測量小球從斜面下滑的平均速度、小球自由落體的平均速度、指定斜面的傾角測出小車下滑的平均速度等),將課堂進行擴展延伸,打破時間和空間的限制,促進課堂教學的深層次改革,更有利于培養(yǎng)學生的創(chuàng)新能力.通過實踐教學發(fā)現(xiàn),學生也非常喜歡.仿真技術提供生動、逼真的物理模擬平臺,解決了學習過程中的實驗操作難點,實現(xiàn)了“以教促學”的教學方式向“以學生為主體”“學生自主探究學習”方式轉(zhuǎn)變,在提高課程核心素養(yǎng)中發(fā)揮著越來越重要的作用.

      猜你喜歡
      平均速度剛體引擎
      “運動的快慢”“測量平均速度”知識鞏固
      差值法巧求剛體轉(zhuǎn)動慣量
      探究物體的平均速度
      把脈平均速度的測量
      車載冷發(fā)射系統(tǒng)多剛體動力學快速仿真研究
      藍谷: “涉藍”新引擎
      商周刊(2017年22期)2017-11-09 05:08:31
      無形的引擎
      河南電力(2015年5期)2015-06-08 06:01:46
      基于Cocos2d引擎的PuzzleGame開發(fā)
      剛體定點轉(zhuǎn)動的瞬軸、極面動態(tài)演示教具
      物理實驗(2015年10期)2015-02-28 17:36:56
      測平均速度演示儀
      沂南县| 留坝县| 公主岭市| 南汇区| 隆子县| 新建县| 泾阳县| 法库县| 临西县| 鄄城县| 佛坪县| 杭州市| 天柱县| 安平县| 蚌埠市| 巴塘县| 肃南| 云安县| 得荣县| 瓮安县| 霍山县| 安平县| 开平市| 洮南市| 日土县| 贺州市| 拉萨市| 乐山市| 彭州市| 鹤山市| 民和| 井陉县| 永靖县| 册亨县| 九寨沟县| 海南省| 随州市| 大田县| 石林| 固阳县| 阜阳市|