假设我有30页与Kaminari分页:
#800 books, 25 per page
=paginate @books, :outer_window => 3, :window => 3
Run Code Online (Sandbox Code Playgroud)
它看起来像这样:
1 2 3 4 ... 30 31 32
没有点击5次就无法进入第16页.
我正在尝试使用webaudio和canvas生成类似于音频编辑应用程序的静态波形.现在我正在加载一个mp3,创建一个缓冲区,迭代getChannelData返回的数据.
问题是..我真的不明白什么是返回.
为什么~50%的值是负数?
ctx.decodeAudioData(req.response, function(buffer) {
buf = buffer;
src = ctx.createBufferSource();
src.buffer = buf;
//create fft
fft = ctx.createAnalyser();
var data = new Uint8Array(samples);
fft.getByteFrequencyData(data);
bufferL = buf.getChannelData(0)
for(var i = 0; i<buf.length; i++){
n = bufferL[i*(1000)]
gfx.beginPath();
gfx.moveTo(i +0.5, 300);
gfx.lineTo(i +0.5, 300 + (-n*100));
gfx.stroke();
Run Code Online (Sandbox Code Playgroud)我正在产生什么:

我想要产生什么:

谢谢
我正在尝试画一条代表“弹弓”的线,并且希望它具有最大拉伸长度。
在 p5 中,我在位置 A 和位置 B 之间画一条线:
line(posA.x, posA.y, posB.x, posB.y);
Run Code Online (Sandbox Code Playgroud)
posA 是鼠标 x 和 y。posB 是画布上圆的位置。
我想要做的是限制线的长度,使其长度永远不会超过 40px,但仍然从圆圈指向鼠标。
我有一篇带有 UUID 的文章,我想保存它的发布状态以及发布它的用户。
在文章的迁移中,我应该使用什么列类型来引用用户?用户有一个列类型为 :uuid 的 uuid。
我应该t.uuid :published_by在我的文章迁移中做什么?
我是d3的新手,觉得有点不知所措。我有一个数组,每个样本包含y1和y2。
waveformData = [[79, 140], [67, 145], [70, 152], ..... ]
Run Code Online (Sandbox Code Playgroud)
目前,我正在绘制它,如下所示:
waveformData.forEach(function(data,i){
svg.append("line")
.attr('y1', data[0])
.attr('y2', data[1])
.attr('x1', i +0.5)
.attr('x2', i +0.5)
.attr("stroke-width", 1)
.attr("stroke", "green");
}
Run Code Online (Sandbox Code Playgroud)

它可以工作,但是我并没有在d3的“精神”中做到这一点。有人可以解释如何将d3用于此类用途吗?
javascript ×3
canvas ×2
d3.js ×1
kaminari ×1
p5.js ×1
pagination ×1
processing ×1
svg ×1
waveform ×1