faq

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revisionBoth sides next revision
faq [2019/11/04 02:36] – LayoutCheckScrapsForHoles brucemuttonfaq [2019/11/04 02:39] – minor reorder page brucemutton
Line 688: Line 688:
  Here is what it looks like.  Grey areas inside or between scraps mean there is a problem that you need to fix.\\  Here is what it looks like.  Grey areas inside or between scraps mean there is a problem that you need to fix.\\
 {{therion:LayoutCheckScrapsForHoles.png?120}} //Click on picture to see original size// {{therion:LayoutCheckScrapsForHoles.png?120}} //Click on picture to see original size//
 +
 +====How to solve the incorrectly determined interior of the scrap====
 +
 +  Warning: scrap outline intersects itself in bmb3_s3@fake. 
 +
 +//I have this warning in a few scraps 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.//
 +
 +We think it's doable to give a line number in th2 file where the error occurs. 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.//
 +
 +We got this error (incorrectly determined interior of the scrap) long time ago in Dead Bats Cave map. There was some strange clipping by the scrap border, which we couldn't explain. In that time there was no MP warning, no map colouring. We don't remember exactly but it took quite long till we identified that the problem is in the border and than what is wrong with the border. After reading thoroughly the appropriate chapter of the Metafont book we knew that problem is in the loop -- but even than we couldn't find any -- so small it was, in fact very similar to yours.
 +
 +We added the MP warning to point to this problem. When we see it now, we 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. We 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.
 +
 +We are sorry that there is no cleverer algorithm to find the loop :(
 +
 +see also [[faq#What_constitutes_a_"pillar"_in_therion?|What constitutes a "pillar" in therion?]]
 +
 +(There are some other scrap drawing tips in [[tips#avoiding_invisible_or_misshapen_scraps_in_loch_and_google_earth|Avoiding Invisible or Misshapen Scraps in Loch and Google Earth]])
 +
 +This warning can sometimes happen if you have two wall lines joining on a single point, where Bézier curve controls pull the lines into a very acute angle (where the "back" facing Bézier controls are pulled beyond the arc of the other line). The solution is to reduce the angle of the join, or insert more linepoints so that the angle can be produced without needing to use Bézier controls to pull the lines so far that Metapost thinks they overlap. Check any such places in your scrap outline, and test whether removing the Bézier back or forward controls fixes it. If so, then this is the location of your error.
 +
 +It can also happen if you have inserted a point along a wall line, with its Bézier controls oriented backwards compared with the rest of the line, so that the backwards one points forwards, or vice versa. The rendering looks normal, but Metapost has had to flip the orientation of the line twice, so it complains.
 +
 +It can also happen if you have accidentally added two linepoints at the same location - this also causes Metapost to flip directions in order to get from one point to the next. Step through each linepoint in turn (in the "Lines" section of XTherion), and see if two ended up in the same place.
 +
 +It can also happen on a closed wall line, when the ends join, and you pull the wrong Bézier control past the junction - this causes a combination of the two problems mentioned above.
 +
  
 ====How to solve strange errors?==== ====How to solve strange errors?====
Line 743: Line 778:
 There is actually nothing wrong with that arrow -- that is the reason why it took so long to find it :) It has the last control point identical with the last point, which is perfectly acceptable in metapost. Unfortunately there is some bug in the arrow definition, which doesn't allow this. I hope it will be possible to fix it. In the meantime you may change the line either to a straight segment (no control points) or add a control point different from the endpoint. There is actually nothing wrong with that arrow -- that is the reason why it took so long to find it :) It has the last control point identical with the last point, which is perfectly acceptable in metapost. Unfortunately there is some bug in the arrow definition, which doesn't allow this. I hope it will be possible to fix it. In the meantime you may change the line either to a straight segment (no control points) or add a control point different from the endpoint.
  
-====How to solve the incorrectly determined interior of the scrap==== 
- 
-  Warning: scrap outline intersects itself in bmb3_s3@fake.  
- 
-//I have this warning in a few scraps 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.// 
- 
-We think it's doable to give a line number in th2 file where the error occurs. 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.// 
- 
-We got this error (incorrectly determined interior of the scrap) long time ago in Dead Bats Cave map. There was some strange clipping by the scrap border, which we couldn't explain. In that time there was no MP warning, no map colouring. We don't remember exactly but it took quite long till we identified that the problem is in the border and than what is wrong with the border. After reading thoroughly the appropriate chapter of the Metafont book we knew that problem is in the loop -- but even than we couldn't find any -- so small it was, in fact very similar to yours. 
- 
-We added the MP warning to point to this problem. When we see it now, we 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. We 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. 
- 
-We are sorry that there is no cleverer algorithm to find the loop :( 
- 
-see also [[faq#What_constitutes_a_"pillar"_in_therion?|What constitutes a "pillar" in therion?]] 
- 
-(There are some other scrap drawing tips in [[tips#avoiding_invisible_or_misshapen_scraps_in_loch_and_google_earth|Avoiding Invisible or Misshapen Scraps in Loch and Google Earth]]) 
- 
-This warning can sometimes happen if you have two wall lines joining on a single point, where Bézier curve controls pull the lines into a very acute angle (where the "back" facing Bézier controls are pulled beyond the arc of the other line). The solution is to reduce the angle of the join, or insert more linepoints so that the angle can be produced without needing to use Bézier controls to pull the lines so far that Metapost thinks they overlap. Check any such places in your scrap outline, and test whether removing the Bézier back or forward controls fixes it. If so, then this is the location of your error. 
- 
-It can also happen if you have inserted a point along a wall line, with its Bézier controls oriented backwards compared with the rest of the line, so that the backwards one points forwards, or vice versa. The rendering looks normal, but Metapost has had to flip the orientation of the line twice, so it complains. 
- 
-It can also happen if you have accidentally added two linepoints at the same location - this also causes Metapost to flip directions in order to get from one point to the next. Step through each linepoint in turn (in the "Lines" section of XTherion), and see if two ended up in the same place. 
- 
-It can also happen on a closed wall line, when the ends join, and you pull the wrong Bézier control past the junction - this causes a combination of the two problems mentioned above. 
 ====What are the limits for map and for atlas PDFs?==== ====What are the limits for map and for atlas PDFs?====
  
  • faq.txt
  • Last modified: 5 months ago
  • by brucemutton