Difference between revisions of "love.math.noise (日本語)"
(Created page with "{{newin (日本語)|0.9.0|090|type=関数}} 1~4次元によるシンプレックスまたはパーリンノイズの値を生成します。返値は同一引数を...") |
m (Added example.) |
||
Line 4: | Line 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://www.noisemachine.com/talk1/ 多数]の[http://libnoise.sourceforge.net/noisegen/ ウェブ・ページ] にあります。 | |
{{notice|引数に整数が使われた場合のみ返値は不変になります。様々な返値を得るためには、単に整数を渡すのを避けてください。}} | {{notice|引数に整数が使われた場合のみ返値は不変になります。様々な返値を得るためには、単に整数を渡すのを避けてください。}} | ||
== 関数 == | == 関数 == | ||
− | + | 1次元によるシンプレックスノイズを生成します。 | |
=== 概要 === | === 概要 === | ||
<source lang="lua"> | <source lang="lua"> | ||
Line 55: | Line 55: | ||
=== 返値 === | === 返値 === | ||
{{param|number|value|[0, 1] の範囲におけるノイズ値。}} | {{param|number|value|[0, 1] の範囲におけるノイズ値。}} | ||
+ | |||
+ | == 用例 == | ||
+ | キーが打鍵されるたびに、二次元グリッドをシンプレックスノイズで塗りつぶします。 | ||
+ | <source lang="lua"> | ||
+ | local grid = {} | ||
+ | |||
+ | function love.draw() | ||
+ | for x = 1, #grid do | ||
+ | for y = 1, #grid[x] do | ||
+ | local f = 255 * grid[x][y] | ||
+ | love.graphics.setColor( f, f, f, 255 ) | ||
+ | love.graphics.rectangle( 'fill', x * 8, y * 8, 7, 7 ) | ||
+ | love.graphics.setColor( 255, 255, 255, 255 ) | ||
+ | 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 | ||
+ | </source> | ||
+ | |||
== 関連 == | == 関連 == | ||
* [[parent::love.math (日本語)]] | * [[parent::love.math (日本語)]] |
Revision as of 03:24, 12 May 2017
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次元によるシンプレックスまたはパーリンノイズ (version 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 = 255 * grid[x][y]
love.graphics.setColor( f, f, f, 255 )
love.graphics.rectangle( 'fill', x * 8, y * 8, 7, 7 )
love.graphics.setColor( 255, 255, 255, 255 )
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
関連
そのほかの言語
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info