Paint Polygon ausmalen

OP #7220296
Lesenswert?

Hallo,

Hat jemand eine Idee, nach welchem Algorithmus Paint die Polygone 
ausmalt.

Ich hätte da folgenden gefunden:
https://de.wikipedia.org/wiki/Punkt-in-Polygon-Test_nach_Jordan

Gibt es da vielleicht noch effektivere Verfahren :), hier muss ja jeder 
Pixel einzeln überprüft werden?

Danke :)
OP #7220333
Lesenswert?

Εrnst B. schrieb:
> Alexander M. schrieb:
>> hier muss ja jeder
>> Pixel einzeln überprüft werden?
>
> Nicht unbedingt. Du kannst ja z.B. zeilenweise drüberlaufen, und
> innerhalb jeder Zeile die Schnittpunkte mit dem Polygon bestimmen.
> Zwischen diesen ändert sich nix, also kannst du immer einen ganzen
> Schwung nebeneinanderliegender Pixel gleich behandeln.

Oh guter Punkt. Danke!
#7220348
Lesenswert?

Εrnst B. schrieb:
> Nicht unbedingt. Du kannst ja z.B. zeilenweise drüberlaufen, und
> innerhalb jeder Zeile die Schnittpunkte mit dem Polygon bestimmen.

Es kann doch passieren, dass es kein regelmäßiges Polygon ist und dann 
kann es auf jeder Zeile passieren, dass es jeweils mehrere Schnittpunkte 
gibt, sodass die Pixelzeile aus mehreren Segmenten besteht.
Sehe ich das richtig?
#7220358
Lesenswert?

Bernd S. schrieb:
> gibt, sodass die Pixelzeile aus mehreren Segmenten besteht.
> Sehe ich das richtig?

ja. Dann gibt's mehrere Schnittpunkte. Diese lassen sich aber recht 
einfach finden, weil die "Test-Gerade" schön waagerecht mit konstantem y 
läuft.

Der Check ob es einen Schnittpunkt zu einem Polygon-Segment gibt, ist 
fix mit ein paar "<" und ">"-Vergleichen erledigt, nur das genaue 
Berechnen der x-Koordinate braucht dann Division/Multiplikation.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren