1
我很難用繪製開放圖表的三角形和鋸齒波形狀。公式是從the answer in this post。 這就是我對三角:塑造三角形和鋸齒波
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;
}
這裏是一個online demo。
關於爲鋸齒一樣的東西:
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;
}
有什麼不對的想法?
你有沒有機會知道如何減小鋸齒波的範圍呢?這個三角形很好,我一直試圖在-1和1之間取得範圍,但無法弄清楚。謝謝你的幫助! – networkprofile
並感謝清除關於自行車變量,我沒有注意到 – networkprofile
如果你看看公式如何工作,它應該顯而易見。對於鋸齒,你要去0到4,因爲你正在做'mod 4'。所以mod值是你將在你的輸出中獲得的範圍。如果你想要的範圍是2(-1到+1)的大小,那麼只需將它加入到'mod 2'。那麼減法就是將波移到正確的垂直位置。所以如果你有0到2,那麼你只需要減去1就可以得到你想要的。即'(theta%2)-1' – Chris