2012-07-23 3 views
17

Ich benutze diese PHP script, um identicons zu erzeugen. Es verwendet den ursprünglichen Identicon-Algorithmus von Don Park.Verhindern der Erzeugung von Hakenkreuz-ähnlichen Bildern beim Erzeugen von identicons

Das Skript funktioniert gut und ich habe es an meine eigene Anwendung angepasst, um Identicons zu generieren. Das Problem ist, dass manchmal Hakenkreuze erzeugt werden. Während Hakenkreuze einen friedlichen Ursprung haben, sind die Menschen beleidigt, wenn sie diese Symbole sehen.

Was ich tun möchte, ist den Algorithmus so zu ändern, dass Hakenkreuze nie erzeugt werden. Ich habe ein bisschen gegraben und gefunden thread on Microsoft's website, wo ein Angestellter angibt, dass sie eine Optimierung hinzugefügt haben, um die Erzeugung von Hakenkreuzen zu verhindern, aber nichts mehr.

Hat jemand herausgefunden, was der Tweak wäre und wie verhindert werden könnte, dass Hakenkreuze erzeugt werden?

+6

Mehr als persönlicher Geschmack, kann dies in einigen Ländern (Deutschland, Frankreich), wo die Darstellung des Symbols außerhalb eines historischen Zusammenhangs verboten ist, rechtliche Auswirkungen haben. Ich bin mir nicht sicher, ob das jemals vor Gericht angefochten wurde, aber warum? –

+0

@KonradRudolph: Einverstanden. Deshalb möchte ich verhindern, dass diese Symbole generiert werden :) – F21

+2

https://addons.mozilla.org/en-us/firefox/files/browse/77910/file/chrome/identfavicon.jar/content/identfavicon.js# L118 ist in .js, weist aber auf eine Methode hin - unter Vermeidung bestimmter Kombinationen von Sprites. – DaveP

Antwort

8

Identicons erscheinen mir (auf einen Blick) immer vierfache Rotationssymmetrie. Swastikas sicherlich tun. Wie wäre es, den Viertelblock einfach anders zu wiederholen? Wenn du einen Viertelblock nimmst, der im aktuellen Muster ein Hakenkreuz erzeugt und zwei diagonal gegenüberliegende Viertel widerspiegelt, erhältst du eine Art Space Invader.

Grundsätzlich kann nichts mit Reflexionssymmetrie sehr wie ein Hakenkreuz aussehen. Ich nehme an, wenn ein kleines Hakenkreuz ganz in dem Viertel enthalten ist, dann hast du immer noch ein Problem.

+0

Ja, Menschen sind eher für die Verarbeitung bilateraler Symmetrie als für Rotation ausgelegt. Siehe https://github.com/cupcake/sigil – karmakaze

+0

Kannst du es einfach in 5-fache Symmetrie ändern? – endolith

8

Auf Jeff Atwood's introducing thread, Don Park vorgeschlagen:

Re Swastika Kommentare, dass durch Anlegen eine spezielle OCR-ähnliche visuelle Analyse adressiert wird alle Codes anstößigen identifizieren dann knirschen sie zu einem effektiven Bloom-Filter mit genetischem Algorithmus . Wenn der Filter wahr zurückgibt, kann ein zweiter Typ von Identicon (d. H. 4-Block-Quilt) verwendet werden.

Alternativ können Sie das Problem vollständig vermeiden, indem Sie die identicons durch unicorns ersetzen.

+8

+1 - Hurra für Einhörner! –

+0

Ich mag die Einhörner, aber aufgrund der Art der Anwendung wären einige abstrakte Formen (die nicht Swastika sind!) Besser geeignet. Der Kommentar von Don Park ist interessant, aber ich hoffe, dass es eine einfache Anpassung des Algorithmus gibt, die keine OCR- und Bildanalyse erfordert. – F21

0

Mein ursprünglicher Vorschlag, der visuelle Analyse einschloss, war in Zusammenhang mit dem bestimmten Algorithmus, nämlich 9-Block-Quilt.

Wenn Sie einen anderen Algorithmus ohne Swastika-Problem versuchen möchten, versuchen Sie Symmetrie, wie man sie in Tintenklecksen kennt, in populäre 16-Block-Quilt-Identicons einzuführen.

Verwandte Themen