获取与正弦波的交点

Get Points of Intersection with Sine Wave

我在固定位置 X 和固定振幅 AMP 处有一个粒子在正弦波上传播。

我希望能够在不移动粒子的情况下动态改变目标正弦波的周期。 (当我更改周期时,它的 X 位置与不同周期图表的相同 Y 位置不对齐,所以它到处跳动。

我有一个解决方案 - 找到新周期图与旧周期图相交的位置,并创建一个 X 偏移量,将这两个数字对齐。

对于正弦波上的任何给定 y,每个周期将有 2 个对应的 X 值。我正在尝试获得这两个值。然后我会比较衍生品来选择我想要的。

但是,我不知道如何获得这两个值。有什么想法吗?

这是我所追求的图像:Sin Wave Logic

如果你有一个由

定义的正弦波
y = sin(a*(x+c))+d

然后你可以通过

反转它
x = (arcsin(y-d)-c)/a

对于给定的 a.

这会产生 [-pi;pi]

范围内的解

您正在寻找的另一个解决方案是 2*pi-x

如果允许有一点作弊,您可以使用交叉淡入淡出效果通过

从 f(t) 平滑过渡到 g(t)
h(s,t)=(1-s)*f(t)+s*g(t)

而作为 t 的函数的 s 介于 0 和 1 之间并使用类似

y = h( (t-ts)/d, t)

tsts+d 的时间段。