initial setup of thesis repository
[cluster_expansion_thesis.git] / little_helpers / tikz / sketch-0.2.161 / Doc / sketch / Bugs-and-anomalies.html
blobc11313041eaf4dd69db4eabe8d4fe117cd7e5006
1 <html lang="en">
2 <head>
3 <title>Bugs and anomalies - Sketch</title>
4 <meta http-equiv="Content-Type" content="text/html">
5 <meta name="description" content="Sketch">
6 <meta name="generator" content="makeinfo 4.7">
7 <link title="Top" rel="start" href="index.html#Top">
8 <link rel="up" href="Hidden-surface-removal.html#Hidden-surface-removal" title="Hidden surface removal">
9 <link rel="prev" href="Statistics.html#Statistics" title="Statistics">
10 <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
11 <!--
12 Copyright (C) 2005, 2006, 2007, 2008 Eugene K. Ressler.
14 This manual is for `sketch', version 0.2 (build 161),
15 Tuesday, September 08, 2009, a program that converts descriptions of simple
16 three-dimensional scenes into static drawings. This version generates
17 `PSTricks' or `PGF/TikZ' code suitable for use with the
18 TeX document processing system.
20 `Sketch' is free software; you can redistribute it and/or modify
21 it under the terms of the GNU General Public License as published by
22 the Free Software Foundation; either version 3, or (at your option)
23 any later version.
25 Sketch is distributed in the hope that it will be useful,
26 but WITHOUT ANY WARRANTY; without even the implied warranty of
27 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 GNU General Public License for more details.
30 You should have received a copy of the GNU General Public License
31 along with `sketch'; see the file COPYING.txt. If not, see
32 http://www.gnu.org/copyleft.-->
33 <meta http-equiv="Content-Style-Type" content="text/css">
34 <style type="text/css"><!--
35 pre.display { font-family:inherit }
36 pre.format { font-family:inherit }
37 pre.smalldisplay { font-family:inherit; font-size:smaller }
38 pre.smallformat { font-family:inherit; font-size:smaller }
39 pre.smallexample { font-size:smaller }
40 pre.smalllisp { font-size:smaller }
41 span.sc { font-variant:small-caps }
42 span.roman { font-family: serif; font-weight: normal; }
43 --></style>
44 </head>
45 <body>
46 <div class="node">
47 <p>
48 <a name="Bugs-and-anomalies"></a>Previous:&nbsp;<a rel="previous" accesskey="p" href="Statistics.html#Statistics">Statistics</a>,
49 Up:&nbsp;<a rel="up" accesskey="u" href="Hidden-surface-removal.html#Hidden-surface-removal">Hidden surface removal</a>
50 <hr><br>
51 </div>
53 <!-- node-name, next, previous, up -->
54 <h5 class="subsubsection">4.4.3.2 Bugs and anomalies</h5>
56 <p>Polygon and line splitting can both cause anomalies in the output.
57 <code>PSTricks</code> dash patterns, specified with <code>linestyle=dashed</code>,
58 <a name="index-linestyle-504"></a>can be disrupted by splitting. This occurs when the depth sort
59 <a name="index-depth-sort-505"></a>gives up too early and splits a line where it is not really
60 necessary.
61 A workaround is to use gray or finely dotted
62 lines instead. If your drawing is small, you can also edit the
63 <code>sketch</code> output by hand to merge the pieces of the offending
64 line.
66 <p>Another anomaly is tiny (or in degenerate cases not-so-tiny) notches
67 in the lines that border split polygons. These derive from the way
68 each polygon is painted: first, all pixels within the boundary are
69 <dfn>filled</dfn> with color (perhaps white), then the same boundary is
70 <dfn>stroked</dfn> (a Postscript term) with a line. The result is that
71 half the line lies inside the boundary and half outside, while the
72 Painter's algorithm assumes the polygon lies entirely within its
73 boundary. The notches are due to one polygon fill operation
74 overwriting the already-drawn inside of the border of another
75 polygon.<a rel="footnote" href="#fn-1" name="fnd-1"><sup>1</sup></a> One workaround is to make
76 border lines very thin. In fact <code>linewidth=0pt</code> is guaranteed to
77 eliminate this problem, though this results in the thinnest line your
78 output device can draw, which is usually too thin. You might get
79 lucky by merely reordering things in the input file, which is likely
80 to move the splits to different places. The only sure-fire solution
81 is pretty terrible: custom fit <code>special</code> overlay lines (with
82 <code>\psline</code>) to cover the notches.
84 <p>Polygon splitting also breaks <code>PSTricks</code> hatch patterns. The
85 only known workaround is to substitute a solid fill for the hatch.
87 <div class="footnote">
88 <hr>
89 <h4>Footnotes</h4><p class="footnote"><small>[<a name="fn-1" href="#fnd-1">1</a>]</small> I know how to fix this problem, but I don't like my
90 solution, and I'm interested in yours.</p>
92 <p><hr></div>
94 </body></html>