[metapost] Re: MetaPost 0.891 announcement

Taco Hoekwater taco at elvenkind.com
Tue Mar 22 09:27:58 CET 2005


Larry Siebenmann wrote:
> Concerning 6:
> 
> I am not keen on introducing systematic functionality in any public
> mp version that is ab initio known to be inappropriate and impermanent.

We are not introducing functionality. turningnumber is not new.

This new implementation of turningnumber is a better than the
original, even if it is not yet perfect. A temporary solution
that make the problem have a lesser sting while at the same
time a real resolution is being sought is a valid way to deal
with bugs in software.

> A more orthodox alternative is to introduce the new primitive
> 
>               "secantturningnumber"

No. That would be 'new functionality that is ab initio known to be 
inappropriate and impermanent', since it will become obsolete as
soon as the real turningnumber is fixed.

> I have railed often against ignoring the inevitable instabilities
> of turningnumber. They should be signaled somehow.  But how?

Of course I have seen your warnings about instable curves, but
warnings do not transform themselves into pascal code, and I have
not yet found a usable algorithm that finds whether or not a path
segment is well-behaved, based on its points (as opposed to its
equations).

As it stands, I've allowed myself or others six months (until the
next release) to find a definitive solution for this problem.

> Example: Consider the mirror image 'almost perfect' circles
> 
>              (100,100){left}..(100,200)..cycle;
>              (100,100){right}..(100,200)..cycle;
> 
> With your current proposal, what does mp say about their respective
> turningnumber's (ie secantturningnumber's).

both report the same, 1. (that follows from the description of the 
algorithm).

Greetings. Taco



More information about the metapost mailing list