170 Positionierung und Ausrichtung notengraphischer Elemente existiert beim Stauchvorgang eine Grenze, die sich aus den Mindestabständen der Noten ergibt. Mit zunehmender Stauchkraft beteiligen sich immer weniger Federn und verhindern so ein Kollidieren der Noten. Im Gegensatz zum Streckvorgang ist es deshalb nicht möglich, sehr lange Akkoladen auf die gewünschte Länge zusammen-zudrücken. Ein Algorithmus, der all diese Besonderheiten der Akkoladenausrich-tung berücksichtigt, wurde 1987 von Weal Hegazy und John Gourlay im Rahmen des MusiCopy-Projekts an der Ohio State University entwickelt. Erstaunlicherwei-se verzichten die meisten kommerziellen Notensatzprogramme auf dessen Imple-mentation und setzen statt dessen deutlich leistungsschwächere, lediglich einzelne Akkoladen berücksichtigende Verfahren ein. In der Praxis erweisen sich diese auf-grund der ungleichmäßigen Taktverteilung im Hinblick auf einen möglichst hohen Automationsgrad als wenig geeignet. Der Hegazy-Gourlay-Algorithmus produziert deutlich bessere Resultate und bietet sich für den Einsatz in einem Notengenera-tormodul geradezu an. Aus diesem Grund soll seine Funktionsweise im folgenden Abschnitt genauer betrachtet werden. 5.4.2 Der Algorithmus von Hegazy und Gourlay Das soeben beschriebene Problem der heterogenen, von den Notenkonstellationen abhängigen Federmanipulationen jeder Akkolade erfordert neben Federhärte und -länge die Berücksichtigung weiterer Eigenschaften. Zunächst gilt es festzulegen, wie stark eine Feder aus ihrem entspannten Zustand expandiert und komprimiert werden kann. Als sinnvolle Grenzwerte erwiesen sich die doppelte sowie die halbe Federlänge, mit anderen Worten: Eine Feder kann maximal um die Länge l, welche sie im entspannten Zustand besitzt, gestreckt und um die halbe Länge gestaucht werden. Der maximale Streckwert s+ stimmt also mit l überein und für den maxi-malen Stauchwert ergibt sich s− = 1 2 l.80 Die nächste Festlegung gilt den Kräften F, die aufgewendet werden müssen, um eine Feder auf die minimale bzw. maximale Länge zu verformen. Die Wahl kann nahezu willkürlich erfolgen, in Anlehnung an Knuths glue-Eigenschaften dürften −1 und 1 jedoch die bevorzugten Werte dar-stellen. 81 Aus diesen Definitionen resultieren die in die nachstehend abgebildeten Eigenschaften für eine einzelne virtuelle Feder: l/2 F(− l l 2) = −1 F(0) = 0 2l F(l) = 1 verlängern bzw. zu verkürzen x n F(x) = . 1 ki i=1 Je mehr Federn hinzukommen, desto geringer wird also bei konstanter Auslenkung der dafür benötigte Kraftbedarf (vgl. auch Abbildung 5.12 auf Seite 173). 80 Bei den Konstanten s+ sowie s− handelt es sich stets um positive Zahlen. Der Unterschied zwischen Strecken und Stauchen ergibt sich aus dem Vorzeichen der Längenänderung x. 81 Vgl. Knuth und Plass (1981), S. 1126.