Überschneidungen in Diagrammen / imageellipse

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Überschneidungen in Diagrammen / imageellipse

    Ich habe ein meiner Ansicht nach äußerst schwierig zu lösendes Problem:

    Zur Messung von Gesichtsfeldausfällen erstellt man sog. Perimetrie-Diagramme. Diese Diagramme sehen etwa so aus:


    Nun sollen alle Flächen mit Gesichtsfeldausfall GRAU dargestellt werden.
    Ich habe aber 2 Polygone, erstens das äußere, große Polygon, das durch den Kreis begrenzt wird, und zweitens das innen drin, das nicht ausgefüllt Kleine.

    Man muss automatisch überprüfen lassen, ob es mehrere Polygone gibt (kein Problem), WO sie sich befinden, bzw. ob sie ineinander liegen (das ist das Problem), und dann noch färben (wahrscheinlich kein Problem, wenn erstmal klar ist, welches den flood fill bekommen soll.

    Wie mache ich das ?????

    Beste Grüße ,
    Patrick

  • #2
    Imagecolor in Prozent ?

    Ich habe mich nun schon mit der PHP Manual geprügelt und Google bemüht, aber ich habe keine Lösung gefunden:

    Wie kann man den Anteil einer Farbe an einem Bild in Prozent messen?
    Ja, sicher: Man kann in einer Schleife jeden einzelnen Pixel mit imagecolorat untersuchen, und so einen Wert errechnen. Aber wie lange das bei einem 2000 x 2000 px Bild dauert brauche ich wohl nicht näher zu erwähnen.

    Gibt es eine Andere Möglichkeit?

    Ziel ist es, herauszufinden, ob ein Polygon innerhalb eines Kreises in einem anderen Polygon liegt. Gibt es alternative Möglichkeiten, das zu überprüfen?
    Ich habe überlegt, ob man anhand entstehender Mischfarben, wenn man die beiden Polygone übereinander legt, vielleicht herausfinden kann, ob sie eben übereinander liegen. Jemand eine Idee?

    Patrick

    PS: Zur Illustration hier ein Bild:

    Hier ist das zweite, kleine Polygon in der Mittedes Großen, weißen, nicht filled, sondern nur der Umriß, ich hoffe man erkennt es....

    Kommentar


    • #3
      Lösung

      Ich habe eine Lösung für mein Problem der 2 Polygone entwickelt:

      Ich lasse erst ein Bild malen, auf dem alle Polygone mit alpha 70 eingezeichnet werden, und speichere dabei jeweils die erste Koordinate des Polygons. Sieht etwa so aus:


      Liegen die Polygone nun übereinander, verändert sich ihr Farbton von hellem grau zu dunklerem Grau. Ich lasse die Koordinaten, die ich gespeichert habe mit imagecolorat auf den Farbwert überprüfen, wenn er dunkel ist, liegt das Polygon innerhalb eines anderen, muss also gefüllt sein, wenn er hell ist, ist es ein Polygon, welches nicht gefüllt werden muss. Sieht dann so aus:

      Kommentar


      • #4
        Wie kann man den Anteil einer Farbe an einem Bild in Prozent messen?
        Ja, sicher: Man kann in einer Schleife jeden einzelnen Pixel mit imagecolorat untersuchen, und so einen Wert errechnen. Aber wie lange das bei einem 2000 x 2000 px Bild dauert brauche ich wohl nicht näher zu erwähnen.
        Hmm.
        Das "identify"-Tool von ImageMagick kann zumindest globale Statistiken pro Farbkanal ausgeben, siehe hier. Bin aber nicht sicher, ob das das ist, was Du suchst. Dort würde ich aber mal am ehesten rumschauen.... Ob ImageMagick auf Deinem Webspace verfüg- und aufrufbar ist, mußt Du aber beim Provider rausfinden oder selbst testen.

        Kommentar

        Lädt...
        X