love.math.noise (日本語)
LÖVE 0.9.0 から使用可能 |
この関数は以前のバージョンでは非対応です。 |
1~4次元によるシンプレックスまたはパーリンノイズの値を生成します。返値は同一引数を与えられても、常に同じです。
シンプレックスノイズはパーリンノイズと密接な関係があります。これは手続き内容の生成に対して幅広く使用されます。
こちらにパーリンおよびシンプレックスノイズに関する詳細な議論は、このウェブ・ページ にあります。
引数に整数が使われた場合のみ返値は不変になります。様々な返値を得るためには、単に整数を渡すのを避けてください。 |
Contents
関数
1次元によるシンプレックスノイズを生成します。
概要
value = love.math.noise( x )
引数
number x
- ノイズ値の生成に使用する数値。
返値
number value
- [0, 1] の範囲におけるノイズ値。
関数
2次元によるシンプレックスノイズを生成します。
概要
value = love.math.noise( x, y )
引数
返値
number value
- [0, 1] の範囲におけるノイズ値。
関数
3次元によるシンプレックスまたはパーリンノイズ (version 0.9.2 以前ではシンプレックスノイズ) を生成します。
概要
value = love.math.noise( x, y, z )
引数
number x
- 第一の値としてノイズ値を生成するために使用される3次元ベクトル。
number y
- 第二の値としてノイズ値を生成するために使用される3次元ベクトル。
number z
- 第三の値としてノイズ値を生成するために使用される3次元ベクトル。
返値
number value
- [0, 1] の範囲におけるノイズ値。
関数
4次元によるシンプレックスまたはパーリンノイズ (バージョン 0.9.2 以前ではシンプレックスノイズ) を生成します。
概要
value = love.math.noise( x, y, z, w )
引数
number x
- 第一の値としてノイズ値を生成するために使用される4次元ベクトル。
number y
- 第二の値としてノイズ値を生成するために使用される4次元ベクトル。
number z
- 第三の値としてノイズ値を生成するために使用される4次元ベクトル。
number w
- 第四の値としてノイズ値を生成するために使用される4次元ベクトル。
返値
number value
- [0, 1] の範囲におけるノイズ値。
用例
キーが打鍵されるたびに、二次元グリッドをシンプレックスノイズで塗りつぶします。
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
-- グリッド内にある各ピクセルをシンプレックスノイズで塗りつぶします。
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
関連