04.11.2013 Aufrufe

Analyse, Modellierung und Programmierung des Geige-spielens an ...

Analyse, Modellierung und Programmierung des Geige-spielens an ...

Analyse, Modellierung und Programmierung des Geige-spielens an ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

9. Trajektoriengenerierung<br />

programmunterstützten Eingabe (vgl. Unterabschnitt 9.2.2.2 in Abschnitt 9.2), gegebenfalls<br />

Sprüngen auftraten, welche direkt aufein<strong>an</strong>der folgten <strong>und</strong> somit mit bisheriger<br />

<strong>Programmierung</strong> nicht aufgef<strong>an</strong>gen werden konnten. Dieser Missst<strong>an</strong>d soll nun mit einer<br />

Erweiterung der vorh<strong>an</strong>denen Interpolationsmethoden weitmöglichst ausgeräumt werden.<br />

Die gr<strong>und</strong>legenden Algorithmen aus 9.4 bis 9.11 werden zu diesem Zwecke allerdings nicht<br />

<strong>an</strong>getastet, wohl aber die Zuspeisung der Daten mit welche der Interpolator arbeitet.<br />

Die notwendigen Daten für eine Interpolation der Kurve <strong>an</strong> richtiger Stelle werden<br />

vom Programmfragment Fehlererkennung in Form einer Fehlermatrix bereit gestellt. Die<br />

Matrix ist wie in Tabelle 9.1 dargestellt aufgebaut. Die Angabe der Spaltennummer stellt<br />

Zeile<br />

Fehlermatrix<br />

1 Zeilennummer F ehler<br />

2 Spaltennummer F ehler<br />

3 tausendfache Größe d. Fehlers<br />

Tabelle 9.1.: Aufbau der Fehlermatrix<br />

hierbei die Spalte direkt vor dem Fehlerort dar. Diese Matrix wird in Folge entsprechend<br />

dieser Form direkt <strong>an</strong> den Interpolator übergeben. Um die Interpolationsalgorithmen<br />

auch auf kontinuierlich fehlerhafte Trajektorienstücke <strong>an</strong>wenden zu können, erschien es<br />

sehr sinnvoll, eine Modifizierung dieser Matrix vorzunehmen. Hierfür sollte die Matrix<br />

als erstes erweitert werden, so dass in ihr nicht nur Anf<strong>an</strong>gsspalte sondern auch Endspalte<br />

<strong>des</strong> Fehlers eingeschrieben würden. Folgen in einer Trajektorie nun mehrere Fehler<br />

aufein<strong>an</strong>der, so werden in Folge <strong>des</strong>sen mehre Fehler<strong>an</strong>f<strong>an</strong>gs- <strong>und</strong> Endwerte zusammen<br />

fallen, welche wiederrum aus der Matrix leicht entfernt werden können. Übrig bleiben nur<br />

Anf<strong>an</strong>gs- <strong>und</strong> Endpunkte von jeder kontinuierlichen Fehlerkette. Im weiteren Vorgehen<br />

wird nun der Interpolator geeignet umgeschrieben, dass er aus dieser modifizierten Matrix<br />

lesen k<strong>an</strong>n, wobei er durch die neue Form der Matrix jede kontinuierliche Fehlerkette<br />

als einen Sprung <strong>an</strong>sehen wird, welcher er nach bisherigen Methoden zu Interpolieren<br />

vermag. Dabei muss beachtet werden, das bei einer Korrektur der Trajektorienmatrix<br />

nicht nur Werte eingefügt werden müssen, sondern auch entsprechend der Länge der<br />

Fehlerkette entfernt.<br />

Durch diese Modifizierungen ist es nun auch möglich kontinuierlich fehlerbehaftete<br />

Trajektorien bei Nutzung derselben Algorithmen zu beheben. Es soll aber darauf hingewiesen<br />

werden, dass nach einer Interpolation zu stark fehlerhafter Trajektorien zwar in<br />

Folge <strong>des</strong>sen stetige Bewegungsabläufe entstehen, dies aber zu einer nicht unerheblichen<br />

Verfälschung der ursprünglich <strong>an</strong>gedachten Kurve führen k<strong>an</strong>n. Somit weißt auch diese<br />

Interpolationsmethode Grenzen auf.<br />

9.2. Methoden der Liedgenerierung<br />

Nachdem nun alle Probleme der Trajektorienbeschaffenheit weitgehenst behoben sind,<br />

will ich mich nun mit einen der Trajektorienberechnung übergeordneten Programm namens<br />

Liedgenerator beschäftigen. Ursprünglich erdacht wurde dieses zur automatischen<br />

64

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!