package
{
import flash.display.Sprite;
import flash.events.Event;
/**
* ...
* @author zkl
*/
public class Spring1 extends Sprite
{
private var ball:Ball;
private var vx:Number = 0;
private var vy:Number = 50;
private var spring:Number = 0.1;
private var friction:Number = 0.95;
private var targetX:Number = stage.stageWidth / 2;
private var targetY:Number = stage.stageHeight / 2;
public function Spring1():void
{
init();
}
private function init():void
{
ball = new Ball;
addChild(ball);
//ball.y = stage.stageHeight / 2;
addEventListener(Event.ENTER_FRAME, EnterFrame);
}
private function EnterFrame(e:Event):void
{
//与目标点的距离:
var dx:Number = targetX - ball.x;
var dy:Number = targetY - ball.y;
//下面计算加速度。加速度与距离成正比,也就是距离乘以 spring 的值
var ax:Number = dx * spring;
var ay:Number = dy * spring;
//把加速度加到速度向量中。
vx += ax;
vy += ay;
//引入摩擦力
vx *= friction;
vy *= friction;
ball.x += vx;
ball.y += vy;
}
}
}
最后加入重力,修改如下
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.display.Graphics;
/**
* ...引入y向速度后为二维弹性运动
* @author zkl
*/
public class Spring1 extends Sprite
{
private var ball:Ball;
private var vx:Number = 0;
private var vy:Number = 20;
private var spring:Number = 0.1;
private var friction:Number = 0.95;
//重力
private var gravity:Number = 8;
//private var targetX:Number = stage.stageWidth / 2;
//private var targetY:Number = stage.stageHeight / 2;
public function Spring1():void
{
init();
}
private function init():void
{
ball = new Ball;
addChild(ball);
//ball.y = stage.stageHeight / 2;
addEventListener(Event.ENTER_FRAME, EnterFrame);
}
private function EnterFrame(e:Event):void
{
//与目标点的距离:
var dx:Number = mouseX - ball.x;
var dy:Number = mouseY - ball.y;
//下面计算加速度。加速度与距离成正比,也就是距离乘以 spring 的值
var ax:Number = dx * spring;
var ay:Number = dy * spring;
//把加速度加到速度向量中。
vx += ax;
vy += ay;
vy += gravity;
//引入摩擦力
vx *= friction;
vy *= friction;
ball.x += vx;
ball.y += vy;
drawLine(mouseX, mouseY, ball.x, ball.y);
}
private function drawLine(x1:Number,y1:Number,x2:Number,y2:Number):void
{
graphics.clear();
graphics.lineStyle(1);
graphics.moveTo(x1, y1);
graphics.lineTo(x2, y2);
}
}
}
分享到:
相关推荐
2. **二维模型**:在本案例中,我们只考虑水平和垂直两个方向的运动,即忽略地球曲率和深度的影响,这在某些场景下能够简化问题,降低计算复杂度。 3. **粘弹性材料**:粘弹性材料指的是同时具有弹性(即时恢复形变...
OpenGL可运动的弹性绳子。使用弹性网络,一维弹性物体,包含两个头文件,内涵绘制函数和物理计算函数。绳子的一端可以操控,另一端在中立控制下自然摆动。
在给定的“umat.rar”压缩包中,包含了一个名为“umat.for”的源代码文件,这是用FORTRAN编程语言编写的UMAT子程序,专门用于描述二维线性粘弹性材料。 粘弹性材料是一种同时表现出弹性(即时恢复形变)和粘性...
超声电机驱动的二维直线运动平台是一种精密定位和运动控制技术的应用实例,广泛应用于科研、制造、医疗等领域。这种装置通常结合了超声电机的独特性质,以实现高速、高精度和低摩擦的线性运动。 超声电机,又称...
标题中的“用C#编写的二维弹球球小游戏”指的是使用C#编程语言开发的一款基于二维平面的游戏。C#是一种广泛应用于游戏开发的高级编程语言,由微软公司开发,尤其在Windows平台上的游戏开发中非常常见。这款弹球游戏...
标题中的“运动的球(简单二球运动)”指的是一个基于计算机编程的模拟运动的球体模型,可能是通过二维平面来展示两个球体的动态运动情况。这种模型通常用于教学目的,让学生理解物理运动的基本原理,例如重力、碰撞...
标题中的“SH波的二维时域各向同性(粘)弹性FD建模和全波”涉及了地震学和数值模拟领域的一些核心概念。这里,我们来深入探讨这些概念: 1. **SH波**:SH波,即剪切波(Shear Wave),是地震波的一种类型,它沿...
二维Boussinesq方程组解的分支问题探讨了在给定周期性边界条件下,二维Boussinesq方程组的解随时间演化时出现的新解的生成和消失现象。这一数学物理问题通常被用来描述热对流现象,广泛应用于海洋学、大气科学以及...
基于MATLAB的二维射线追踪程序是这样的一个工具,它利用数学模型模拟地震波在地球内部的传播路径,从而推断地质结构。本程序主要关注的是地震声波的正演模拟,即通过设定初始条件,预测地震波如何从震源出发,经过...
在本项目中,"vs+opengl实现二维弹球游戏" 是一个计算机图形学课程设计实验,主要利用Microsoft Visual Studio(VS)集成开发环境和OpenGL图形库来创建一个简单的二维弹球游戏。OpenGL是一个跨语言、跨平台的编程...
本压缩包包含的ABAQUS切削仿真实例分为两类:二维切削和三维铣削。这两个实例通过inp文件格式进行设置,这是ABAQUS中的输入文件,用于定义几何形状、材料属性、边界条件、载荷和求解参数等。 一、二维切削实例 在二...
应用拉格朗日方程方法研究了理想对称十二弹性振子做二维运动的变化规律,得到其微小振动的控制方程。用数值解法求解振动方程,得到了振子运动的时程响应图样。结果表明:理想对称十二弹性振子的振动为非简谐的周期性...
在ANSYS仿真软件中,二维被动(2D Passive)通常指的是在二维空间内进行的静力学或动力学分析,其中“被动”可能是指模型中的某些部分是受外界影响而不施加主动力的组件。ANSYS运动仿真(ANSYS Motion Simulation)...
MATLAB可视化大学物理学 第01章 运动学 MATLAB可视化大学物理学 第02章 牛顿运动定律 MATLAB可视化大学物理学 第03章 运动的守恒定律 MATLAB可视化大学物理学 第04章 刚体 MATLAB可视化大学物理学 第05章 振动 ...
在MATLAB中处理这种问题,首先需要建立薄板的三维几何模型,并通过适当的坐标变换将其简化为二维问题。然后,定义薄板的边界条件和荷载,如均匀分布载荷、集中载荷或周期性载荷。接下来,采用有限元法(FEM)将连续...
在模拟弹性支撑刚性二维圆柱的涡激运动时,研究者们关注的主要现象包括“拍击”和“锁定”现象。拍击现象指的是由于圆柱尾流的周期性变化,导致圆柱体的振动在流向和横向力的作用下出现振幅周期性增减的特征;锁定...
二维声子晶体是一种由两种或多种不同材料周期性排列构成的二维结构,它在声学领域具有重要研究价值。在声子晶体中,声波的传播受到周期性势场的调控,导致出现各种有趣的声学现象,如带隙、局域模式等。本程序是基于...
这个文件很可能是一个程序或软件的发行版本,用于二维粘弹性声波方程的有限差分模拟。"SOFI2D"可能代表“二维粘弹性声波方程求解器”或者类似的含义,是一个专门的数值计算工具。 "弹性波方程"是物理学和地球科学中...