Difference between revisions of "love.math.noise (日本語)"
m (Added example.) |
m |
||
Line 1: | Line 1: | ||
− | {{newin (日本語)|[[0.9.0]]|090|type=関数}} | + | {{newin (日本語)|[[0.9.0 (日本語)|0.9.0 |
+ | ]]|090|type=関数}} | ||
1~4次元によるシンプレックスまたはパーリンノイズの値を生成します。返値は同一引数を与えられても、常に同じです。 | 1~4次元によるシンプレックスまたはパーリンノイズの値を生成します。返値は同一引数を与えられても、常に同じです。 | ||
[http://en.wikipedia.org/wiki/Simplex_noise シンプレックスノイズ]は[http://ja.wikipedia.org/wiki/パーリンノイズ パーリンノイズ]と密接な関係があります。これは手続き内容の生成に対して幅広く使用されます。 | [http://en.wikipedia.org/wiki/Simplex_noise シンプレックスノイズ]は[http://ja.wikipedia.org/wiki/パーリンノイズ パーリンノイズ]と密接な関係があります。これは手続き内容の生成に対して幅広く使用されます。 | ||
− | + | こちらにパーリンおよびシンプレックスノイズに関する詳細な議論は、この[http://libnoise.sourceforge.net/noisegen/ ウェブ・ページ] にあります。 | |
{{notice|引数に整数が使われた場合のみ返値は不変になります。様々な返値を得るためには、単に整数を渡すのを避けてください。}} | {{notice|引数に整数が使われた場合のみ返値は不変になります。様々な返値を得るためには、単に整数を渡すのを避けてください。}} | ||
Line 43: | Line 44: | ||
{{param|number|value|[0, 1] の範囲におけるノイズ値。}} | {{param|number|value|[0, 1] の範囲におけるノイズ値。}} | ||
== 関数 == | == 関数 == | ||
− | 4次元によるシンプレックスまたはパーリンノイズ ( | + | 4次元によるシンプレックスまたはパーリンノイズ (バージョン [[0.9.2]] 以前ではシンプレックスノイズ) を生成します。 |
=== 概要 === | === 概要 === | ||
<source lang="lua"> | <source lang="lua"> | ||
Line 64: | Line 65: | ||
for x = 1, #grid do | for x = 1, #grid do | ||
for y = 1, #grid[x] do | for y = 1, #grid[x] do | ||
− | local f = | + | local f = 1 * grid[x][y] |
− | love.graphics.setColor( f, f, f, | + | love.graphics.setColor( f, f, f, 1 ) |
love.graphics.rectangle( 'fill', x * 8, y * 8, 7, 7 ) | love.graphics.rectangle( 'fill', x * 8, y * 8, 7, 7 ) | ||
− | love.graphics.setColor( | + | love.graphics.setColor( 1, 1, 1, 1 ) |
end | end | ||
end | end | ||
Line 94: | Line 95: | ||
{{#set:Description=1~4次元によるシンプレックスまたはパーリンノイズの値を生成します。}} | {{#set:Description=1~4次元によるシンプレックスまたはパーリンノイズの値を生成します。}} | ||
== そのほかの言語 == | == そのほかの言語 == | ||
− | {{i18n|love.math.noise}} | + | {{i18n (日本語)|love.math.noise}} |
Revision as of 05:24, 13 June 2019
]]'
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
関連