📜  p5.js |噪声()函数

📅  最后修改于: 2022-05-13 01:56:37.602000             🧑  作者: Mango

p5.js |噪声()函数

noise()函数用于返回由 Perlin 噪声在给定坐标处生成的数字。该值是半随机的,这意味着该值将在程序的生命周期内固定为坐标。

Perlin 噪声值与random()函数返回的值不同,因为与标准噪声相比,这种噪声具有更自然和谐波的连续性。

句法:

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

参数:此函数接受三个参数,如上所述,如下所述:

  • x:这是一个数字,表示噪声空间中的 x 坐标。
  • y:这是一个数字,表示噪声空间中的 y 坐标。它是一个可选参数。
  • z:这是一个数字,表示噪声空间中的 z 坐标。它是一个可选参数。

返回值:返回 0 到 1 之间的 Perlin 噪声值。

以下示例说明了 p5.js 中的noise()函数

示例 1:绘制移动点 y 坐标的噪声值。

  • 程序:
    let x_coordinate = 100.0;
    let plot_x = 10.0;
       
    function setup() {
        createCanvas(400, 200);
    }
       
    function draw() {
       
        // Get noise with x coordinate
        x_noise = noise(x_coordinate) * 100;
       
        // Plot the point with random noise
        strokeWeight(10);
        point(plot_x, x_noise);
       
        // Increment the x coordinate
        x_coordinate++;
       
        // Increase the x coordinate
        // for plotting
        plot_x++;
    }
    
  • 输出:
    输出图

示例 2:此示例演示了函数的半随机属性。

  • 程序:
    let x_coordinate = 0.0;
    let plot_y = 0.0;
       
    function setup() {
        createCanvas(400, 200);
    }
       
    function draw() {
          
        if (x_coordinate < 5) {
       
            // Get noise with x coordinate
            x_noise = noise(x_coordinate);
         
            // Output the noise along with
            // its corresponding coordinate
            coord_text = "Noise for x coordinate "
                + x_coordinate + " is " + x_noise;
              
            text(coord_text, 10, plot_y);
       
            // Increment the x coordinate
            x_coordinate++;
       
            // Increase the y coordinate
            // for plotting
            plot_y = plot_y + 15;
        }
        else
            x_coordinate = 0;
    }
    
  • 输出:
    x_coord_output

示例 3:此示例使用两个参数来定义噪声空间中的一个点。

  • 程序:
    let x_coordinate = 0.0;
    let y_coordinate = 0.0;
    let plot_y = 0.0;
       
    function setup() {
        createCanvas(400, 200);
    }
       
    function draw() {
          
        if (x_coordinate < 10) {
       
            // Get noise with x and y coordinates
            xy_noise = noise(x_coordinate, y_coordinate);
       
            // Output the noise along with
            // its corresponding coordinate
            coord_text = "Noise for coordinates: "
                + x_coordinate + ", " + y_coordinate
                + " is " + xy_noise;
            text(coord_text, 10, plot_y);
       
            // Increment the x and y
            // coordinates
            x_coordinate++;
            y_coordinate++;
       
            // Increase the y coordinate
            // for plotting
            plot_y = plot_y + 15;
        }
    }
    
  • 输出:
    xy_coord_output

在线编辑器: https://editor.p5js.org/
环境设置: https://www.geeksforgeeks.org/p5-js-soundfile-object-installation-and-methods/

参考: https://p5js.org/reference/#/p5/noise