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年大學畢業,講師,碩士生,現主要從事計算機多媒體技術方面的教學與研究工作。

[編輯] 李啟棟

主站蜘蛛池模板: 国产一区在线视频观看| 亚洲欧美另类久久久精品播放的| 午夜精品久久久久久久99热下载| 国产精品亚洲片在线va| 人妻精品久久久无码区色视| 99国产在线视频| 在线欧美一区| 亚洲一区二区三区在线视频| 日韩欧美国产区| 国产人人射| 福利视频一区| 国产成人综合亚洲欧美在| 国产一区二区丝袜高跟鞋| 亚洲精品免费网站| 99久久国产精品无码| hezyo加勒比一区二区三区| 亚洲丝袜中文字幕| 国产无码制服丝袜| 色综合婷婷| 国产亚洲美日韩AV中文字幕无码成人| 国产女人18毛片水真多1| 波多野结衣一区二区三区88| 99久久精品免费看国产免费软件| 欧美视频在线不卡| 欧美成人免费午夜全| 国产AV毛片| 成年人福利视频| 91久久夜色精品国产网站| a毛片在线免费观看| 天天色综网| 手机在线免费不卡一区二| 国产视频a| 人妻无码中文字幕一区二区三区| 午夜无码一区二区三区| 欧美一道本| 91亚洲精品国产自在现线| a毛片免费在线观看| 国产色婷婷| 欧美午夜在线播放| 国产尤物jk自慰制服喷水| 国产h视频在线观看视频| 少妇高潮惨叫久久久久久| 日韩天堂网| 日本在线视频免费| 在线播放真实国产乱子伦| 午夜国产精品视频| 91成人在线免费视频| 国产女人水多毛片18| 色哟哟色院91精品网站| 国产视频你懂得| 四虎永久在线精品影院| 亚洲第一精品福利| 四虎精品国产AV二区| 国产白浆一区二区三区视频在线| 91精品啪在线观看国产60岁| 2021国产精品自产拍在线| 91麻豆久久久| 午夜国产在线观看| 91人妻日韩人妻无码专区精品| 久久人人97超碰人人澡爱香蕉| 亚洲综合专区| 国模极品一区二区三区| 美女无遮挡免费视频网站| 国产免费黄| 国产精品嫩草影院av| 国内熟女少妇一线天| 不卡色老大久久综合网| 亚洲国产黄色| 九九线精品视频在线观看| 久久香蕉国产线看观| 国产精品页| 草草影院国产第一页| 欧美啪啪视频免码| 中文字幕波多野不卡一区| 88av在线| 国产精品爽爽va在线无码观看| 在线一级毛片| 蜜桃视频一区二区| 3D动漫精品啪啪一区二区下载| 免费在线成人网| 19国产精品麻豆免费观看| 97在线视频免费观看|