3

这是我在 JavaScript 中处理的原子动画的静态帧,以该图像为模型。

在此处输入图像描述

这是用于根据时间确定电子在其轨道上的位置的代码:

// Get position along elliptical path.
var x = Math.cos( this.timer.delta() * this.speed ) * ( this.pathWidth / 2 );
var y = Math.sin( this.timer.delta() * this.speed ) * ( this.pathHeight / 2 );

我想做的是在路径的橙色部分将电子放在原子核上方,在绿色部分将电子放在原子核下方。

当 时this.timer.delta() == 0,电子位于最右端,然后逆时针移动。

我正在寻求以下两件事的帮助:

1) 找出电子在其轨道最左侧的时间点。

2)确定在任何给定时间内电子当前在哪一半路径上。

理想情况下,无论 的值如何,解决方案都应该起作用this.speed(这是用于加速或减慢动画的数字乘数)。

4

1 回答 1

4

这完全取决于角度 - 角度是您表达中的这一部分:

this.timer.delta() * this.speed

因此,您可以简单地确定角度是否在零和 PI 之间 - 如果是 - 原子核在“前面”。

当然,简单地检查 y 是否为非负数也有同样的作用。

于 2012-10-15T09:31:46.757 回答