Analyse, Modellierung und Programmierung des Geige-spielens an ...
Analyse, Modellierung und Programmierung des Geige-spielens an ...
Analyse, Modellierung und Programmierung des Geige-spielens an ...
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