999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ActionScript 的彈性運動虛擬實現

2012-11-22 03:30:24馬鞍山師范高等??茖W校軟件與食品工程系安徽馬鞍山243000
長江大學學報(自科版) 2012年25期

董 娜,俞 欣 (馬鞍山師范高等??茖W校軟件與食品工程系, 安徽 馬鞍山 243000)

基于ActionScript 的彈性運動虛擬實現

董 娜,俞 欣 (馬鞍山師范高等專科學校軟件與食品工程系, 安徽 馬鞍山 243000)

基于ActionScript 編程語言,對一維坐標和二維坐標上從無摩擦力到有摩擦力的彈性運動進行了虛擬實現。研究表明,該程序能準確而直觀地再現彈性運動效果,從而為利用計算機編程技術對物理現象進行準確模擬提供參考。

彈性力學;彈性運動;ActionScript;虛擬技術

計算機技術正在全面進入生產技術、科學研究和社會生活的各個領域,徹底改變著整個人類文明的進程。面向對象(Object Oriented,OO)是上世紀90年代軟件開發方法的主流。ActionScript 3.0 是一種強大的面向對象編程語言,其具有更強的報錯能力,指定類型也更加明確[1]。

求解一個彈性力學問題,應設法確定彈性體中各點的位移、應變和應力等共15個相關函數,但在解決實際問題時,起主要作用的往往是其中幾個函數,因而可以用實驗和數學相結合的方法進行求解[2]。為此,筆者利用ActionScript 3.0對一維、二維彈性運動在一維、二維坐標上的運動狀態進行了模擬,實現了無摩擦力和有摩擦力情況下彈性運動效果,從而為利用計算機編程技術對物理現象進行準確模擬提供參考。

1 一維坐標彈性運動的虛擬實現

彈性運動是彈性力學的一個重要研究領域,它研究彈性物體在外力作用下產生的運動狀態。當皮球落在地面上,由于自身的重力與地面的反作用力,皮球發生形變而產生彈力使皮球從地面上彈起,皮球運動到一定高度,由于地心引力,皮球落回地面并再次發生形變而彈起。使用可以拖拽的小球作為主體。針對上述情況,將x軸的 0 點作為默認位置,使其具有運動到中心點的彈性,并設置一個變量保存彈性的數值,稱之為“彈性系數”[2]。由于較大的彈性系數會使彈性運動顯得十分僵硬,而較小的彈性系數會使彈性運動更加逼真,因而選用彈性系數為0.1:

根據以上思路,假設targetX為100,取前20幀模擬運動情況(見表1)。

利用ActionScript語言實現小球在一維坐標上的無摩擦彈性運動,Springl.as文件如下:

