获取与正弦波的交点
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)
从 ts
到 ts+d
的时间段。
我在固定位置 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)
从 ts
到 ts+d
的时间段。