noise()

रैंडम संख्याएँ लौटाता है जिन्हें ऑर्गेनिक महसूस करने के लिए ट्यून किया जा सकता है।

"

random() द्वारा लौटाए गए मान और randomGaussian() द्वारा बदले जा सकते हैं फ़ंक्शन कॉल के बीच बड़ी मात्रा में। इसके विपरीत, noise() द्वारा लौटाए गए मानों को "सुचारू" बनाया जा सकता है। समान इनपुट के साथ noise() पर कॉल करने से समान आउटपुट प्राप्त होंगे। <कोड>शोर() का उपयोग बनावट, गति, बनाने के लिए किया जाता है" आकार, भू-भाग, इत्यादि। केन पेरलिन ने 1980 के दशक में मूल ट्रॉन फिल्म को एनिमेट करते समय शोर() का आविष्कार किया।

noise() हमेशा 0 और 1 के बीच मान लौटाता है। स्केच चलने के दौरान यह दिए गए इनपुट के लिए समान मान लौटाता है। noise() हर बार स्केच चलने पर अलग-अलग परिणाम उत्पन्न करता है। noiseSeed() फ़ंक्शन का उपयोग हर बार स्केच चलने पर पर्लिन शोर मानों का समान क्रम उत्पन्न करने के लिए किया जा सकता है।

शोर के चरित्र को दो तरीकों से समायोजित किया जा सकता है। पहला तरीका इनपुट को स्केल करना है। noise() इनपुट को निर्देशांक के रूप में व्याख्या करता है। जब इनपुट निर्देशांक करीब होंगे तो शोर मानों का क्रम सुचारू हो जाएगा। दूसरा तरीका noiseDetail()फ़ंक्शन का उपयोग करना है।

एक पैरामीटर के साथ शोर()<!--कोड--> का संस्करण एक आयाम में शोर मानों की गणना करता है। इस आयाम को अंतरिक्ष के रूप में सोचा जा सकता है, जैसे कि <code>शोर(x)</code>, या समय, जैसा कि <code>शोर(t)</code> में।

दो मापदंडों के साथ <कोड>शोर() का संस्करण दो आयामों में शोर मानों की गणना करता है। इन आयामों को अंतरिक्ष के रूप में सोचा जा सकता है, जैसे कि शोर (x, y), या स्थान और समय, जैसा कि शोर (x, t) में।

तीन मापदंडों के साथ <कोड>शोर() का संस्करण तीन आयामों में शोर मानों की गणना करता है। इन आयामों को अंतरिक्ष के रूप में सोचा जा सकता है, जैसे कि <कोड>शोर (x, y, z), या स्थान और समय, जैसा कि शोर (x, y, t) में।

उदाहरण

function setup() {
createCanvas(100, 100);

describe('A black dot moves randomly on a gray square.');
}

function draw() {
background(200);

// Calculate the coordinates.
let x = 100 * noise(0.005 * frameCount);
let y = 100 * noise(0.005 * frameCount + 10000);

// Draw the point.
strokeWeight(5);
point(x, y);
}
function setup() {
createCanvas(100, 100);

describe('A black dot moves randomly on a gray square.');
}

function draw() {
background(200);

// Set the noise level and scale.
let noiseLevel = 100;
let noiseScale = 0.005;

// Scale the input coordinate.
let nt = noiseScale * frameCount;

// Compute the noise values.
let x = noiseLevel * noise(nt);
let y = noiseLevel * noise(nt + 10000);

// Draw the point.
strokeWeight(5);
point(x, y);
}
function setup() {
createCanvas(100, 100);

describe('A hilly terrain drawn in gray against a black sky.');
}

function draw() {
// Set the noise level and scale.
let noiseLevel = 100;
let noiseScale = 0.02;

// Scale the input coordinate.
let x = frameCount;
let nx = noiseScale * x;

// Compute the noise value.
let y = noiseLevel * noise(nx);

// Draw the line.
line(x, 0, x, y);
}
function setup() {
createCanvas(100, 100);

describe('A calm sea drawn in gray against a black sky.');
}

function draw() {
background(200);

// Set the noise level and scale.
let noiseLevel = 100;
let noiseScale = 0.002;

// Iterate from left to right.
for (let x = 0; x < 100; x += 1) {
// Scale the input coordinates.
let nx = noiseScale * x;
let nt = noiseScale * frameCount;

// Compute the noise value.
let y = noiseLevel * noise(nx, nt);

// Draw the line.
line(x, 0, x, y);
}
}
function setup() {
createCanvas(100, 100);

background(200);

// Set the noise level and scale.
let noiseLevel = 255;
let noiseScale = 0.01;

// Iterate from top to bottom.
for (let y = 0; y < 100; y += 1) {
// Iterate from left to right.
for (let x = 0; x < 100; x += 1) {
// Scale the input coordinates.
let nx = noiseScale * x;
let ny = noiseScale * y;

// Compute the noise value.
let c = noiseLevel * noise(nx, ny);

// Draw the point.
stroke(c);
point(x, y);
}
}

describe('A gray cloudy pattern.');
}
function setup() {
createCanvas(100, 100);

describe('A gray cloudy pattern that changes.');
}

function draw() {
// Set the noise level and scale.
let noiseLevel = 255;
let noiseScale = 0.009;

// Iterate from top to bottom.
for (let y = 0; y < 100; y += 1) {
// Iterate from left to right.
for (let x = 0; x < width; x += 1) {
// Scale the input coordinates.
let nx = noiseScale * x;
let ny = noiseScale * y;
let nt = noiseScale * frameCount;

// Compute the noise value.
let c = noiseLevel * noise(nx, ny, nt);

// Draw the point.
stroke(c);
point(x, y);
}
}

सिंटैक्स

noise(x, [y], [z])

पैरामीटर्स

x
संख्या:

शोर स्थान में x-निर्देशांक।

y
संख्या:

y-शोर वाले स्थान में निर्देशांक।

z
Number:

शोर स्थान में z-निर्देशांक।

Returns

संख्या: निर्दिष्ट निर्देशांक पर पर्लिन शोर मान।
Notice any errors or typos? Please let us know. Please feel free to edit src/math/noise.js and open a pull request!

संबंधित संदर्भ

Complete your gift to make an impact