このサイトの各ユーザーに関連付けられているかわいい万華鏡のような画像に少し興味があります。それらはどのように生成されますか?可能性は次のとおりです。
- 画像のリストはすでにいくつかのフォルダーにあり、ランダムに選択されます。
- ユーザーが登録するたびに画像が生成されます。
いずれにせよ、そのような画像を生成するためにどのようなアルゴリズムが使用されているかに興味があります。
このサイトの各ユーザーに関連付けられているかわいい万華鏡のような画像に少し興味があります。それらはどのように生成されますか?可能性は次のとおりです。
いずれにせよ、そのような画像を生成するためにどのようなアルゴリズムが使用されているかに興味があります。
これはIdenticonと呼ばれます。入力して電子メールを送信した場合は、電子メール アドレスのハッシュに基づいています。電子メールを入力しなかった場合は、IP アドレスに基づいています。
Jeffは、 IP ベースの Identicons を生成する.NET コードを投稿しました。
画像は Gravatar によって生成され、その詳細はここで概説されていますが、どのようにそれを行っているかは明らかにされていません。
IIRC、IP アドレスから生成されます。
「IPハッシュ」と呼ばれていると思います。
ブログで読んだことを覚えています。彼はコードをダウンロードできるようにしました。しかし、それがどこから来たのかはわかりません。:(
画像は 4×4 グリッドで、上部の 2×2 グリッドが時計回りに 4 回繰り返され、そのたびに再び時計回りに 90 度回転していると思います。2 つの色はランダムに選択され、各 1×1 ブロックは事前定義されたセットから選択されるようです。
編集:明らかに私の答えはアドホックでした。identicons について知ってよかったです。
これを試してください: http://www.docuverse.com/blog/9block?code=(32ビット整数)8&size=(16|32|64)
括弧内の項目を適切な数字に置き換えます。
それぞれの小さなタイル画像には、見栄えの良い他のタイル画像のセットが与えられているに違いありません。タイルをノードとするグラフを考えてみてください。コーナーのランダムなノードを選択し、隣接するスポットをパートナーで埋めてから、回転させて同じパターンを 4 回適用します。次に色を選びます。
グラフの代わりに、各行が画像を表し、各列が画像を表し、セル値が重みである正方行列にすることもできます。