Ich habe eine Anwendung, die zufällige Bilder basierend auf Einschränkungen erstellt. Verschiedene farbige Pixel werden zufällig ausgewählt und in einem Gitter platziert, das alle Beschränkungen erfüllt. Zum Beispiel (vereinfacht) könnte es eine Einschränkung geben, die sagt, wenn ein blaues oder grünes Pixel bei (0, -1) ist und rote Pixel bei (-1, -1) und (-1, 0) sind, dann platzieren Ein weißes Pixel ist verboten. Diese Koordinaten sind Vektoren von dem aktuellen Platzierungsort (d. H. Seiner Nachbarschaft).Datenstruktur für Pixel-basierte Mustererkennung
Momentan speichere ich die Beschränkungen in einem Array und durchlaufe sie, um zu sehen, ob jeder anwendbar ist oder nicht. Ich muss dies für jeden Pixel tun, den ich im Raster platziere. Daher leidet die Leistung, wenn mehr Einschränkungen hinzugefügt werden. Es ist auch möglich, dass zwei Einschränkungen in Konflikt stehen, aber es ist nicht einfach, dies zu überprüfen.
Ich denke, dass eine Diagrammtyp-Datenstruktur (Baum?) Eine Möglichkeit sein kann, alle Einschränkungen zu speichern, so dass ich aus der Pixelumgebung schnell bestimmen kann, welche (wenn überhaupt) Einschränkungen gelten. Aber ich kann nicht genau herausfinden, wie man eine solche Struktur zum Laufen bringt, vorausgesetzt, dass eine einzelne Koordinate mehrere Farben enthalten kann und wie man einen Satz von Koordinaten/Farben mit einer Reihe verbotener Pixelfarben verbindet. Irgendwelche Ideen?
Danke! Dies scheint die richtige Richtung zu verfolgen. Ich habe noch nie von Graphenschnitten gehört. – jasonm76