Problem:
ich möchte ein Funktion schreiben. Diese Funktion bekommt als Übergabeparameter ein Array das wiederum 2 Dimensional ist. Die erste Dimension stellt das Frame da. Bei der Zweiten handelt es sich um Koordinaten im Raum & geht dementsprechend von 0..2. Nun möchte ich alle Frames aus der Liste löschen wo die y Koordinate <10 oder größer >50 ist. Mein Ansatz bisher sah so aus
Code: Alles auswählen
def detectGround(self, marker):
print("start detect")
#for i in range(0, len(rigidBody)):
for t in range (0, len(marker)):
if (marker[t][2]<10)or((marker[t][2]>50)):
marker.pop(t)
print (marker)
Edit:
Hab es auch schon mit
Code: Alles auswählen
del(marker[t])ValueError: cannot delete array elements
Frage:
Gibt es ein äquivalent zu .pop das mir alle koordinaten zum entsprechenden Frame rausschmeißt?
Bin leider aus der Numpy.Array Doc kein stück schlauer geworden
http://docs.scipy.org/doc/numpy-1.10.1/ ... y.ma.array
Und gibt es eine sauberere Art das Problem zu lösen.
LG
Hintergrund:
Es geht eigentlich um MotionCapture. Ich habe eine C3D Datei in der Markerdaten stehen. Mit der BTK Library ist es mir gelungen die C3D Datei zu öffnen und die Koordinaten der Marker die ich benötige zu bekommen.
Ich habe nun die Koordinaten von 3 Markern / Sensoren die sich auf dem rechten Fuß befinden. Meine Aufgabe ist es einen Schritt mittels eines Pythonscripts zu erkennen. Daher benötige ich die y Koordinate (Höhe) des Markers wenn der Fuß sich auf dem Boden befindet.
