lilypond-devel
[Top][All Lists]

## Re: skyline vertical spacing

 From: Erik Sandberg Subject: Re: skyline vertical spacing Date: Tue, 21 Nov 2006 11:00:10 +0100 User-agent: KMail/1.9.5

```On Tuesday 21 November 2006 08:57, Joe Neeman wrote:
> On 11/20/06, Erik Sandberg <address@hidden> wrote:
> > Hi,
> >
> > I just got another idea of how to improve max-slope skylines. The
> > motivation
> > is mathematical rather than scientific, so there's no guarantee it's a
> > good
> > idea. But anyways:
> >
> > The problem that max-slope tries to solve, is to separate objects from
> > each
> > other in X direction as well. My new idea is that what we really want is
> > to
> > separate objects by some minimum Euclidean distance (i.e. x^2+y^2); this
> > can
> > be achieved with skylines if the skyline is formed as circles around each
> > object, and the spacing between skylines is set to 0, as in:
>
> I'm not sure that we actually want a Euclidean distance. Consider the case
> (I won't try to draw it) where you have a very low object on the top staff
> and a very high object on the bottom staff. The horizontal space between
> them is just over the minimum distance. Then the object on the top staff
> will end up close to the bottom staff and the
> object from the bottom staff will end up close to the top staff. The fact
> that their horizontal distance is relatively small might introduce
> confusion as to which staff the objects belong.
>
> The nice thing about the max-slope idea is that it sort of captures the
> hand-waving notion that the 2 staves are different objects that need to be
> placed vertically in such a way that they don't interleave "too much." That
> is, the amount that they interleave doesn't introduce any confusion as to
> which objects belong to which staff.

OK, fair enough. Then what about a hybrid solution, where we draw a circle (or
approximation thereof) around each object, and then apply max-slope on the
resulting skyline (i.e., so the slope lines will be tangents to circles)?
___
/   \_____slope constant below this point, slope circlic above
/  o  \
/       \
/         \
(The shape is somewhat similar to that of Darth Vader's helmet)

My main concern with pure max-slope is that it may not produce good results
near tower-roofs. E.g., max-slope = 2 means that (min horizontal distance) is
0.5 * (min vertical distance) near rooftops; we may want to tune that 0.5
constant without affecting the max-slope.

--
Erik

```