【问题标题】:sine wave drawing using JavaScript使用 JavaScript 绘制正弦波
【发布时间】:2014-07-25 15:46:28
【问题描述】:

我正在创建一个简单的雪地模拟,但我在数学上非常失败。基本上,当雪花被初始化时,它的 x 位置会随机设置在 svg 画布上的某处。然后从那里直接落下。它应该模拟正弦波(x 坐标应该像正弦波一样移动)。

自去年以来我没有做过三角,所以我有点生疏了。 Math.sin() 我相信采用弧度,所以我乘以 180,然后除以 pi 以转换为度数?

假设 x 是雪花的当前 x 位置,width 是画布的宽度。

x += (Math.sin(((x/width)*(180/Math.PI)))*width)

它有点工作,但它无处不在。我对自己在做什么有一个模糊的想法,但我似乎无法将数学从我的大脑推到代码中。

Here's a JSFiddle:

我做错了什么?

【问题讨论】:

    标签: javascript math canvas snap.svg trigonometry


    【解决方案1】:

    应该是:

    x += A*Math.sin(F*(y/Height)*2*Math.PI);
    

    其中A 是幅度,即您希望薄片向左和向右移动多少像素(请注意,总移动将为 2*A)。 F 是频率,或者您希望薄片左右移动的频率(我将每个薄片随机设置在 2 到 10 之间)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      • 2012-12-05
      相关资源
      最近更新 更多