lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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)? 
I.e., an added point adds something like this to the closure:
    ___
   /   \_____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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]