我用Perlin噪声创建了这个动画的Bezier小草图。有什么想法为什么所有的点(在不同的2d空间中)都以看似规则的间隔一次接近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的频率反复执行,显示动画的贝塞尔曲线。
答案 0 :(得分:1)
这似乎特定于Processing.js或可汗学院的Processing.js版本。
如果我使用P5.js web editor运行您的代码,我看不到问题。
请注意,Processing.js不再维护,新项目可能应使用P5.js或Processing的Java模式。
如果您想找出发生这种情况的原因,则应尝试debugging your code。例如,当点接近0时noiseY
的值是什么?
但是,如果我是您,我将切换到P5.js之类的较新框架。