나는 잡음을 생성하는 방법을 배우려고 노력해 왔으며 대부분은 이해하고 있지만 스크립트에는 약간의 문제가 있습니다.JavaScript 잡음 기능 문제
this page을 가이드로 사용하여 캔버스에 약간의 노이즈를 생성하는 궁극적 인 목적으로 this script in JavaScript을 작성했습니다.
확실히 뭔가를 만들어 내고 있지만, 왼쪽 끝까지 밀어 넣었습니다. 또한 페이지를 새로 고치는 것은 동일한 패턴을 반복해서 만드는 것처럼 보입니다.
- 이미지의 "시끄러운"부분이 왼쪽에서 잘리는 것은 무엇을 잘못 했습니까? 흐린 펄린 노이즈처럼 보이게하려면 어떻게해야합니까?
- 매번 새로운 패턴을 생성하지 않는 이유를 정말로 이해하지 못합니다. 스크립트가 실행될 때마다 임의 패턴을 수신하려면 무엇을 변경해야합니까?
도움 주셔서 감사합니다.
/* NOISE—Tie it all together
*/
function perlin2d(x,y){
var total = 0;
var p = persistence;
var n = octaves - 1;
for(var i = 0; i <= n; i++) {
var frequency = Math.pow(2, i);
var amplitude = Math.pow(p, i);
total = total + interpolatenoise(x * frequency, y * frequency) * amplitude;
}
return total;
}
코드에서 임의의 숫자와 같이 알고리즘의 입력을 변경하는 위치가 표시되지 않습니다. 귀하의 알고리즘은 결정 론적입니다. 즉, 동일한 입력이 주어지면 항상 일관된 결과를 제공합니다. 당신의 소음의 "smushy"부분에 대해 확실하지 않습니다. – Matt
은 Matt에 동의합니다. 지속성이 정의되는 곳과 옥타브. 항상 같으면 항상 동일한 결과를 반환합니다. – nycynik