我用Perlin噪声创建了这个小的Bezier动画草图。有什么想法吗?为什么所有的点(在不同的二维空间中(都以看似规则的间隔同时接近0?
z偏移量每帧由.005
改变
https://www.khanacademy.org/computer-programming/animated-beziers/4620624260136960
代码如下。。。
noFill();
var noiseY = 0;
var myNoise = function ( x, y ) {
return map( noise( x, y, noiseY ), 0, 1, -160, 560 );
};
var draw = function () {
noiseY += 0.005;
background( 255 );
beginShape();
vertex(
myNoise( 100, 0 ),
myNoise( 100, 10000 )
);
for ( var i = 0; i < 7; i ++ ) {
bezierVertex(
myNoise( 100 * i, 20000 ),
myNoise( 100 * i, 30000 ),
myNoise( 100 * i, 40000 ),
myNoise( 100 * i, 50000 ),
myNoise( 100 * i, 60000 ),
myNoise( 100 * i, 70000 )
);
}
endShape();
};
draw()
功能在60Hz下反复执行,显示动画边框。
这似乎是Processing.js或Khan Academy版本的Processing.js.特有的
如果我使用P5.js web编辑器运行您的代码,我看不出问题。
请注意,Processing.js不再维护,新项目可能应该使用P5.js或Processing的Java模式。
如果你想找出发生这种情况的原因,你应该试着调试你的代码。例如,当点接近0时,noiseY
的值是多少?
但如果我是你,我会切换到一个像P5.js这样的新框架。