1.3 让物体沿任意方向运动【三角函数、正弦、余弦、弧度】 您所在的位置:网站首页 曲线运动水平方向公式 1.3 让物体沿任意方向运动【三角函数、正弦、余弦、弧度】

1.3 让物体沿任意方向运动【三角函数、正弦、余弦、弧度】

2024-07-03 08:13| 来源: 网络整理| 查看: 265

我们已经学习了让物体沿水平、斜方向运动。这次我们再进一步,学习如何让物体沿任意方向运动吧。

假设物体的运动速度为v,那么物体沿任意方向的运动一般都可以被拆分成为x轴,y轴两个方向上的运动。假设拆分后在x轴方向的速度为vx,在y方向上的速度为vy,物体运动方向与x轴方向的夹角为θ

vx = cosθ * v

vy = cosθ * v

使用弧度让物体的运动方向每次都不一样

package { import flash.display.MovieClip; import flash.events.Event; public class Main extends MovieClip { private var vx:Number = 4; private var vy:Number = 4; private var angle:Number = 0; public function Main() { vx = 4 * Math.cos(angle); vy = 4 * Math.sin(angle); this.addEventListener(Event.ENTER_FRAME, onFrame); } private function onFrame(e:Event) { plan.x += vx; plan.y += vy; //如果飞机飞出舞台,重置其坐标 if (plan.x > stage.stageWidth || plan.x < 0 || plan.y > stage.stageHeight || plan.y < 0) { plan.x = stage.stageWidth / 2; plan.y = stage.stageHeight / 2; //增加角的弧度 angle += 2 * Math.PI / 30; //经过一周后 弧度重置 if (angle > 2 * Math.PI) { angle -= 2 * Math.PI; } vx = 4 * Math.cos(angle); vy = 4 * Math.sin(angle); } } } } 这个程序的关键点在于移出画面外时的处理。

//增加角的弧度 angle += 2 * Math.PI / 30; //经过一周后 弧度重置 if (angle > 2 * Math.PI) { angle -= 2 * Math.PI; }

此处 角度 递增使用2*Math.PI / 30,可直观的看出每次增加1/30周。

下面的重置弧度则是为了避免出现过大的弧度值,过大的弧度值可能会在计算时出现差错,以及避免运算时间过长。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有