整形三角形和锯齿波
shaping triangle and sawtooth wave
本文关键字:三角形 更新时间:2023-09-26
我很难用开放式图表绘制三角形和锯齿波形状。公式来自这篇文章的答案。这就是我对三角形的看法:
var myArray = [];
var myVals = [];
var mytrin = [];
ti = 2.0 * Math.PI * (880 / 44100);
theta = 0;
for(i = 0; i <500; i++){
myArray.push(i);
var ke = value = (1.0 - Math.abs(theta - 0.5) * 4);
mytrin.push(ke);
theta = theta + ti;
}
这是一个在线演示。
关于锯齿:
var myArray = [];
var myVals = [];
var mytrin = [];
ti = 2.0 * Math.PI * (880 / 44100);
theta = 0;
for(i = 0; i <1000; i++){
myArray.push(i);
var ke = theta*2-1;
mytrin.push(ke);
theta = theta + ti;
}
这是演示。
有什么问题吗?
问题出在ke
之外。你有这个:
(1.0 - Math.abs(theta - 0.5) * 4)
在θ=0时,这将得到-1。当θ达到0.5时,你会得到1,但随着θ的增加,Math.abs(theta - 0.5)
将继续增加,因此ke将继续下降。
你想做的是使用一点模运算来将其保持在一个限定范围内。
我已经播放并修改为:
1-Math.abs((theta%4)-2);
http://jsfiddle.net/chrisvenus/tMHR8/
这是做一个模数,使值变成0-4,然后0-4,重复(一种锯齿)。减去2使其重复-2到+2。取腹肌,使其从2反弹到0到2,然后减去1,得到漂亮的-1到1的三角形波。
我的小提琴也降低了我的音量,使图表更清晰可见。:)
编辑以添加:
另一个问题中的函数不起作用的原因是他在那里指出,他的pos
是一个从0到1的循环变量(尽管我觉得没有很清楚地解释)。
相关文章:
- 圆形到圆角三角形(菜单按钮切换)
- 整形三角形和锯齿波
- 如何在three.js中为三角形添加纹理
- 计算矩形内三角形的象限
- 我该如何为video.js制作一个插件,在HTML标题中添加和删除三角形
- 如何创建带有背景的三角形形状(固定高度,宽度= 100%)
- 如何制作带有有序数字的三角形
- 翻转三角形 3d css 或 javascript
- 如何使用bootstrap调整Pascal三角形
- 两个三角形相似吗
- 如何使用一个移动的三角形/矩形创建画布动画
- 如何缩放到画布中的三角形
- 计算三角形面积-作为变量工作,但不作为函数包装
- 添加“;三角形向上”;在d3.js节点中
- 如何在谷歌地图上禁用三角形
- 如果您单击文件夹图标而不仅仅是三角形图标,我如何让 jstree 关闭/打开
- 我的三角形区域构造函数有什么问题
- 需要在 JavaScript 中调用一个方法,当在 SharePoint 日历中单击更多项目旁边的三角形符号时
- 三.js三角形是黑色的
- 从右到左打印一个三角形