Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ss18:data_struct

Datenstruktur

Die Datenstruktur sorgt dafür, dass die Positionsdaten der Pucks gespeichert und verarbeitet werden können. 1)

Puckklasse

Die Klasse Puck implementiert die folgenden Methoden:

Methode Beschreibung
init() Konstruktor, initialisiert Attribute
str() Methode für bequeme formatierte Ausgabe
len() gibt die Länge der History zurück
setPos(timestamp,pos) aktualisiert die momentane Puckposition
getRadius() gibt den Radius des Pucks zurück
getWeight() gibt die Masse des Pucks zurück
getPos() gibt die aktuelle Position zurück ((die Position, Geschwindigkeit, usw. werden als Numpy Arrays zurückgegeben, da diese die Vektoroperationen implementieren)
getPos(timestamp) gibt die Position zu einem gewählten Zeitpunkt zurück
getTime(frame) gibt den Timestamp aus
getPositionen() gibt alle Positionen des Pucks zurück
getVelocityVector() gibt den Geschwindigkeitsvektor des Pucks zurück
getVelocity() gibt den Geschwindigkeitswert des Pucks zurück
getPulseVector() gibt den Impulsvektor zurück
getPulse() gibt den Impulswert zurück
Frameklasse

Die Frameklasse verwaltet alle Pucks. Damit findet unter anderem die Kommunikation zwischen der Trackingsoftware mit einer Instanz der Frameklasse statt. Die Frameklasse empfängt die Daten von der Trackingsoftware in einer bestimmten Form:

daten = [timestamp, (identifier, [(x1,y1),(x2,y2),(x3,y3),(x4,y4)]), ...]

Erklärung:

  • timestamp: Zeitpunkt der Daten (kann z.B. die Framenummer sein)
  • identifier: ein Wert, welcher für jeden Puck einzigartig ist
  • x1,y1,…x4,y4: Eckpunkte des Rechteckes, welche von der Trackingsoftware übergeben werden
Methode Beschreibung
init() Konstruktor, initialisiert Attribute
getitem() Zugriff auf einzelne Pucks
update(data) aktualisiert die Puckpositionen
addPuck(newPuck) Hinzufügen von einem Puck zu dem Frame
save(filename) speichert alle Positionen in einer Tabellendatei
allVelocity() gibt die summierten Geschwindigkeiten aller Pucks zurück
data_boltzmann() gibt die Positionsdaten für die Berechnung der Heatmap und der Maxwell-Boltzmann-Verteilung zurück
1) J.Zerbian
ss18/data_struct.txt · Zuletzt geändert: 2018/08/25 20:47 von zerbian