我写了一个小函数,它给出了一个基于正弦波的值,当我在0到1之间放一个浮点数时。我用它在游戏中把东西弄得乱七八糟。
public static class Utilities
{
public static float SineMe(float prop)
{
float output = (prop*180f)-90f;
output = Mathf.Sin(output*Mathf.Deg2Rad);
output = (output+1f)/2f;
return output;
}
}
它很好用..但我想知道有没有一种数学方法来改变正弦波,这样我就可以让它在中间变得“陡峭”或“浅”?在下面的图中,蓝色曲线是正弦波,我想知道我是否可以让它更像绿线。
你所显示的并不是正弦的-正弦的范围在-1到+1之间。您正在应用线性函数f(x)=(x+1)/2
来更改该范围。所以在正弦和变换之间放置另一个函数。
要改变形状,需要一个非线性函数。所以,这里有一个三次方程,你可以试试...
g(x) = Ax^3 + Bx^2 + Cx + D
D = 0
C = p
B = 3 - 3C
A = 1 - (B + C)
参数p
的值应介于0.0和9.0之间。如果是1.0,则g(x)是标识函数(输出是未修改的输入)。当数值介于0.0和1.0之间时,它将倾向于“增肥”你的正弦波(将其从0.0推向1.0或-1.0),这是你似乎需要的。
顺便说一句,已经有一个评论建议“放松功能”的备忘单。“缓和”是一个来自动画的术语,计算机动画软件经常为此使用贝塞尔曲线--与矢量图形软件经常使用的贝塞尔曲线相同。Bezier曲线有二次型和三次型,其中三次型更为常见。所以它所做的可能并没有什么不同。然而,立方Bezier宽松给了您更多的控制-您可以控制“轻松进入”独立于“轻松出去”,其中我的函数只提供一个参数。
我试图在y有最高值时显示x位置。在if语句中,我试图将y值与120进行比较,但它似乎从来都不是真的,所以它没有使用文本函数显示我的x位置。我也试着取整y值,但结果仍然不是我想要的。有人能帮我吗?
我正在做一个项目,我想通过组合不同的正弦波来产生(简单的)声音。我使用的是arduino mkrZero,因为它内置了I2S接口,似乎有足够的处理能力来满足我的需求。 教程代码工作得很好,我从扬声器中得到了一个简单的方波音调。 现在我修改了生成正弦波的代码,有一个sin函数的查找表,使其足够快: 如果我稍微修改一下代码,然后写 而不是 一切都破裂了,扬声器发出的声音听起来像是可怕的尖叫 //阻塞
本文向大家介绍使用HTML5绘制正弦波,包括了使用HTML5绘制正弦波的使用技巧和注意事项,需要的朋友参考一下 要使用HTML5绘制正弦波,请使用SVG。 使用以下近似正弦波的一半。我使用了三次贝塞尔近似。
用C/C++编写了一个三维正弦波发生器 代码:
我如何建立一个方程来产生扫频正弦波。我是信号处理新手,在网上找不到太多关于生成扫描正弦波的话题。请告诉我一些我可以用来生成方程式并在代码中使用的源代码。非常感谢。
我试图生成一组点,当绘制成一个图表示1个周期的正弦波。要求是: 1个周期的正弦波 下限=29491 上限=36043 点数=100 振幅=3276 零偏移量=32767 代码: 我正在生成并存储一个文件中的点。当这些点被绘制出来时,我得到了下面的图。 但我只需要一个循环。我怎么能这么做?