以均匀间隔的点以编程方式逐步通过正弦波

时间:2014-08-31 14:42:44

标签: function sin

考虑具有单位幅度和波长2 * pi的正弦波。我想沿着这个函数计算点,使得任意两个连续点之间的欧几里德距离是恒定的。如何将02 * pi的θ变化,以使得(theta, sin(theta))点相应地间隔?

我编写了一种有效的迭代方法。它只是以小增量步进θ,并检查最后一点和潜在新点之间的距离。当该距离在恒定的点对点距离的合理增量范围内时,我具有所需的角度。我想知道是否有一种非迭代的方法可以找到所需的角度。

  • 是的,我指的是欧几里德距离(而不是弧长)
  • 零和2 * pi之间曲线上的大约100个点应该足够

1 个答案:

答案 0 :(得分:1)

所以,如果我已经正确地理解了你的问题,你正在寻找这个等式的解决方案,以获得两个连续点(θ, f(θ)), (θ+deltaθ , f(θ+deltaθ))

(θ-(θ+deltaθ))² + (f(θ)-f(θ+deltaθ))² = d²

where f(x) = sin(x)
and   h is the distance in θ between the two points

让我们先看f(x) = x

(θ-(θ+deltaθ))² + (θ-(θ+deltaθ))² = d²  <=>

deltaθ² + deltaθ² = d² <=>

deltaθ = +- d/sqrt(2)

因此可以找到某些功能的解决方案。

继续f(x) = sin(x)解决方程变得更加困难。我找不到确切的解决方案。 (我也问过wolfram | alpha并且没有结果。我认为w | a比我更了解数学。)

虽然可能有更实际的解决方案。这可以找到deltaθ的小值的近似解。