Кажется, что значения шума Перлина в разных измерениях x, y все вместе приближаются к 0.5 при изменении смещения z - PullRequest
0 голосов
/ 15 ноября 2018

Я создал этот маленький анимированный эскиз Безье с шумом Перлина.Есть идеи, почему все точки (в разных 2-мерных пространствах) приближаются к 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()Функция выполняется снова и снова на частоте 60 Гц, показывая анимированные Безье.

1 Ответ

0 голосов
/ 15 ноября 2018

Похоже, что это специфично для Processing.js или версии Processing.js, разработанной Khan Academy.

Я не вижу проблемы, если я запускаю ваш код в веб-редакторе P5.js .

Обратите внимание, что Processing.js больше не поддерживается, и в новых проектах, вероятно, следует использовать P5.js или режим Java Processing.

Если вы хотите отследить, почему это происходит,вам следует попробовать отладить ваш код .Например, каково значение noiseY, когда точки приближаются к 0?

Но на вашем месте я просто переключился бы на более новую платформу, такую ​​как P5.js.

...