package {

import flash.display.Sprite;

import flash.events.Event;

public class Spring1 extends Sprite {

表1 無摩擦系數時各變量的變化情況

注:dx表示當前位置與目標位置的距離值;ax表

示加速度;vx表示速度向量。下同。

private var ball:Ball;

private var spring:Number = 0.1;

private var targetX:Number = stage.stageWidth/2;

private var vx:Number = 0;

public function Spring1() {

init();

}

private function init():void {

ball = new Ball();

addChild(ball);

ball.y = stage.stageHeight/2;

addEventListener(Event.ENTER_FRAME,

onEnterFrame);

}

private function onEnterFrame(event:Event):void {

var dx:Number = targetX - ball.x;

var ax:Number = dx * spring;

vx += ax;

ball.x += vx;

表2 有摩擦系數時各變量的變化情況

運行以上代碼后發現,沒有摩擦系數時小球一直在原始點左右徘徊。由于小球每次搖擺時的距離相同,所以速度向量也相同,這樣小球會以同樣速度來回擺動。如果引入摩擦力,運動效果將更加逼真,為此設置 friction 變量,friction∈(0,1),取值為 0.95:

private var friction:Number = 0.95;

為了實現小球在有摩擦力效果下的彈性運動,根據以上代碼,將onEnterFrame函數修改為:

private function onEnterFrame(event:Event):void {

var dx:Number = targetX - ball.x;

var ax:Number = dx * spring;

vx += ax; vx *= friction;

ball.x += vx;

}

根據以上思路,模擬有摩擦彈性運動情況,數據如表2所示。

有摩擦系數時小球橫坐標值的變化情況如表3所示。從表3可以看到,小球的橫坐標值從131幀到140幀將逐漸接近于目標位置100,但是無法到達該位置,這時可以設置一個接近范圍,若小球的橫坐標值在該范圍內,便可將橫坐標目標值賦給小球當前橫坐標,從而使小球完全停止。

2 二維坐標彈性運動的虛擬實現

與一維彈性運動虛擬相比較,二維坐標彈性運動時加入了Y軸方向的運動,整個運動是在X坐標和Y坐標上進行的。因此,將一維彈性運動時使用的變量分成X坐標和Y坐標2組分量,相關代碼如下:

表3 有摩擦系數時小球橫坐標值的變化情況

package {

import flash.display.Sprite;

import flash.events.Event;

public class Spring2 extends Sprite {

private var ball:Ball;

private var spring:Number = 0.1;

private var targetX:Number

= stage.stageWidth/2;

private var targetY:Number

= stage.stageHeight/2;

private var vx:Number = 0;

private var vy:Number = 0;

private var friction:Number = 0.95;

public function Spring2() {

init();

}

private function init():void {

ball = new Ball();

addChild(ball);

addEventListener(Event.ENTER_FRAME, onEnterFrame);

}

private function onEnterFrame(event:Event):void {

var dx:Number = targetX - ball.x;

var dy:Number = targetY - ball.y;

var ax:Number = dx * spring;

var ay:Number = dy * spring;

vx += ax;

vy += ay;

vx *= friction;

vy *= friction;

ball.x += vx;

ball.y += vy;

利用以上代碼可以模擬實現二維坐標上具有摩擦力的彈性運動。

3 結 語

基于ActionScript 的編程技術,實現了在一維坐標和二維坐標上的彈性運動,模擬了無摩擦力和有摩擦力條件下的彈性運動。結果表明,該程序能準確而直觀地實現彈性運動效果,從而為利用計算機編程技術對物理現象進行準確模擬提供了一個范例。

[1]朱治國,繆亮,陳艷麗.Flash Action Script 3.0編程技術教程[M].北京:清華大學出版社,2008.

[2]徐芝綸.彈性力學[M].北京:高等教育出版社,2006.

10.3969/j.issn.1673-1409(N).2012.09.036

TP311.1

A

1673-1409(2012)09-N102-03

2012-06-12

安徽省質量工程示范實驗實訓中心基金項目(20101233)。

董娜(1981- ),女,2005年大學畢業,講師,碩士生,現主要從事計算機多媒體技術方面的教學與研究工作。

[編輯] 李啟棟

主站蜘蛛池模板: 日韩欧美中文| 日韩国产综合精选| 午夜国产不卡在线观看视频| 亚洲视屏在线观看| 欧美精品H在线播放| 毛片网站在线播放| 国产99热| 人妻精品久久无码区| 91精品综合| 人妻丰满熟妇av五码区| 在线免费观看AV| 亚洲中文字幕无码mv| 午夜少妇精品视频小电影| 97久久超碰极品视觉盛宴| 91精品国产情侣高潮露脸| 亚洲 欧美 中文 AⅤ在线视频| 亚洲无码在线午夜电影| 精品三级网站| 92午夜福利影院一区二区三区| 亚洲一本大道在线| 毛片a级毛片免费观看免下载| 亚洲伦理一区二区| 国产91九色在线播放| 国产国模一区二区三区四区| 亚洲国产精品一区二区高清无码久久| 香蕉久久永久视频| 久久久久久久久亚洲精品| 亚洲国产欧美国产综合久久| 欧美区一区| 好紧好深好大乳无码中文字幕| 青青青视频91在线 | 97精品国产高清久久久久蜜芽| 五月天天天色| 亚洲日韩精品综合在线一区二区| 国产永久免费视频m3u8| 久草网视频在线| Jizz国产色系免费| 日本高清免费不卡视频| 欧美精品不卡| 国产v精品成人免费视频71pao| 91高清在线视频| 老司机精品久久| 国产第二十一页| 国产精品亚洲欧美日韩久久| 精品欧美日韩国产日漫一区不卡| 香蕉伊思人视频| 国产自在自线午夜精品视频| 99久久免费精品特色大片| 欧美成人影院亚洲综合图| 日韩欧美国产三级| 欧美有码在线| 99视频免费观看| 国产91精品最新在线播放| 漂亮人妻被中出中文字幕久久| 在线观看国产精品日本不卡网| 亚洲天堂福利视频| 一级毛片高清| 任我操在线视频| 亚洲区第一页| 97视频精品全国免费观看| 国产网站一区二区三区| 青青国产在线| 欧美全免费aaaaaa特黄在线| 亚洲性影院| 日韩东京热无码人妻| 国产精品浪潮Av| 国产va在线观看| aaa国产一级毛片| 女人18毛片水真多国产| 亚洲国产精品成人久久综合影院| 亚洲无码高清一区| 超清无码一区二区三区| 美女扒开下面流白浆在线试听| 亚洲精品高清视频| 日韩精品专区免费无码aⅴ| 亚洲天堂精品视频| 亚洲福利视频一区二区| 久久人人爽人人爽人人片aV东京热| 欧美国产视频| 国产97公开成人免费视频| 老司机午夜精品网站在线观看 | 国产一级一级毛片永久|