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是否为非负也有相同的技巧.
标签:geometry,physics,kinematics,javascript,math 来源: https://codeday.me/bug/20191031/1978314.html