首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用JavaScript绘制正弦波

问用JavaScript绘制正弦波
EN

Stack Overflow用户
提问于 2014-07-24 21:35:48
回答 1查看 2.5K关注 0票数 1

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

从去年起我就没做过三角旅行了,所以我有点生疏了。Math.sin()的弧度,我相信,所以我乘以180,然后除以π转换成度?

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

代码语言:javascript
复制
x += (Math.sin(((x/width)*(180/Math.PI)))*width)

挺管用的,但到处都是。我对我在做什么有一个模糊的概念,但我似乎无法把数学从我的大脑推到代码上。

下面是一个JSFiddle:

我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-24 21:46:50

它应该是:

代码语言:javascript
复制
x += A*Math.sin(F*(y/Height)*2*Math.PI);

其中A是振幅,即你想让薄片左移和右移的像素数(请注意,总移位将是2*A)。F是频率,或者你想让片片向左和向右移动的频率(我会把它随机设置在每片2到10之间)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24944416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档