19

このPHP スクリプトを使用して ID アイコンを生成しています。Don Park 独自の identicon アルゴリズムを使用しています。

このスクリプトは非常にうまく機能し、ID アイコンを生成するために自分のアプリケーションに適用しました。問題は卍が時々発生することです。卍は平和的な起源を持っていますが、人々はそれらのシンボルを見ると気分を害します。

私がやりたいことは、卍が生成されないようにアルゴリズムを変更することです。私は少し掘り下げて、従業員が卍の生成を防ぐために微調整を追加したと述べているMicrosoftのWebサイトでこのスレッドを見つけましたが、それ以上のものはありません.

微調整が何であるか、および卍が生成されないようにする方法を特定した人はいますか?

4

3 に答える 3

9

私には(ちらりと見て)アイデンティコンは常に 4 回回転対称であるように見えます。スワスティカは確かにそうです。クォーターブロックを別の方法で繰り返すだけではどうですか? 現在のパターンで卍を生成する 1/4 ブロックを取り、対角線上にある 2 つの 4 分の 1 を反射すると、一種のスペース インベーダーが得られます。

基本的に、反射対称性を持つものは卍のようには見えません。四半期内に完全に含まれる小さな卍がある場合、まだ問題があると思います。

于 2012-07-23T11:21:59.513 に答える
9

Jeff Atwood の紹介スレッドで、Don Park は次のように提案しました。

Re Swastika のコメントは、特別な OCR のような視覚分析を適用してすべての問題のあるコードを特定し、遺伝的アルゴリズムを使用して効果的なブルーム フィルターにクランチすることで対処できます。フィルターが true を返す場合、2 番目のタイプの ID (つまり、4 ブロックのキルト) を使用できます。

または、identicons をunicornsに置き換えることで、この問題を完全に回避できます。

于 2012-07-23T11:03:43.977 に答える
0

視覚分析を含む私の最初の提案は、使用中の特定のアルゴリズム、つまり 9 ブロック キルトのコンテキストにありました。

スワスティカ問題のない別のアルゴリズムを試してみたい場合は、人気のある 16 ブロックのキルト Identicons にインクブロットに見られるような対称性を導入してみてください。

于 2012-08-14T23:46:39.680 に答える