Maskiert einen kreisförmigen Sektor in einem numpligen Array

8

Ich habe einen Code, der ein numpliges Array in einen Kreis schneidet. Ich möchte nur die Werte in einem bestimmten Winkelbereich aus dem Kreis wiederherstellen und das Array maskieren. Beispiel: Maskieren Sie das ursprüngliche Array mit den Positionen (x, y) zwischen 0 und 45 Grad des Kreises.

Gibt es einen pythischen Weg dafür?

Hier ist mein (vereinfachter) Originalcode:

%Vor%

Vielen Dank im Voraus

Bearbeiten: Ich habe weggelassen, dass der Radius variieren kann.

    
Guadancil11 21.08.2013, 08:54
quelle

2 Antworten

17

Ich würde dies tun, indem ich von kartesischen in Polarkoordinaten umwandle und Boolesche Masken für den Kreis und für den gewünschten Winkelbereich konstruiere:

%Vor%

Zum Beispiel:

%Vor%

    
ali_m 12.01.2014, 16:33
quelle
0

Gleiche Vorgehensweise für zentrierte Kreise in quadratischen Matrizen:

%Vor%

Das Schleifen dieser impliziten Funktion ist kostspielig!

    
n1nj4 19.01.2017 13:39
quelle

Tags und Links