Javascript 负方向的指数公式?

Javascript 负方向的指数公式?,javascript,algorithm,math,Javascript,Algorithm,Math,我有点想不明白,是不是方向不对?这一定很简单,但似乎无法理解 x=当前x位置 dir=x轴上的运动方向 if (tween == 'linear'){ if (dir == 1) { x += (x / 5); } else if (dir == -1){ //what here?? } } 如果您执行类似于x-=(x/5)的操作,将不可能跨越x=0——随着x接近0,它的变化开始越来越小。尝试使用最小增量 v = abs(

我有点想不明白,是不是方向不对?这一定很简单,但似乎无法理解

x=当前x位置

dir=x轴上的运动方向

if (tween == 'linear'){

    if (dir == 1) {

        x += (x / 5);
    }

    else if (dir == -1){

        //what here??
    }
}

如果您执行类似于
x-=(x/5)
的操作,将不可能跨越
x=0
——随着
x
接近
0
,它的变化开始越来越小。尝试使用最小增量

v = abs(x) / 5;
x += ((v > MINVEL) ? v : MINVEL) * dir;

如果您执行类似于
x-=(x/5)
的操作,将不可能跨越
x=0
——随着
x
接近
0
,它的变化开始越来越小。尝试使用最小增量

v = abs(x) / 5;
x += ((v > MINVEL) ? v : MINVEL) * dir;

最后,我添加了一个帧计数器(t),并使用:

x = -(change*dir) * (t /= 10) * (t - 2) + x;
从我最喜欢的as3 tweener库:

最后,我添加了一个帧计数器(t)并使用了:

x = -(change*dir) * (t /= 10) * (t - 2) + x;
从我最喜欢的as3 tweener库:
这里缺少的是,你需要考虑<强>偏离起点,而不是X=0<强(也考虑方向的符号,其他人正确地表示)。也就是说,如果你的起点是x0,你的方程应该更像:

x += (x-x0)/5
这是正方向和负方向的运动图(注意位置在垂直轴上,时间在水平轴上)

下面是Python代码。(请注意,我添加了一个dt术语,因为在没有明确时间的情况下进行动态模拟太奇怪了。)


<> P>这里缺少的是,你需要考虑<强>偏离起点,而不是X=0 (也考虑方向的符号,其他人正确地表示)。也就是说,如果你的起点是x0,你的方程应该更像:

x += (x-x0)/5
这是正方向和负方向的运动图(注意位置在垂直轴上,时间在水平轴上)

下面是Python代码。(请注意,我添加了一个dt术语,因为在没有明确时间的情况下进行动态模拟太奇怪了。)



x
指的是什么?您想要
x-=(x/5)
?在此上下文中,方向是什么意思?对不起-x是当前的x位置,dir是x轴上的方向。如果您将
x
更改为与
x
成比例的量,您将得到指数运动,而不是线性运动。也许你的意思是
x+=v/5
,其中
v
是速度?不确定正确的术语是什么,但是x+=(x/5);当方向为正时,正是我需要它的时候,正是当我需要向左/向左动画时,我似乎无法得到它坦率地说,我认为你根本不理解基本物理。
x
指的是什么?您想要
x-=(x/5)
?在此上下文中,方向是什么意思?对不起-x是当前的x位置,dir是x轴上的方向。如果您将
x
更改为与
x
成比例的量,您将得到指数运动,而不是线性运动。也许你的意思是
x+=v/5
,其中
v
是速度?不确定正确的术语是什么,但是x+=(x/5);当方向为正时,它正是我所需要的工作方式,当我需要向左/向左动画时,我似乎无法理解它坦白地说,我认为你根本不理解基本的物理原理。这是一个多么好的演示,说明了避免if语句中的块如何降低可读性。避免换行是可以的,但请放上大括号,这样我可以向上投票。我不知道海报想要什么(根据被删除的答案中的另一条评论):)如果他想要线性运动,那就是+=5。我假设他想要一些与线加速度有关的东西,所以继续从速度中加减一些东西……我只是在寻找x,x+=(x/5)的指数增长;正向可以,但不确定向左/负方向设置动画时应该是什么。这是一个很好的演示,演示了如何避免if语句中的块会降低可读性。避免换行是可以的,但请放上大括号,这样我可以向上投票。我不知道海报想要什么(根据被删除的答案中的另一条评论):)如果他想要线性运动,那就是+=5。我假设他想要一些与线加速度有关的东西,所以继续从速度中加减一些东西……我只是在寻找x,x+=(x/5)的指数增长;正向效果正常,但不确定向左/负方向设置动画时应该是什么效果,而不是后面的效果,x+=(x/5);对于正方向来说是很好的,只是在我想要设置左/负动画时卡住了。当
x=-10
时,如果
dir=+1
,则
x
将变为
8
,如果
dir=-1
,则变为
-12
。这不对吗?那么它应该是怎样的呢?对于dir=+1,它应该是6.4,5.12,4.09。。。对于dir=-1,-14.4,-17.28,-20.73。。。。一个范围增大,另一个范围减小您希望
x
的幅度在
dir=+1
时增大,在
dir=-1
时减小吗?在这种情况下,您可以尝试:
x=(x*(5+dir)/5)。如果不是这样,请提供样品箱,因为我的水晶球电池快用完了。:)显然我的水晶球出故障了。请提供样品箱。四种情况应该足够了,分别为
dir
+1和-1,以及正和负
x
(例如-10和10)。不包括im之后的效果,x+=(x/5);对于正方向来说是很好的,只是在我想要设置左/负动画时卡住了。当
x=-10
时,如果
dir=+1
,则
x
将变为
8
,如果
dir=-1
,则变为
-12
。这不对吗?那么它应该是怎样的呢?对于dir=+1,它应该是6.4,5.12,4.09。。。对于dir=-1,-14.4,-1