亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Flash ActionScript的機(jī)械類(lèi)教學(xué)模擬課件研制

        2009-07-02 05:29:48郭德偉肖天慶
        現(xiàn)代教育技術(shù) 2009年8期
        關(guān)鍵詞:輪系曲柄滑塊

        郭德偉 肖天慶

        【摘要】采用Flash ActionScript腳本技術(shù)研制了在機(jī)械教學(xué)中平面曲柄滑塊機(jī)構(gòu)和2K-H型周轉(zhuǎn)輪系的教學(xué)模擬課件,并與傳統(tǒng)的Flash逐幀動(dòng)畫(huà)模擬課件作出分析比較,指出基于Flash ActionScript技術(shù)的動(dòng)畫(huà)模擬方法在機(jī)械類(lèi)教學(xué)課件制作中的優(yōu)越性。

        【關(guān)鍵詞】Flash;ActionScript;模擬課件;機(jī)械教學(xué)

        【中圖分類(lèi)號(hào)】G40-057 【文獻(xiàn)標(biāo)識(shí)碼】B 【論文編號(hào)】1009—8097(2009)08—0093—05

        隨著現(xiàn)代教育技術(shù)的發(fā)展,采用計(jì)算機(jī)來(lái)制作模擬實(shí)驗(yàn)在教學(xué)中的應(yīng)用越來(lái)越廣泛,特別是在學(xué)校實(shí)驗(yàn)條件不足、實(shí)驗(yàn)器材缺少的情況下,采用計(jì)算機(jī)模擬部分教學(xué)實(shí)驗(yàn)具有簡(jiǎn)單、快捷、成本低廉等特點(diǎn)。而在這類(lèi)實(shí)驗(yàn)教學(xué)模擬課件中,模擬的關(guān)鍵在于與現(xiàn)實(shí)環(huán)境的相互一致性,即能精確模擬或再現(xiàn)現(xiàn)實(shí)環(huán)境條件下的實(shí)驗(yàn)過(guò)程。例如,在學(xué)校機(jī)械類(lèi)課程的教學(xué)中,教學(xué)課件不僅要能實(shí)現(xiàn)較精確的模擬運(yùn)動(dòng),還要能夠讓課件具有一定的交互性和仿真性。然而早期的教學(xué)用模擬課件一般采用簡(jiǎn)單的逐幀運(yùn)動(dòng)模擬,不能完全反映真實(shí)情況下的機(jī)械運(yùn)動(dòng)效果。為此,本文采用Flash ActionScript腳本程序結(jié)合實(shí)例詳細(xì)介紹了平面曲柄滑塊機(jī)構(gòu)教學(xué)模擬課件和2K-H型周轉(zhuǎn)輪系教學(xué)模擬課件的制作過(guò)程,并和傳統(tǒng)Flash模擬機(jī)械課件作分析比較,指出Flash ActionScript技術(shù)在制作機(jī)械類(lèi)教學(xué)課件中的優(yōu)越性,以期起到拋磚引玉的作用。

        一 傳統(tǒng)Flash模擬平面曲柄滑塊機(jī)構(gòu)運(yùn)動(dòng)模擬課件的制作方法

        傳統(tǒng)Flash機(jī)械教學(xué)課件是利用逐幀動(dòng)畫(huà)的原理,近似地來(lái)模擬機(jī)構(gòu)的運(yùn)動(dòng),并輔以簡(jiǎn)單的控制,如暫停、播放等。平面曲柄滑塊的傳統(tǒng)Flash模擬教學(xué)課件的制作過(guò)程如下:

        創(chuàng)建各桿件及滑塊的圖形元件,并按相應(yīng)位置分別放置在Flash主場(chǎng)景中不同的層上,采用補(bǔ)間動(dòng)畫(huà)形式建立動(dòng)畫(huà),曲柄元件在總幀內(nèi)旋轉(zhuǎn)一周,逐幀調(diào)整連桿元件及滑塊元件的位置和轉(zhuǎn)角使其對(duì)應(yīng),在action層的最后幀加gotoAndPlay(2)返回第二幀,形成連續(xù)的運(yùn)動(dòng)機(jī)構(gòu)模型(圖1),生成的swf動(dòng)畫(huà)模型文件體積約為3KB。其相應(yīng)元件的對(duì)應(yīng)關(guān)系是通過(guò)鼠標(biāo)或鍵盤(pán)方向鍵調(diào)整,類(lèi)似桿件設(shè)計(jì)的幾何作圖法,存在一定人為操作的誤差,所以該方法僅是機(jī)構(gòu)運(yùn)動(dòng)的簡(jiǎn)單模擬,且運(yùn)動(dòng)情況單一,作為機(jī)械教學(xué)模擬課件適用范圍略顯不足。

        二 基于Flash ActionScript的平面曲柄滑塊機(jī)構(gòu)教學(xué)模擬課件的研制

        基于Flash ActionScript的動(dòng)畫(huà)模擬是利用ActionScript腳本語(yǔ)言結(jié)合Flash軟件本身繪制矢量圖的優(yōu)勢(shì)來(lái)制作。類(lèi)似桿件設(shè)計(jì)的解析法,制作上述平面曲柄滑塊機(jī)構(gòu)的教學(xué)模擬課件必須要了解其運(yùn)動(dòng)的規(guī)律。若桿AB為曲柄,長(zhǎng)度為l1,BC為連桿,長(zhǎng)度為l2,C1、C2為滑塊極限位置, H為滑塊的行程,e為偏距(圖2)。根據(jù)機(jī)構(gòu)運(yùn)動(dòng)的原理[1],當(dāng)曲柄AB勻速轉(zhuǎn)動(dòng),各節(jié)點(diǎn)、滑塊及角度 和 之間有如下關(guān)系:

        A點(diǎn)的坐標(biāo)為 ,則

        B點(diǎn)的坐標(biāo)為;

        C點(diǎn)的坐標(biāo)為 , ;

        C1點(diǎn)的坐標(biāo)為 , ;

        C2點(diǎn)的坐標(biāo)為 , ;

        行程 ;

        角度 和 之間關(guān)系有;

        滑塊的坐標(biāo)即為點(diǎn)C的坐標(biāo);

        為保證運(yùn)動(dòng)可行性,兩桿長(zhǎng)度還必須有 的關(guān)系。

        根據(jù)以上關(guān)系,設(shè)計(jì)出平面曲柄滑塊機(jī)構(gòu)的動(dòng)畫(huà)模型,可以根據(jù)輸入不同的曲柄和連桿的長(zhǎng)度和偏距來(lái)觀察機(jī)構(gòu)不同的運(yùn)動(dòng)變化情況,并顯示不同狀態(tài)下滑塊的行程,且曲柄的轉(zhuǎn)速可調(diào)。其制作過(guò)程如下:

        在Flash中分別創(chuàng)建一個(gè)小圓點(diǎn)(節(jié)點(diǎn))的影片剪輯元件和滑塊影片剪輯元件,放置在Flash主場(chǎng)景中并分別命名為“da”和“hk”;繪制4個(gè)輸入文本框和1個(gè)動(dòng)態(tài)文本框,分別定義為“sd”、“qb”、“l(fā)g” 、“pxj”和“H”,表示輸入的速度值、曲柄長(zhǎng)度值、連桿長(zhǎng)度值和顯示行程的值;點(diǎn)A、B、C、C1和C2的坐標(biāo)分別表示為“xa”、“ya”、“xb”、“yb”、“xc”、“yc”、“xc1”、“yc1”和“xc2”、“yc2”;Flash公用庫(kù)中引入3個(gè)按鈕,分別用于確認(rèn)輸入數(shù)值和控制運(yùn)動(dòng)的播放(命名為“anp”)和暫停(命名為“ans”)(圖3)。注意Flash中的y坐標(biāo)軸正向向下,具體ActionScript程序如下:

        主場(chǎng)景第一幀上的程序:

        this.anp._visible = 0;//隱藏播放按鈕

        this.ans._visible = 1;//顯示暫停按鈕

        this.jg._visible=0;//隱藏輸入警告

        xa = this.da._x;

        ya = this.da._y;//將xa和ya表示為點(diǎn)A的坐標(biāo)值

        i = 90;//定義曲柄初始角度

        v = 5;//定義曲柄初始轉(zhuǎn)速

        l1 = 100;//定義曲柄初始長(zhǎng)度,用l1表示

        l2 = 200;//定義連桿初始長(zhǎng)度,用l2表示

        e=0;//定義偏距初始值,用e表示

        duplicateMovieClip(this.da, "db", 2);//生成點(diǎn)B

        this.db._x = xa+l1*Math.cos(i*Math.PI*1.0E+00/180);

        this.db._y = ya+l1*Math.sin(i*Math.PI*1.0E+00/180);

        //定義點(diǎn)B的初始位置

        xb = this.db._x;

        yb = this.db._y;//將xb和yb表示為點(diǎn)B的坐標(biāo)值

        duplicateMovieClip(this.da, "dc1", 3);//生成點(diǎn)C1

        this.dc1._alpha = 50;//改變點(diǎn)C1的透明度為50%

        this.dc1._x = xa+(l2-l1);

        this.dc1._y = ya+e;

        //定義點(diǎn)C1的初始位置

        duplicateMovieClip(this.dc1, "dc2", 4);//生成點(diǎn)C2

        this.dc2._x = xa+(l2+l1);

        this.dc2._y = ya+e;

        //定義點(diǎn)C2的初始位置

        H = this.dc2._x-this.dc1._x;

        //將H表示為行程并顯示在文本框H中

        duplicateMovieClip(this.da, "dc", 5);//生成點(diǎn)C

        this.dc._x = xb+l2*Math.cos(Math.acos(l1*Math.sin(Math.atan((xb-xa)/(yb-ya)))/l2));

        this.dc._y = ya;//定義點(diǎn)C的初始位置

        this.hk._x = this.dc._x;

        this.hk._y = this.dc._y;

        //定義滑塊的初始位置,即為點(diǎn)C的位置

        this.pj._y = ya+e;

        主場(chǎng)景第二幀上的程序:

        this.dc1._x = xa+Math.sqrt(Math.pow((l2-l1), 2)-Math.pow(e, 2));

        this.dc1._y = ya+e;

        this.dc2._x = xa+Math.sqrt(Math.pow((l2+l1), 2)-Math.pow(e, 2));

        this.dc2._y = ya+e;

        this.pj._y = ya+e;

        H = Math.round((this.dc2._x-this.dc1._x)*100)/100;

        //將H表示為行程并顯示在文本框H中(保留兩位小數(shù))

        xb = xa+l1*Math.sin(i*Math.PI*1.0E+00/180);

        yb = ya-l1*Math.cos(i*Math.PI*1.0E+00/180);

        this.dc._x = xb+Math.sqrt(Math.pow(l2, 2)-Math.pow((ya-yb+e), 2));

        this.dc._y=ya+e;

        xc = this.dc._x;

        yc = this.dc._y;

        this.hk._x = xc;

        this.hk._y = yc;

        this.pj._y = yc;

        this.createEmptyMovieClip("gan", 1);

        gan.lineStyle(5, 0x333333, 100);

        gan.moveTo(xa, ya);

        gan.lineTo(xb, yb);

        gan.lineTo(xc, yc);//繪制曲柄和連桿

        this.db._x = xb;

        this.db._y = yb;

        if (i>=360) { i = 0;}

        i = i+v;

        主場(chǎng)景第三幀上的程序:

        gan.clear();

        gotoAndPlay(2);

        按鈕上的ActionScript程序如下:

        輸入確定按鈕

        on (release, keyPress "") {

        //將文本框中輸入的數(shù)值賦給對(duì)應(yīng)的值

        v = Number(sd);

        l1 = Number(qb);

        l2 = Number(lg);

        e= Number(pxj);

        if (l2

        this.jg._visible = 1;

        l2 = l1;

        e=0;

        } else {

        this.jg._visible = 0;

        }

        }

        播放按鈕

        on (release) {

        play();

        this.anp._visible = 0;

        this.ans._visible = 1;

        }

        暫停按鈕

        on (release) {

        stop();

        this.anp._visible = 1;

        this.ans._visible = 0;

        }

        制作成的教學(xué)模擬課件如圖3 所示,生成的swf動(dòng)畫(huà)文件體積約為8KB。該模擬課件可以顯示機(jī)構(gòu)在不同條件下的運(yùn)動(dòng)情況,如正反轉(zhuǎn)和急回特性等,運(yùn)動(dòng)較為精確,課件具有一定的可調(diào)節(jié)性,如各桿長(zhǎng)度、偏距、速度等可自行輸入,比傳統(tǒng)Flash模擬的平面曲柄滑塊機(jī)構(gòu)課件有了更好的交互性能,更有利于其作為教學(xué)模擬課件的應(yīng)用。

        三 基于Flash ActionScript的2K-H型周轉(zhuǎn)輪系模擬課件的研制

        周轉(zhuǎn)輪系的傳動(dòng)比問(wèn)題一直是學(xué)生在學(xué)習(xí)機(jī)械基礎(chǔ)課程的難點(diǎn),很多學(xué)生不能在思想上形成最初的機(jī)構(gòu)模型。若采用傳統(tǒng)Flash模擬動(dòng)畫(huà)制作該教學(xué)模擬課件,其中包括行星輪系和差動(dòng)輪系,至少需要制作兩個(gè)課件,而采用ActionScript程序,則僅用一個(gè)教學(xué)模擬課件就可以實(shí)現(xiàn)包括周轉(zhuǎn)輪系的轉(zhuǎn)化等這部分知識(shí)在內(nèi)的教學(xué)需要。

        制作這樣的教學(xué)模擬課件,同樣必須先了解該機(jī)構(gòu)的運(yùn)動(dòng)規(guī)律。圖4是最常見(jiàn)的2K-H型周轉(zhuǎn)輪系,根據(jù)周轉(zhuǎn)輪系的轉(zhuǎn)化原理[1],各個(gè)參數(shù)之間有如下關(guān)系:

        該周轉(zhuǎn)輪系自由度 ,機(jī)構(gòu)要有確定的運(yùn)動(dòng)必須有兩個(gè)已知條件,考慮到教學(xué)的需要,將 和 作為已知條件輸入,來(lái)調(diào)節(jié)周轉(zhuǎn)輪系的運(yùn)動(dòng)情況,其制作過(guò)程如下:

        在Flash中分別創(chuàng)建各個(gè)零件的影片剪輯元件和各控制按鈕元件(圖5),添加一個(gè)影片剪輯元件將轉(zhuǎn)臂和行星輪元件放在一起,命名為“H”,將分別表示中心輪、內(nèi)齒輪、行星輪和轉(zhuǎn)臂的“l(fā)1”、“l(fā)3”、“l(fā)2”和“H”各元件按相應(yīng)位置放置在Flash主場(chǎng)景中,其中中心輪、內(nèi)齒輪和行星輪的齒數(shù)分別為21、57和18,模數(shù)取10個(gè)像素,“n1”、“n2”、“n3”和“nH”分別表示各構(gòu)件的轉(zhuǎn)速,“fdy”表示各輪的分度圓;將分別控制分度圓顯示、數(shù)據(jù)輸入說(shuō)明顯示和數(shù)據(jù)輸入確認(rèn)等按鈕及其輔助元件也按相應(yīng)位置放在Flash主場(chǎng)景中并給以命名。具體ActionScript程序如下:

        主場(chǎng)景第一幀上的程序:

        n1 = 0;

        n3 = 0;

        z1 = 21;

        z2 = 18;

        z3 = 57;

        nH = 0;

        //定義各初始值

        this.srjg._visible = 0;//隱藏?cái)?shù)據(jù)輸入警告

        this.srsm._visible = 0;//隱藏?cái)?shù)據(jù)輸入說(shuō)明

        stop();

        主場(chǎng)景第二幀上的程序:

        this.l1._rotation = n1;//中心輪的轉(zhuǎn)角

        this.l3._rotation = n3;//內(nèi)齒輪的轉(zhuǎn)角

        nH = (z1*n1+z3*n3)/(z1+z3);

        this.H._rotation = nH;//轉(zhuǎn)臂的轉(zhuǎn)角

        this.H.l2._rotation=(n3-nH)*z3/z2;

        //行星齒輪相對(duì)轉(zhuǎn)臂的轉(zhuǎn)角

        n1 = n1+i;

        n3 = n3+j;

        主場(chǎng)景第三幀上的程序:

        gotoAndPlay(2);

        各控制按鈕上的ActionScript程序

        使用說(shuō)明按鈕(顯示數(shù)據(jù)輸入說(shuō)明)

        on (release) {

        this.srsm._visible = 1;

        }

        關(guān)閉說(shuō)明按鈕(關(guān)閉說(shuō)明和數(shù)據(jù)輸入說(shuō)明在同一個(gè)元件中)

        on (release) {

        this._visible = 0;

        }

        顯示分度圓按鈕

        on (release) {

        this.l1.fdy._visible=1;

        this.H.l2.fdy._visible=1;

        this.l3.fdy._visible=1;

        this.ycfdy._visible=1;

        this.xsfdy._visible=0;

        }

        隱藏分度圓按鈕

        on (release) {

        this.l1.fdy._visible=0;

        this.H.l2.fdy._visible=0;

        this.l3.fdy._visible=0;

        this.ycfdy._visible=0;

        this.xsfdy._visible=1;

        }

        數(shù)據(jù)輸入確認(rèn)按鈕

        on (release, keyPress "") {

        i = Number(t1);

        j = Number(t2);

        play();

        if (i>10 || i<-10 || j>3 || j<-3) {

        i = 0;

        j = 0;

        this.srjg._visible = 1;

        } else {

        this.srjg._visible = 0;

        }

        }

        制作成的教學(xué)模擬課件如圖5 所示,生成的swf動(dòng)畫(huà)文件體積約為25KB。該模擬課件可以顯示周轉(zhuǎn)輪系在不同速度條件下的運(yùn)動(dòng)情況,例如輸入負(fù)值該輪將實(shí)現(xiàn)反轉(zhuǎn),輸入數(shù)值“0”則停止轉(zhuǎn)動(dòng)(自由度變?yōu)?),課件具有一定的可調(diào)節(jié)性,可模擬真實(shí)環(huán)境下的機(jī)構(gòu)運(yùn)動(dòng)情況,作為教師課堂教學(xué)實(shí)驗(yàn)效果更佳。

        四 結(jié)束語(yǔ)

        在現(xiàn)代教學(xué)中,傳統(tǒng)的模擬教學(xué)課件已經(jīng)遠(yuǎn)遠(yuǎn)不能滿(mǎn)足現(xiàn)代教學(xué)的要求,這對(duì)教學(xué)方式和教師等都提出了更高的要求,所以對(duì)于教學(xué)模擬課件的研制有著極為重要的意義。而這種基于Flash ActionScript的機(jī)械類(lèi)教學(xué)模擬課件,不但動(dòng)畫(huà)體積占用空間小、畫(huà)面質(zhì)量高,還能實(shí)現(xiàn)機(jī)構(gòu)運(yùn)動(dòng)的精確模擬,根據(jù)實(shí)際情況或教學(xué)的需要可以實(shí)現(xiàn)更好的交互性能,使教學(xué)模擬課件具有較高的仿真性;可以實(shí)現(xiàn)機(jī)構(gòu)中特殊位置運(yùn)動(dòng)的軌跡再現(xiàn),使教學(xué)模擬課件同時(shí)也具有了一定研究性;可以實(shí)現(xiàn)不同條件下(位置、角度、長(zhǎng)度、速度等)機(jī)構(gòu)不同的機(jī)械運(yùn)動(dòng)特性,大大提高了教學(xué)模擬課件的適用性和廣泛性。

        猜你喜歡
        輪系曲柄滑塊
        某四缸增壓汽油機(jī)前端輪系的設(shè)計(jì)與布置
        游梁式抽油機(jī)曲柄銷(xiāo)接觸壓力分析
        抽油機(jī)曲柄銷(xiāo)裝置失效分析及優(yōu)化對(duì)策
        基于急轉(zhuǎn)速度系數(shù)設(shè)計(jì)雙曲柄機(jī)構(gòu)研究
        基于SolidWorks周轉(zhuǎn)輪系裝配與運(yùn)動(dòng)仿真
        多自由度行星輪系機(jī)構(gòu)拓?fù)浔硎九c同構(gòu)判別
        前?;瑝K注射模設(shè)計(jì)
        斜滑塊內(nèi)抽芯塑件的注射模具設(shè)計(jì)
        河南科技(2015年2期)2015-02-27 14:20:28
        曲柄滑塊機(jī)構(gòu)的運(yùn)動(dòng)分析
        河南科技(2014年6期)2014-02-27 14:06:47
        滑塊分揀系統(tǒng)在我國(guó)煙草行業(yè)中的應(yīng)用
        河南科技(2014年3期)2014-02-27 14:05:55
        av免费在线播放一区二区| 亚洲日本va午夜在线影院| 免费无码又爽又刺激高潮的视频网站 | 日本不卡视频一区二区三区| 国产无遮挡又黄又爽高潮| 久久精品国产亚洲av高清漫画 | 日韩av在线播放人妻| 久久精品国产视频在热| 成人久久免费视频| 国产精品亚洲精品日韩动图| 国产精品国产高清国产专区 | 国产成人综合在线视频| 成人永久福利在线观看不卡| 久久精品国产在热亚洲不卡| 人人鲁人人莫人人爱精品| 国产熟妇搡bbbb搡bb七区| 精品无码人妻久久久一区二区三区| 韩国一区二区三区黄色录像| 免费超爽大片黄| 国产人成精品综合欧美成人| 九色精品国产亚洲av麻豆一 | 中文字幕乱码无码人妻系列蜜桃| 国产精品嫩草影院AV| 亚洲av一二三又爽又爽又色| 日韩少妇人妻中文字幕| 国产农村乱子伦精品视频| 人妻精品一区二区三区视频| 大陆少妇一区二区三区 | 亚洲av手机在线网站| 激情第一区仑乱| 亚洲午夜精品久久久久久抢 | 国产在线一区二区三区四区| 亚洲国产精品日韩av专区| 久久与欧美视频| 亚洲精品中文字幕一二三四| 免费网站看av片| 国产精品不卡无毒在线观看| 精品黄色一区二区三区| 在线观看老湿视频福利| 国产乱沈阳女人高潮乱叫老| 国产三级伦理视频在线|