love.math.noise (Français)

Disponible depuis LÖVE 0.9.0
Ce-tte function n'est pas supporté-e par des versions plus anciennes.

Génère une valeur de bruit simplexe ou de Perlin dans les dimensions 1-4. La valeur retournée sera toujours la même si les arguments sont les mêmes.

bruit simplexe est proche du bruit de Perlin. Il est largement utilisé pour lé génération procédurale de contenu.

Il existe de nombreuses pages web qui discutent des bruits simplexe et de Perlin en détail.

O.png Les valeurs retournées pourraient être constante si des argument seulement en nombre entiers sont utilisés. Évitez de ne passer que des entiers pour obtenir des valeurs variées.  


Fonction

Génère un bruit simplexe de dimension 1.

Synopsis

value = love.math.noise( x )

Arguments

number (Français) x
Nombre utilisé pour généré la valeur du bruit.

Retourne

number (Français) value
Valeur du bruit dans l'étendue [0, 1].

Fonction

Génère un bruit simplexe de dimension 2.

Synopsis

value = love.math.noise( x, y )

Arguments

number (Français) x
Première valeur du vecteur à 2 dimensions utiliser pour générer la valeur du bruit.
number (Français) y
Seconde valeur du vecteur à 2 dimensions utiliser pour générer la valeur du bruit.

Retourne

number (Français) value
Valeur du bruit dans l'étendue [0, 1].

Fonction

Génère un bruit de Perlin (ou bruit simplexe à partir de la version 0.9.2) en 3 dimensions.

Synopsis

value = love.math.noise( x, y, z )

Arguments

number (Français) x
Première valeur du vecteur à 3 dimensions utiliser pour générer la valeur du bruit.
number (Français) y
Seconde valeur du vecteur à 3 dimensions utiliser pour générer la valeur du bruit.
number (Français) z
Troisième valeur du vecteur à 3 dimensions utiliser pour générer la valeur du bruit.

Retourne

number (Français) value
Valeur du bruit dans l'étendue [0, 1].

Fonction

Génère un bruit de Perlin (ou bruit simplexe à partir de la version 0.9.2) en 4 dimensions.

Synopsis

value = love.math.noise( x, y, z, w )

Arguments

number (Français) x
Première valeur du vecteur à 4 dimensions utiliser pour générer la valeur du bruit.
number (Français) y
Seconde valeur du vecteur à 4 dimensions utiliser pour générer la valeur du bruit.
number (Français) z
Troisième valeur du vecteur à 4 dimensions utiliser pour générer la valeur du bruit.
number (Français) w
Quatrième valeur du vecteur à 4 dimensions utiliser pour générer la valeur du bruit.

Retourne

number (Français) value
Valeur du bruit dans l'étendue [0, 1].

Exemples

Remplit une grille bidimensionnelle avec un bruit simplexe à chaque fois qu'une touche est enfoncée.

local grid = {}

function love.draw()
    for x = 1, #grid do
        for y = 1, #grid[x] do
            local f = 1 * grid[x][y]
            love.graphics.setColor( f, f, f, 1 )
            love.graphics.rectangle( 'fill', x * 8, y * 8, 7, 7 )
            love.graphics.setColor( 1, 1, 1, 1 )
        end
    end
end

-- Remplit chaque pixels de notre grille avec du bruit simplexe.
local function noise()
    for x = 1, 60 do
        for y = 1, 60 do
            grid[x] = grid[x] or {}
            grid[x][y] = love.math.noise( x + love.math.random(), y + love.math.random() )
        end
    end
end

function love.keypressed()
    noise()
end

Voir également


Autres langues