Ich habe eine Reihe von nahe von 10.000 Punkten am Himmel. Sie sind mit der RA (Rektaszension) und DEC (Deklination) am Himmel geplottet. Wenn sie gezeichnet werden, nehmen sie die Form eines Kreises an.Schneiden eines Kreises in gleichen Segmenten, Python
Was Ich mag würde, ist der Kreis in 8 gleiche Teile zu Scheibe zu tun, und jeden Teil einen nach dem anderen entfernen und einigen Berechnungen bleiben die übrigen Teile verwenden.
Um dies zu tun, kam ich auf diese Illustration im Sinn, d. H. Schneiden sie mit den Bögen.
Ich weiß, dass die Gleichung des Bogens ist gegeben durch:
S = r * theta
wo
r --> radius
theta --> angle (in our case 45 degrees)
ich irgendwie diese wie tun möchte:
slice1 = []
for a,b in zip(ra,dec):
if a>some value and a<some value and b>some value and b<some value:
slice1.append(a,b)
Wenn sie ein Quadrat, es wird wirklich leicht, und die obige Gleichung kann sofort angewendet werden.
Also sobald ich meine Scheibe habe, kann ich dann eine numpy.where()
machen, um den Rest meines Kreises herauszufinden.
Ich kann es leicht in vier Scheiben schneiden, indem Sie nur die min(RA),max(RA),min(DEC) and max(DEC)
erwähnen. Ein solches Beispiel, wenn ich es für den ersten Quadranten zu tun gibt mir dies:
RA>0.0 and RA<max(RA) DEC>0.0 and DEC<max(DEC)
Ich weiß nicht, wie über das tun dies in meinem Fall gehen (dh in 8 Quadranten !!), wobei ich nur die x, y Koordinaten meiner Datenpunkte habe !!
Ich kann es immer noch nicht ganz verstehen, aber was für eine schwarze Magie ist das !!! – ThePredator
Ich kann sehen, dass sliceno mir meine 8 Quadranten gibt, aber können Sie weiter aufklären ?? !! – ThePredator
@ThePredator: Ich habe die Antwort bearbeitet, um Bittricks zu vermeiden und arbeite stattdessen mit einem generischen 'N' für die Anzahl der Slices. – 6502