javascript-如何确定当前点在椭圆路径的哪一半?

这是我正在JavaScript中处理的原子动画的静态帧,其建模依据是this image.

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

// 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的值如何(该值是加快或减慢动画的数字倍数),解决方案都应该起作用.

解决方法:

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

this.timer.delta() * this.speed

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

当然,简单地检查y是否为非负也有相同的技巧.

上一篇:javascript – 指定Math.atan2的原点


下一篇:初学者java,显示与整数相关的特殊字符