GDI-Plus Frage

  • Im unten angehängten Bild seht ihr zwei grüne Punkte, in dem Fall stellen diese Menschen dar, und einen weißen Raum. Logischerweise können diese Personen sich nicht sehen, da das Sichtfeld ja die rote Linie wäre, welche aber durch eine Wand geht. Mein Problem besteht jetzt darin, dass ich die Koordinaten der Personen habe und mit ein wenig Mathematik auch die anderen Koordinaten der Linie rausfinden kann, aber es einfach zu langsam ist. Pro Koordinaten Check mit _GDIPlus_GetPixel dauert das 5ms. Mit 2 Personen, ok, würde funktionieren aber ich rechne da mit ca. 10 und wenn diese sich auch noch bewegen sollen ist das einfach nicht möglich. Jetzt suche ich eventuell eine Funktion, mit der ich eine Linie ziehen kann zwischen den Punkten und evtl überprüft werden kann, ob diese Linie einen schwarzen Punkt schneidet. Evtl. habt ihr ja auch noch eine andere Idee, wäre euch dankbar :).

  • Guten Tag,
    Danke erstmal dir progandy, aber da steige ich kaum durch. Habe mir das mal ein wenig durchgelesen, verstehe aber gleich 0. Leider :(. Habe jetzt mal versucht vorher alle Pixel bereits vorher auszulesen und in ein Array zu speichern. Es dauert jetzt 300 ms bis alle Personen gegeneinander überprüft wurden. Es muss doch eine _GDIFunktion geben wo ich einen Linie von Pixel ab nach Pixel xy zeichne und schaue ob sie geschnitten wurde? :(

  • Den Algorythmus verstehe ich überhaupt nicht. Kannst du mal in Worten kurz erklären, was ihn denn genau schneller macht und warum er denn für mich hilfreich sein könnte?


    Ob er schneller ist, kann ich nicht sagen. Und verstehen ui ich ihn auch nicht wirklich... Hab ihn noch mal durchgelesen und glaube, da fehlt sogar ein Stück :(