ガウス関数の性質を5分で学ぶ

ガウス関数を使うにはその性質だけわかっていれば十分なことが多いです。
この記事では難しい話は置いておいて、知っておくべきガウス関数の性質だけをまとめました。

はじめに

グラフィックスの処理を読んでいるときに時々ガウス関数を見かけます。
しかしガウス関数は、調べようとするといきなりわけのわからない理論と式が出てきて嫌になってしまいます。

ガウス関数は複雑な式ではありますが、プログラムで使う分にはそんなに高尚な知識は必要ありません。
要はどの変数をいじったらどのようにグラフが変化するかを理解していればいいのです。

そこで難しい説明は他サイトに任せて、ここではガウス関数の性質だけ追ってみます。

ガウス関数

さてガウス関数とはこんな感じの釣鐘型を示す関数です。

f:id:halya_11:20180517235154p:plain

式は例えばこのようになります。

f:id:halya_11:20180517235118p:plain

いきなりわけのわからない式ですが、この時点ではとりあえずyがxの関数だってことだけわかれば大丈夫です。
ちなみに今回はWikipediaに載っている正規分布関数を使っています。

1. μを変えてみる

さてそれではここから各変数をいじってグラフがどのように変化するかを見ていきます。
まずμを変えてみます。

f:id:halya_11:20180517235212p:plain

ここをいろんな値に変えると、

f:id:halya_11:20180517235231p:plain

横にずれます。
μの値は釣鐘型の中央位置を表しています。
μ=0なら中央の位置もゼロ。

2. σを変えてみる

次にσを変えてみます。

f:id:halya_11:20180517235252p:plain

前節のμをゼロに固定して、この値をいろいろと変えると、

f:id:halya_11:20180517235353p:plain

なだらかさが変わります。
σが大きいほどなだらか。

3. 定数をなくす

f:id:halya_11:20180517235430p:plain

赤枠の定数部分をなくす、というか1に置き換えてみます。

f:id:halya_11:20180517224644p:plain

最大値がすべて1になりました。
ちなみに今回1に置き換えたこの定数部分には、関数の積分値を一定(1)にするという役割があります。

まとめ

ガウス関数の性質をまとめてみました。
とりあえずこれだけ知っておけば十分ではないかと思います。

シェーダでの使い方は別の記事で紹介します。

参考

ja.wikipedia.org