This is sketch.info, produced by makeinfo version 4.7 from sketch.texi.
Copyright (C) 2005, 2006, 2007, 2008 Eugene K. Ressler.
This manual is for `sketch', version 0.2 (build 131), Saturday,
August 09, 2008, a program that converts descriptions of simple
three-dimensional scenes into static drawings. This version generates
`PSTricks' or `PGF/TikZ' code suitable for use with the TeX document
processing system.
`Sketch' is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3, or (at your option) any
later version.
Sketch is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with `sketch'; see the file COPYING.txt. If not, see
http://www.gnu.org/copyleft.
INFO-DIR-SECTION TeX
START-INFO-DIR-ENTRY
* Sketch: (sketch). Simple 3D sketching for TeX
END-INFO-DIR-ENTRY
File: sketch.info, Node: Top, Next: About sketch, Prev: (dir), Up: (dir)
Sketch
******
Copyright (C) 2005, 2006, 2007, 2008 Eugene K. Ressler.
This manual is for `sketch', version 0.2 (build 131), Saturday,
August 09, 2008, a program that converts descriptions of simple
three-dimensional scenes into static drawings. This version generates
`PSTricks' or `PGF/TikZ' code suitable for use with the TeX document
processing system.
`Sketch' is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3, or (at your option) any
later version.
Sketch is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with `sketch'; see the file COPYING.txt. If not, see
http://www.gnu.org/copyleft.
* Menu:
* About sketch:: Why sketch exists and what it does.
* Introduction by example:: Most features shown as working code.
* Input language:: Syntax and semantics of `sketch' commands.
* Building a drawing:: How to use `sketch' productively.
* Command line:: Options and their usage.
* Installing sketch:: Building and installing from sources.
* Index of syntax::
* Index::
--- The Detailed Node Listing ---
About sketch
* Reporting bugs:: Let use know what's wrong!
* Contributions:: How you can help....
Introduction by example
* Hello world:: Simplest possible `sketch' program.
* Drawing options:: Controlling object appearance.
* Drawing a solid:: Drawing an object with 3d appearance.
* Special objects:: Laying TeX over, in, or under drawings.
* Object transforms:: Rotate, translate, scale, and others.
* Repeated objects:: Making transformed copies.
* Swept objects:: Sweeping objects in space to make new shapes.
Swept objects
* Point sweeps:: Swept points make lines and polygons.
* Polyline sweeps:: Swept lines make surfaces.
* Nested sweeps:: Swept sweeps are useful!
* Polygon sweeps:: Swept polygons make solids...
* Polyline sweeps with closure:: and so do closed polyline sweeps.
* Affine arithmetic:: Sketch useful math expression.
* More to learn:: Check out the Mobius strip!
Input language
* Language basics:: Case, space, comments, include files.
* Drawables:: Things that can be drawn.
* Definitions:: Giving things names.
* Global environment:: Affect the entire drawing.
Basics
* Identifiers:: Names for things.
* Key and reserved words:: Names you shouldn't use.
* Literals:: Constants and constructors.
* Arithmetic:: Rules for expressions.
* Options:: Modifying object appearance.
Literals
* Scalar literals:: Just the numbers.
* Point and vector literals:: 3d quantities.
* Transform literals:: Matrix form.
Arithmetic expressions
* Two-operand (binary) forms:: A op B
* Unary forms:: op A (and others)
Options
* PSTricks options:: Options inherited from `PSTricks'.
* TikZ/PGF options:: Options inherited from `TikZ/PGF'.
* Dots in TikZ/PGF:: Sketch uses `TikZ/PGF' circles for dots.
* TikZ/PGF user-defined styles:: Support for `TikZ/PGF' named, user-defined styles.
* Transparency:: See-through polygons.
* Internal options:: Options used by `sketch'.
Point lists
* Drawables:: Things that are drawn.
* Definitions:: Things with names.
Drawables
* Dots:: Draw dots.
* Lines:: Draw polylines.
* Curves:: Draw curves.
* Polygons:: Draw polygons.
* Specials:: Embed raw LaTeX and `PSTricks'.
* Sweeps:: Draw sweeps of dots and polylines.
* Blocks:: Group other drawables.
* Repeats:: Draw transformed copies of objects.
* Puts:: Draw one object transformed.
Sweeps
* Swept points:: Swept points make lines or polygons.
* Swept lines:: Swept lines make open or closed surfaces.
* Swept polygons:: Swept polygons make closed surfaces.
* Swept blocks:: Swept block == block of sweeps.
* Sweep face splitting:: Fixing warped faces with triangles.
Definitions
* Forms of definitions:: Different defs for different purposes.
* Forms of references:: How references denote types.
Global environment
* Global options:: Attributes of the entire drawing.
* Camera:: A final camera transformation of the scene.
* Picture box:: Setting the bounding box and 2d clipping.
* Frame:: Adding a box around the drawing.
* Language:: Setting the output language.
Building a drawing
* Overview:: Building a substantial drawing.
* A technical drawing:: An example with fine placement.
* A hierarchical model:: An example with sweeps and puts.
* Caveats:: Where trouble can occur.
Caveats
* Limits on error detection:: What sketch doesn't do.
* Clipping:: No clipping at present.
* Hidden surface removal:: Imperfections to fix.
Hidden surface removal and polygon splitting
* Statistics:: Performance numbers on depth sort.
* Bugs and anomalies:: Imperfections in this implementation.
File: sketch.info, Node: About sketch, Next: Introduction by example, Prev: Top, Up: Top
1 About sketch
**************
* Menu:
* Reporting bugs:: Let use know what's wrong!
* Contributions:: How you can help....
`Sketch' is a small, simple system for producing line drawings of
two- or three-dimensional objects and scenes. It began as a way to
make illustrations for a textbook after we could find no suitable tool
for this purpose. Existing scene processors emphasized GUIs and/or
photo-realism, both un-useful to us. We wanted to produce finely
wrought, mathematically-based illustrations with no extraneous detail.
`Sketch' accepts a tiny scene description language and generates
`PSTricks' or `TikZ/PGF' code for LaTeX. The `sketch' language is
similar to `PSTricks', making it easy to learn for current `PSTricks'
users. See www.pstricks.de for information on `PSTricks'. `TikZ/PGF'
are also very similar except for details of syntax. See http://sourceforge.net/projects/pgf.
One can easily lay raw `PSTricks' or `TikZ/PGF' output over, in, or
under `sketch' drawings, providing the full power of LaTeX text and
mathematics formatting in a three-dimensional setting.
File: sketch.info, Node: Reporting bugs, Next: Contributions, Prev: About sketch, Up: About sketch
1.1 Reporting bugs and recommending improvements.
=================================================
Send bug reports and suggestions to sketch@frontiernet.net. We will
try to respond, but can't promise. In any event, don't be offended if
a reply is not forthcoming. We're just busy and will get to your
suggestion eventually.
For bugs, attach a `sketch' input file that causes the bad behavior.
Embed comments that explain what to look for in the behavior of
`sketch' or its output.
A recommendation for improvement from one unknown person counts as
one vote. We use overall vote tallies to decide what to do next as
resources permit. We reserve the right to a assign any number of votes
to suggestions from people who have been helpful and supportive in the
past.
File: sketch.info, Node: Contributions, Prev: Reporting bugs, Up: About sketch
1.2 Contributions
=================
If you intend to implement an enhancement of your own, that's terrific!
Consider collaborating with us first to see if we're already working
on your idea or if we can use your work in the official release.
|