Entfernte RGB-Farben generieren



  • Hi,

    kennt jemand einen Algorithmus, um eine beliebige Anzahl möglichst weit entfernter Farben im RGB-Format zu generieren? Optimal wäre es, wenn die ersten paar Farben so richtig unterschiedlich sind (z.B. Rot, Grün und Blau), die nächsten X sich dann natürlich ähnlicher werden.
    Vernünftige Google-Stichwörter wären auch schon nett 🙂



  • ein ganz plumper ansatz: rande des farbraums entlangreisen und als schrittweite den goldenen winkel nehmen.



  • Magst du das mal genauer erklären, das versteh ich nicht 😕 Auch, wie man mit einem Winkel einen Würfel abläuft, kann ich gerade nix mit anfangen.



  • Badestrand schrieb:

    Magst du das mal genauer erklären, das versteh ich nicht 😕 Auch, wie man mit einem Winkel einen Würfel abläuft, kann ich gerade nix mit anfangen.

    naja, den würfel brauch ich weniger. und trübe farben brauch ich auch nicht. da fehlen dann halt am ende schwarz und weiß. aber naja, sollte ja simpel sein.
    also sättigung ganz joch und das da anstreben.
    http://stackoverflow.com/questions/470690/how-to-automatically-generate-n-distinct-colors

    und dann noch will ich die anzahl der farben nicht vorher wissen müssen. dazu rotiere ich mit schrittweite goldener winkel http://de.wikipedia.org/wiki/Goldener_Schnitt#Goldener_Winkel
    durch, statt wie die anderen 360/n zu nehmen.



  • @volkard:
    [neugier]
    Wo verwendest du denn sowas?
    [/neugier]



  • hustbaer schrieb:

    @volkard:
    [neugier]
    Wo verwendest du denn sowas?
    [/neugier]

    gar nicht. das erste mal hatte ich die möglichen 8 farben hardcoded. das zweite mal hatte ich die ersten 8 farben hardcoded und die weiteren zwar mit einem algo erzeugt, aber den weiß ich nicht mehr. irgendwas gefrickeltes unelegantes.
    ich betone, daß meine idee unter "ein ganz plumper ansatz" läuft, und würde gerne mal die ersten 20 farben sehen, die dabei rauskommen.



  • Kann gut sein, dass ich mich bei der HSL->RGB-Konvertierung vertan hab, aber kann's auch erst Sonntag überprüfen. Die ersten 60 Farben sehen bei mir so aus: *klick*. Leider nicht so gut wie ich mir erhofft hab, irgendwie kommt auch der Wert "50" ziemlich oft vor. Wie auch immer, die Idee ist jedenfalls cool und vielleicht ist in meinem Code auch nur ein doofer Fehler.



  • Badestrand schrieb:

    Kann gut sein, dass ich mich bei der HSL->RGB-Konvertierung vertan hab, aber kann's auch erst Sonntag überprüfen. Die ersten 60 Farben sehen bei mir so aus: *klick*.

    ich sehe, farbe0 ist knallrot.
    und farbe8 ist fast gleich.
    8137,5=1100=20
    und farbe13 auch
    13
    137,5=-12,5
    MIST!

    Leider nicht so gut wie ich mir erhofft hab,

    sehe ich auch so.

    Wie auch immer, die Idee ist jedenfalls cool

    sehe ich auch so.

    und vielleicht ist in meinem Code auch nur ein doofer Fehler.

    nee, die handrechnung zeigt ja, daß die nur 20 grad ausdeinanderliegen.

    nochmal testen, der erste fehler ist bei f1==f6
    1137,5=137,5
    6
    137,5=825=105
    nö. 30 grad müßten aber deutlicher sein. müßten nicht. auf blau ist das auge ja recht blind.

    schade.
    ist wohl doch zu freck gewesen, statt des ganzen zylindervolumens nur den oberen außenkreis nehmen zu wollen.

    und vielen dank für die 60 farben. das problem hat mich nämlich nie ganz losgelassen, bin weiterhin neugierig.



  • volkard schrieb:

    hustbaer schrieb:

    @volkard:
    [neugier]
    Wo verwendest du denn sowas?
    [/neugier]

    gar nicht. das erste mal hatte ich die möglichen 8 farben hardcoded. das zweite mal hatte ich die ersten 8 farben hardcoded und die weiteren zwar mit einem algo erzeugt, aber den weiß ich nicht mehr. irgendwas gefrickeltes unelegantes.
    ich betone, daß meine idee unter "ein ganz plumper ansatz" läuft, und würde gerne mal die ersten 20 farben sehen, die dabei rauskommen.

    ich meinte: zu welchem zweck wolltest du optisch "weit auseinanderliegende" farben haben/generieren?

    mir fällt jetzt bloss sowas wie ein chart-tool ein, wo man für unterschiedliche kurven unterschiedliche farben verwenden möchte. da würde ich allerdings auch zumindest die ersten 8 farben hardcoded machen, damit die halt "schön" sind 🙂



  • hustbaer schrieb:

    mir fällt jetzt bloss sowas wie ein chart-tool ein, wo man für unterschiedliche kurven unterschiedliche farben verwenden möchte. da würde ich allerdings auch zumindest die ersten 8 farben hardcoded machen, damit die halt "schön" sind 🙂

    ja, logisch. da habs ichs zum zweiten mal gebraucht. und beim ersten mal für taktische armeezeichen bei einem game.

    hustbaer schrieb:

    @volkard:
    [neugier]
    Wo verwendest du denn sowas?
    [/neugier]

    Badestrand will es heute haben.


Anmelden zum Antworten