グラフ #2

前回の続きです。別にたいした内容でもないのですが、ちょっと忘れそうなのでメモしておきます。

前回は乱数を中央よりに偏らせるグラフを描きましたが、両端に偏らせるグラフが欲しくなりました。具体的に書くと、ランダムにパーティクルを動かしたいけれど、遅いものと速いものと差をつけてわかりやすく動かしたい、とかそんな用途に使える式を求めたいなと。

graph_curve_04

y = 4 * (x – 0.5)^3 + 0.5 の式です。ランダムな0~1の数字をxに代入すれば、中央寄りの数字が返ってくるグラフです。

これを90度反転させて0または1付近に偏る数字が欲しい場合のグラフを描くにはyとxをひっくり返します。

x = 4 * (y – 0.5)^3 + 0.5
x – 0.5 = 4 * (y – 0.5)^3
(x – 0.5) / 4 = (y – 0.5)^3
((x – 0.5) / 4)^(1/3) = y – 0.5

y = ((x – 0.5) / 4)^(1/3) + 0.5 となります。

graph_curve_01

グラフにするとこうなります。これで0と1の両端に偏る数字が得られますね。

同じ要領で

graph_curve_03

y = 16 * (x – 0.5)^5 + 0.5を反転させると

graph_curve_02

y = ((x – 0.5) / 16)^(1/5) + 0.5 となります。

計算コスト的にどうなのかはあまり考慮してません・・・。分数乗とか、どうなんだろう。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中