[therion] Re: Help - my cave is inside-out
Martin Budaj
m.b at speleo.sk
Wed Jan 5 23:42:08 CET 2005
Wookey wrote:
>>>> Warning: scrap outline intersects itself in bmb3_s3 at fake
>
>>
>> I have this warning in a few scrpas in that survey - I wondered how
>> serious
>> it was, and what I should do about it. But without more details of _where_
>> it intersects itself (and why this is a problem), I could not do anything
>> but ignore it.
The only information we can give here is the scrap name. There is no way
how to find out in MetaPost where exactly the closed path intersects
itself :-((
>> I have several more scraps which I cannot include in the overall survey at
>> the moment because if I do I get cryptic metapost errors. We have to work
>> out a way of getting better feedback to the user about _where_ the problem
>> lies as it is currently extremely difficult to fix as you don't know which
>> of many lines is at fault.
I think it's doable to give a line number in th2 file where the error
occures. It would be perhaps possible to also identify area border lines
which don't intersect.
>> How did you find the above problem. If I understood the process you used
>> to
>> find this it might help me next time.
I got this error (uncorrectly determined interior of the scrap) long time
ago in Dead Bats Cave map. There was some strange clipping by the scrap
border, which I could't explain. In that time there was no MP warning, no
map colouring. I don't remember exactly but it took quite long till i
identified that the problem is in the border and than what is wrong with
the border. After reading thoroughly the apprpriate chapter of the
Metafont book I knew that problem is in the loop -- but even than I
couldn't find any -- so small it was, in fact very similar to yours.
I added the MP warning to point to this problem. When I see it now, I
first check scrap ends if something could cause the problem. The biggest
problem is if the loop is introduced only after morphing the scrap ends
before joining scraps. I can only recommend to move control point in the
last bezier arc of wall just before the scrap end, run therion, undo the
change by pressing Ctrl+Z and repeat with other walls until the problem
remains.
The loop may occur also in the middle of the wall, but it should be
visible, at least in 400% zoom.
I'm sorry that there is no cleverer algorithm to find the loop :(
Martin
More information about the Therion
mailing list