Seite 1 von 1

Polygon in Matrix "rastern" lib gesucht

Verfasst: Dienstag 14. September 2010, 16:16
von Lufia
Ich suche eine Möglichkeit ein Polygon z.B:

xy = [[0.0,0.0],[2.0,0.0],[1.0,1.0]]

effektiv zu "rastern". Ich möchte eine Matrix mit einer bestimmten Schrittweite aufbauen z.B. dx = dy = 0.01 und einfach markieren ob ein Punkt innerhalb des Polygons liegt oder nicht.

Dazu kann man natürlich übliche Point in Polygon (Link wikipedia) verwenden. Aber das ist doch recht zeitaufwendig. Ich meine wenn ich Inkscape verwende, ein SVG zeichne und dann fülle geht das ja super schnell,... ich befürchte deutlich schneller als meine simple Abfrage die jeden Pixel abfrägt.

Ich habe unter der deutschen Wikipedia gesehen das es wohl bessere Algorithmen dazu gibt. Kennt jemand zufällig eine Python Lib die so etwas kann? Ganz naiv könnte man den Umweg über svg und PIL gehen um sich das Bild schon fertig rastern zu lassen, aber das möchte ich eigentlich nicht da es mir zu wenig flexibel ist.

Besten Dank und sorry falls ich mich etwas verwirrend ausdrücke :oops:

Re: Polygon in Matrix "rastern" lib gesucht

Verfasst: Dienstag 14. September 2010, 16:56
von BlackJack
@Lufia: `PIL.ImageDraw` enthält eine Klasse mit der man auf Bildern zeichnen kann. Unter anderem Polygone.

Re: Polygon in Matrix "rastern" lib gesucht

Verfasst: Mittwoch 15. September 2010, 13:03
von Lufia
Oh dann geht es ja doch einfacher als gedacht, Polygon zeichen, füllen und Matrix "betrachten". Besten Dank.

Wobei es schon spannend wäre zu verstehen wie die das da implementiert haben.