通过正弦波获取交叉点

时间:2016-02-28 19:47:26

标签: c# math trigonometry calculus

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

我希望能够在不移动粒子的情况下动态更改目标正弦波的周期。 (当我更改周期时,其X位置不会以不同的周期排列到图形的相同Y位置,因此它会在整个地方跳跃。

我有一个解决方案 - 查找具有新周期的图形与旧周期图形相交的位置并创建一个X偏移,将这两个数字排成一行。

对于sin波上的任何给定y,每个周期将有2个相应的X值。我试图获得这两个值。然后我会比较衍生物以选择我想要的那个。

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

这是我所追求的形象:Sin Wave Logic

2 个答案:

答案 0 :(得分:0)

如果您有

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

然后你可以通过

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

对于给定的a。

这产生了[-pi; pi]

范围内的溶液

您正在寻找的其他解决方案是2*pi-x

答案 1 :(得分:0)

如果你允许一点作弊,你可以使用交叉淡化效果来实现从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的时间段。