[EMAIL PROTECTED] writes:
> Hi,
> 
> On Wed, 10 Jun 1998, Han-Wen Nienhuys wrote:
> > > Hmm .. well .. I must say that you try to use a good deal of (complicated)
> > > mathematics in your code - never saw a music typesetting system that
> > > actually comes with a full featured linear-algebra engine :)
> > 
> > :-)
> > 
> > If you know anything about LP or simplex method algorithms (those
> > should be simpler), feel free to hack it in 
> 
> hmm, I'd like to - but I should try to understand a bit about that
> constraint programming (you use) and algorithms you use - have you got
> an online-copy of the Gourlay-algorithm you use (or other relevant
> papers), for example?

What exactly do you want to know?  All notes that happen at the same
time in a column.  These columns are separated by rods (constraints),
and held together by springs.  The result is a quadratic programming
problem (for the potential energy in the spring) with linear
inequality constraints (for the rods), and equality constraints (the
left and right edges of the lines).

It would be better if we'd optimise for the force of the springs
iso. the energy; that would be  a LP problem.

These articles are relevant:


John S. Gourlay. Spacing a line of music,. Technical report,
Department of Computer and Information Science, The Ohio State
University, 1987. Algorithm for generating spacing in one line of
(polyphonic) music, tailored for use with MusiCopy. LilyPond uses a
variant of it (as of pl 76) You can order them for free from the OSU
CS department HWN.


Mordecai Avriel, Nonlinear Programming: analysis and m ethods (1976)
Prentice Hall.

and
http://www.cs.uu.nl/~hanwen/lilypond/Documentation/out-www/internals.html
-> SPACING section


Han-Wen Nienhuys, [EMAIL PROTECTED] ** GNU LilyPond - The Music Typesetter 
http://www.cs.uu.nl/people/hanwen/lilypond/index.html 

Reply via email to