summaryrefslogtreecommitdiff
path: root/Master/texmf/doc/info/asymptote.info
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf/doc/info/asymptote.info')
-rw-r--r--Master/texmf/doc/info/asymptote.info2063
1 files changed, 1077 insertions, 986 deletions
diff --git a/Master/texmf/doc/info/asymptote.info b/Master/texmf/doc/info/asymptote.info
index 0df4062ecf3..108efc52ce3 100644
--- a/Master/texmf/doc/info/asymptote.info
+++ b/Master/texmf/doc/info/asymptote.info
@@ -1,7 +1,7 @@
This is asymptote.info, produced by makeinfo version 4.13 from
../asymptote.texi.
-This file documents `Asymptote', version 1.77.
+This file documents `Asymptote', version 1.88.
`http://asymptote.sourceforge.net'
@@ -23,7 +23,7 @@ File: asymptote.info, Node: Top, Next: Description, Up: (dir)
Asymptote
*********
-This file documents `Asymptote', version 1.77.
+This file documents `Asymptote', version 1.88.
`http://asymptote.sourceforge.net'
@@ -40,6 +40,7 @@ This file documents `Asymptote', version 1.77.
* Installation:: Downloading and installing
* Tutorial:: Getting started
* Drawing commands:: Four primitive graphics commands
+* Bezier curves:: Path connectors and direction specifiers
* Programming:: The `Asymptote' vector graphics language
* LaTeX usage:: Embedding `Asymptote' commands within `LaTeX'
* Base modules:: Base modules shipped with `Asymptote'
@@ -153,8 +154,8 @@ Base modules
Graphical User Interface
-* GUI Installation:: Installing `xasy'
-* GUI Usage::
+* GUI installation:: Installing `xasy'
+* GUI usage::

File: asymptote.info, Node: Description, Next: Installation, Prev: Top, Up: Top
@@ -195,6 +196,9 @@ weaker syntax and capabilities) called `MetaPost'.
* `LaTeX' typesetting of labels, for overall document consistency;
+ * the ability to generate and embed 3D vector PRC graphics within
+ PDF files;
+
* a natural coordinate-based framework for technical drawings,
inspired by `MetaPost', with a much cleaner, powerful C++-like
programming syntax;
@@ -260,7 +264,7 @@ We recommend subscribing to new release announcements at
`http://freshmeat.net/projects/asy'
Users may also wish to monitor the `Asymptote' forum:
- `http://sourceforge.net/forum/monitor.php?forum_id=409349'
+ `http://sourceforge.net/projects/asymptote/forums/forum/409349'

File: asymptote.info, Node: UNIX binary distributions, Next: MacOS X binary distributions, Up: Installation
@@ -308,10 +312,9 @@ source:
`http://sourceforge.net/project/showfiles.php?group_id=120000'
-Note that many `MacOS X' (and FreeBSD) systems inexplicably ship with
-an extremely old GNU `readline' version (4.1, dated 21 March 2000). For
-full interactive functionality, `readline' version 4.2 or later (16
-April 2001) is required.
+Note that many `MacOS X' (and FreeBSD) systems lack the GNU `readline'
+library. For full interactive functionality, GNU `readline' version 4.3
+or later must be installed.

File: asymptote.info, Node: Microsoft Windows, Next: Configuring, Prev: MacOS X binary distributions, Up: Installation
@@ -326,9 +329,19 @@ where `x.xx' denotes the latest version.
A working TeX implementation (such as the one available at
`http://www.miktex.org') will be required to typeset labels. You will
also need to install `GPL Ghostscript' from
-`http://sourceforge.net/projects/ghostscript/'. To view the default
-`PostScript' output, you can install the program `gsview' available from
-`http://www.cs.wisc.edu/~ghost/gsview/'.
+`http://sourceforge.net/projects/ghostscript/'.
+
+ To view the default `PostScript' output, you can install the program
+`gsview' available from `http://www.cs.wisc.edu/~ghost/gsview/'. A
+better (and free) `PostScript' viewer available at
+`http://psview.sourceforge.net/' (which in particular works properly in
+interactive mode) unfortunately currently requires some manual
+configuration. Specifically, if version `x.xx' of `psview' is extracted
+to the directory `c:\Program Files' one needs to put
+import settings;
+psviewer="c:\Program Files\psview-x.xx\psv.exe";
+ in the optional `Asymptote' configuration file; *note configuration
+file::).
The `ImageMagick' package from
@@ -362,24 +375,26 @@ interactive mode to work properly. Users of `ggv' will need to enable
`Watch file' under `Edit/Postscript Viewer Preferences'. Users of
`gsview' will need to enable `Options/Auto Redisplay' (however, under
`MSDOS' it is still necessary to click on the `gsview' window; under
-`UNIX' one must manually redisplay by pressing the `r' key).
+`UNIX' one must manually redisplay by pressing the `r' key). A better
+(and free) multiplatform alternative to `gsview' is `psview' (*note
+psview::).
Configuration variables are most easily set as `Asymptote' variables
-in an optional configuration file (by default, `.asy/config.asy' in the
-user's home directory or `%USERPROFILE%\.asy\config.asy' under
-`MSDOS'); *note configuration file::. Here are the default values of
-several important configuration variables under `UNIX':
+in an optional configuration file `config.asy' *note configuration
+file::). Here are the default values of several important configuration
+variables under `UNIX':
import settings;
psviewer="gv";
pdfviewer="acroread";
gs="gs";
-python="";
-The (installation-dependent) default values of these configuration
-variables under `MSDOS' are determined automatically from the
-`Microsoft Windows' registry.
+Under `MSDOS', the (installation-dependent) default values of these
+configuration variables are determined automatically from the
+`Microsoft Windows' registry. Viewer settings (such as `psviewer' and
+`pdfviewer') can be set to the string `cmd' to request the application
+normally associated with the corresponding file type.
For PDF format output, the `gs' setting specifies the location of
the `PostScript'-to-PDF processor `Ghostscript', available from
@@ -399,9 +414,6 @@ pdfreloadOptions="-tempFile";
useful under `MSDOS' since the document cannot be updated anyway on
that operating system until it is first closed by `Adobe Reader'.
- The graphical user interface may also require setting the variable
-`python' if `Python' is installed in a nonstandard location.
-
The configuration variable `dir' can be used to adjust the search
path (*note Search paths::).
@@ -415,15 +427,17 @@ variables `paperwidth' and `paperheight'.
adjustment:
texpath
texcommand
-texdvicommand
dvips
+dvisvg
convert
display
animate
-xasy
- The `texdvicommand' is used for `3D' label typesetting, which requires
-`dvips' output. An empty string indicates the default setting of
-`latex'/`tex', depending on the setting of `texengine'.
+ Warnings (such as "writeoverloaded") may be enabled or disabled with
+the functions
+warn(string s);
+nowarn(string s);
+ or by directly modifying the string array `settings.suppress', which
+lists all disabled warnings.
Configuration variables may also be set or overwritten with a
command-line option:
@@ -459,8 +473,10 @@ following paths, in the order listed:
2. A list of one or more directories specified by the configuration
variable `dir' (separated by `:' under UNIX and `;' under `MSDOS');
- 3. The directory `.asy' in the user's home directory
- (`%USERPROFILE%\.asy' under `MSDOS');
+ 3. The directory specified by the environment variable
+ `ASYMPTOTE_HOME'; if this variable is not set, the directory
+ `.asy' in the user's home directory (`%USERPROFILE%\.asy' under
+ `MSDOS') is used;
4. The `Asymptote' system directory (by default,
`/usr/local/share/asymptote' under `UNIX' and `C:\Program
@@ -482,17 +498,16 @@ used; if it is old we recommend first putting
`http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.1.tar.gz'
in the `Asymptote' source directory.
-If your graphics card supports multisampling, we recommend using SVN
-revision 761 (or later) of `freeglut' to support antialiasing in
+If your graphics card supports multisampling, we recommend using version
+`2.6.0-rc1' (or later) of `freeglut' to support antialiasing in
`Asymptote''s adaptive `OpenGL' 3D renderer (`MacOS X' users can skip
this step since `Asymptote' is configured to use the native glut
library on that platform). Download
- `http://freeglut.svn.sourceforge.net/viewvc/freeglut/trunk/freeglut/freeglut.tar.gz'
+ `http://prdownloads.sourceforge.net/freeglut/freeglut-2.6.0-rc1.tar.gz'
and type (as the root user):
-tar -zxf freeglut.tar.gz
-cd freeglut
-sh autogen.sh
+tar -zxf freeglut-2.6.0-rc1.tar.gz
+cd freeglut-2.6.0
./configure --prefix=/usr
make install
cd ..
@@ -520,7 +535,7 @@ for header files and libraries in nonstandard locations:
If you are compiling `Asymptote' with `gcc', you will need a
relatively recent version (e.g. 3.4.4 or later). For full interactive
-functionality, you will need version 4.2 or later of the GNU `readline'
+functionality, you will need version 4.3 or later of the GNU `readline'
library. The file `gcc3.3.2curses.patch' in the `patches' directory can
be used to patch the broken curses.h header file (or a local copy
thereof in the current directory) on some `AIX' and `IRIX' systems.
@@ -584,6 +599,11 @@ add to `~/.vim/ftplugin/asy.vim':
setlocal makeprg=asy\ %
setlocal errorformat=%f:\ %l.%c:\ %m
+ Syntax highlighting support for the KDE editor `Kate' can be enabled
+by running `asy-kate.sh' in the `/usr/local/share/asymptote' directory
+and putting the generated `asymptote.xml' file in
+`~/.kde/share/apps/katepart/syntax/'.
+

File: asymptote.info, Node: Subversion, Next: Uninstall, Prev: Editing modes, Up: Installation
@@ -591,7 +611,7 @@ File: asymptote.info, Node: Subversion, Next: Uninstall, Prev: Editing modes,
====================
The following commands are needed to install the latest development
-version of `Asymptote' using Subversion:
+version of `Asymptote' using `Subversion':
svn co http://asymptote.svn.sourceforge.net/svnroot/asymptote/trunk/asymptote
cd asymptote
./autogen.sh
@@ -621,86 +641,96 @@ File: asymptote.info, Node: Tutorial, Next: Drawing commands, Prev: Installat
3 Tutorial
**********
-_An excellent user-written `Asymptote' tutorial is also available from_
+3.1 Drawing in batch mode
+=========================
- `http://www.artofproblemsolving.com/Wiki/index.php/Asymptote:_Basics'
+To draw a line from coordinate (0,0) to coordinate (100,100), create a
+text file `test.asy' containing
-To draw a line from coordinate (0,0) to coordinate (100,100) using
-`Asymptote''s interactive mode, type at the command prompt:
-asy
draw((0,0)--(100,100));
+ Then execute the command
+asy -V test
+ Alternatively, `MSDOS' users can drag and drop `test.asy' onto the
+Desktop `asy' icon (or make `Asymptote' the default application for the
+extension `asy').
+This method, known as _batch mode_, outputs a `PostScript' file
+`test.eps'. The `-V' option opens up a `PostScript' viewer window so
+you can immediately view the result:
-The units here are `PostScript' "big points" (1 `bp' = 1/72 `inch');
-`--' means join with a linear segment. In `Asymptote' coordinates like
-`(0,0)' and `(1000,100)' are called _pairs_.
-
- At this point you can type in further draw commands, which will be
-added to the displayed figure, or type `quit' to exit interactive mode.
-You can use the arrow keys in interactive mode to edit previous lines
-(assuming that you have support for the GNU `readline' library
-enabled). The tab key will automatically complete unambiguous words;
-otherwise, hitting tab again will show the possible choices. Further
-commands specific to interactive mode are described in *note
-Interactive mode::.
+The `--' connector joins the two points `(0,0)' and `(100,100)' with a
+line segment.
- In batch mode, `Asymptote' reads commands directly from a file. To
-try this out, type
+3.2 Drawing in interactive mode
+===============================
+Another method is _interactive mode_, where `Asymptote' reads
+individual commands as they are entered by the user. To try this out,
+enter `Asymptote''s interactive mode by clicking on the `Asymptote'
+icon or typing the command `asy'. Then type
draw((0,0)--(100,100));
- into a file, say test.asy. Then execute this file with the `MSDOS' or
-`UNIX' command
-asy -V test
- `MSDOS' users can drag and drop the file onto the Desktop `asy' icon
-or make `Asymptote' the default application for files with the
-extension `asy'.
+ followed by `Enter', to obtain the above image. At this point you can
+type further `draw' commands, which will be added to the displayed
+figure, `erase' to clear the canvas,
+input test;
+ to execute all of the commands contained in the file `test.asy', or
+`quit' to exit interactive mode. You can use the arrow keys in
+interactive mode to edit previous lines. The tab key will
+automatically complete unambiguous words; otherwise, hitting tab again
+will show the possible choices. Further commands specific to
+interactive mode are described in *note Interactive mode::.
+
+3.3 Figure size
+===============
-The `-V' option opens up a `PostScript' viewer window so you can
-immediately view the encapsulated `PostScript' output. By default the
-output will be written to the file `test.eps'; the prefix of the output
-file may be changed with the `-o' command-line option.
+In `Asymptote', coordinates like `(0,0)' and `(100,100)', called
+_pairs_, are expressed in `PostScript' "big points" (1 `bp' = 1/72
+`inch') and the default line width is `0.5bp'. However, it is often
+inconvenient to work directly in `PostScript' coordinates. The next
+example produces identical output to the previous example, by scaling
+the line `(0,0)--(1,1)' to fit a rectangle of width `100.5 bp' and
+height `100.5 bp' (the extra `0.5bp' accounts for the line width):
+size(100.5,100.5);
+draw((0,0)--(1,1));
- One can draw a line with more than two points and create a cyclic
-path like this square:
-draw((0,0)--(100,0)--(100,100)--(0,100)--cycle);
+One can also specify the size in `pt' (1 `pt' = 1/72.27 `inch'), `cm',
+`mm', or `inches'. Two nonzero size arguments (or a single size
+argument) restrict the size in both directions, preserving the aspect
+ratio. If 0 is given as a size argument, no restriction is made in
+that direction; the overall scaling will be determined by the other
+direction (*note size::):
+size(0,100.5);
+draw((0,0)--(2,1),Arrow);
-It is often inconvenient to work directly with `PostScript' coordinates.
-The next example draws a unit square scaled to width 101 bp and height
-101 bp. The output is identical to that of the previous example.
-size(101,101);
-draw((0,0)--(1,0)--(1,1)--(0,1)--cycle);
- For convenience, the path `(0,0)--(1,0)--(1,1)--(0,1)--cycle' may be
-replaced with the predefined variable `unitsquare', or equivalently,
-`box((0,0),(1,1))'.
- One can also specify the size in `pt' (1 `pt' = 1/72.27 `inch'),
-`cm', `mm', or `inches'. If 0 is given as a size argument, no
-restriction is made in that direction; the overall scaling will be
-determined by the other direction (*note size::):
+To connect several points and create a cyclic path, use the `cycle'
+keyword:
-size(0,3cm);
-draw(unitsquare);
+size(100,100);
+draw((0,0)--(1,0)--(1,1)--(0,1)--cycle);
+For convenience, the path `(0,0)--(1,0)--(1,1)--(0,1)--cycle' may be
+replaced with the predefined variable `unitsquare', or equivalently,
+`box((0,0),(1,1))'.
-To make the user coordinates represent multiples of exactly `1cm':
+ To make the user coordinates represent multiples of exactly `1cm':
unitsize(1cm);
draw(unitsquare);
- One can also specify different x and y unit sizes:
-unitsize(1cm,2cm);
-draw(unitsquare);
+3.4 Labels
+==========
- Adding labels is easy in `Asymptote'; one specifies the label as a
+Adding labels is easy in `Asymptote'; one specifies the label as a
double-quoted `LaTeX' string, a coordinate, and an optional alignment
direction:
-size(0,3cm);
+size(3cm);
draw(unitsquare);
label("$A$",(0,0),SW);
label("$B$",(1,0),SE);
@@ -712,107 +742,32 @@ label("$D$",(0,1),NW);
`Asymptote' uses the standard compass directions `E=(1,0)', `N=(0,1)',
`NE=unit(N+E)', and `ENE=unit(E+NE)', etc., which along with the
directions `up', `down', `right', and `left' are defined as pairs in
-the `Asymptote' base module `plain'. A user who has a local variable
+the `Asymptote' base module `plain' (a user who has a local variable
named `E' may access the compass direction `E' by prefixing it with the
-name of the module where it is defined: `plain.E'.
+name of the module where it is defined: `plain.E').
- This example draws a path that approximates a quarter circle:
+3.5 Paths
+=========
+
+This example draws a path that approximates a quarter circle,
+terminated with an arrowhead:
size(100,0);
-draw((1,0){up}..{left}(0,1));
+draw((1,0){up}..{left}(0,1),Arrow);
+Here the directions `up' and `left' in braces specify the incoming and
+outgoing directions at the points `(1,0)' and `(0,1)', respectively.
-In general, a path is specified as a list of pairs (or other paths)
+ In general, a path is specified as a list of points (or other paths)
interconnected with `--', which denotes a straight line segment, or
-`..', which denotes a cubic spline. Specifying a final node `cycle'
-creates a cyclic path that connects smoothly back to the initial node,
-as in this approximation (accurate to within 0.06%) of a unit circle:
+`..', which denotes a cubic spline (*note Bezier curves::). Specifying
+a final `..cycle' creates a cyclic path that connects smoothly back to
+the initial node, as in this approximation (accurate to within 0.06%)
+of a unit circle:
path unitcircle=E..N..W..S..cycle;
- Each interior node of a cubic spline may be given a direction prefix
-or suffix `{dir}': the direction of the pair `dir' specifies the
-direction of the incoming or outgoing tangent, respectively, to the
-curve at that node. Exterior nodes may be given direction specifiers
-only on their interior side.
-
- A cubic spline between the node z_0, with postcontrol point c_0, and
-the node z_1, with precontrol point c_1, is computed as the Bezier curve
-
-
-
-As illustrated in the diagram below, the third-order midpoint (m_5)
-constructed from two endpoints z_0 and z_1 and two control points c_0
-and c_1, is the point corresponding to t=1/2 on the Bezier curve formed
-by the quadruple (z_0, c_0, c_1, z_1). This allows one to recursively
-construct the desired curve, by using the newly extracted third-order
-midpoint as an endpoint and the respective second- and first-order
-midpoints as control points:
-
-
-
-Here m_0, m_1 and m_2 are the first-order midpoints, m_3 and m_4 are
-the second-order midpoints, and m_5 is the third-order midpoint. The
-curve is then constructed by recursively applying the algorithm to
-(z_0, m_0, m_3, m_5) and (m_5, m_4, m_2, z_1).
-
- In fact, an analogous property holds for points located at any
-fraction t in [0,1] of each segment, not just for midpoints (t=1/2).
-
- The Bezier curve constructed in this manner has the following
-properties:
- * It is entirely contained in the convex hull of the given four
- points.
-
- * It starts heading from the first endpoint to the first control
- point and finishes heading from the second control point to the
- second endpoint.
-
-
- The user can specify explicit control points between two nodes like
-this:
-draw((0,0)..controls (0,100) and (100,100)..(100,0));
-
- However, it is usually more convenient to just use the `..'
-operator, which tells `Asymptote' to choose its own control points
-using the algorithms described in Donald Knuth's monograph, The
-MetaFontbook, Chapter 14. The user can still customize the guide (or
-path) by specifying direction, tension, and curl values.
-
- The higher the tension, the straighter the curve is, and the more it
-approximates a straight line. One can change the spline tension from
-its default value of 1 to any real value greater than or equal to 0.75
-(cf. John D. Hobby, Discrete and Computational Geometry 1, 1986):
-draw((100,0)..tension 2 ..(100,100)..(0,100));
-draw((100,0)..tension 2 and 1 ..(100,100)..(0,100));
-draw((100,0)..tension atleast 1 ..(100,100)..(0,100));
-
- The curl parameter specifies the curvature at the endpoints of a path
-(0 means straight; the default value of 1 means approximately circular):
-draw((100,0){curl 0}..(100,100)..{curl 0}(0,100));
-
- The `MetaPost ...' path connector, which requests, when possible, an
-inflection-free curve confined to a triangle defined by the endpoints
-and directions, is implemented in `Asymptote' as the convenient
-abbreviation `::' for `..tension atleast 1 ..' (the ellipsis `...' is
-used in `Asymptote' to indicate a variable number of arguments; *note
-Rest arguments::). For example, compare
-
-draw((0,0){up}..(100,25){right}..(200,0){down});
-
-
-with
-
-draw((0,0){up}::(100,25){right}::(200,0){down});
-
-
-
-The `---' connector is an abbreviation for `..tension atleast
-infinity..' and the `&' connector concatenates two paths, after first
-stripping off the last node of the first path (which normally should
-coincide with the first node of the second path).
-
- An `Asymptote' path, being connected, is equivalent to a `Postscript
+An `Asymptote' path, being connected, is equivalent to a `Postscript
subpath'. The `^^' binary operator, which requests that the pen be
moved (without drawing or affecting endpoint curvatures) from the final
point of the left-hand path to the initial point of the right-hand
@@ -834,8 +789,8 @@ orientation of the paths:
filldraw(unitcircle^^reverse(g),yellow,black);
The `^^' operator is used by the `box(triple, triple)' function in
-`three.asy' to construct the edges of a cube `unitbox' without
-retracing steps:
+the module `three.asy' to construct the edges of a cube `unitbox'
+without retracing steps (*note three::):
import three;
dotgranularity=0; // Render dots as spheres.
@@ -858,12 +813,14 @@ label("(0,0,1)",(0,0,1),Z);
See section *note graph:: (or the online `Asymptote' gallery and
external links posted at `http://asymptote.sourceforge.net') for
-further examples, including two and three-dimensional scientific
-graphs. Additional examples have been posted by Philippe Ivaldi at
-`http://piprim.tuxfamily.org/asymptote/'.
+further examples, including two-dimensional and interactive
+three-dimensional scientific graphs. Additional examples have been
+posted by Philippe Ivaldi at `http://www.piprime.fr/asymptote'. A
+user-written `Asymptote' tutorial is available at
+http://www.artofproblemsolving.com/Wiki/index.php/Asymptote:_Basics

-File: asymptote.info, Node: Drawing commands, Next: Programming, Prev: Tutorial, Up: Top
+File: asymptote.info, Node: Drawing commands, Next: Bezier curves, Prev: Tutorial, Up: Top
4 Drawing commands
******************
@@ -935,12 +892,12 @@ arrowhead styles `DefaultHead', `SimpleHead', `HookHead', `TeXHead'),
real `size' (arrowhead size in `PostScript' coordinates), real `angle'
(arrowhead angle in degrees), filltype `filltype' (one of `FillDraw',
`Fill', `NoFill', `UnFill', `Draw') and (except for `MidArrow' and
-`Arrows') a relative real `position' along the path (an `arctime') where
-the tip of the arrow should be placed. The default arrowhead size when
-drawn with a pen `p' is `arrowsize(p)'. There are also arrow versions
-with slightly modified default values of `size' and `angle' suitable for
-curved arrows: `BeginArcArrow', `EndArcArrow' (or equivalently
-`ArcArrow'), `MidArcArrow', and `ArcArrows'.
+`Arrows') a real `position' (in the sense of `point(path p, real t)')
+along the path where the tip of the arrow should be placed. The default
+arrowhead size when drawn with a pen `p' is `arrowsize(p)'. There are
+also arrow versions with slightly modified default values of `size' and
+`angle' suitable for curved arrows: `BeginArcArrow', `EndArcArrow' (or
+equivalently `ArcArrow'), `MidArcArrow', and `ArcArrows'.
Margins can be used to shrink the visible portion of a path by
`labelmargin(p)' to avoid overlap with other drawn objects. Typical
@@ -1195,11 +1152,11 @@ Label should transform with the embedding picture:
void label(picture pic=currentpicture, Label L, path g, align align=NoAlign,
pen p=nullpen, filltype filltype=NoFill);
By default the label will be positioned at the midpoint of the path.
-An alternative label location (an `arctime' value between 0 and
-`length(g)' *note arctime::) may be specified as real value for
-`position' in constructing the Label. The position `Relative(real)'
-specifies a location relative to the total arclength of the path. These
-convenient abbreviations are predefined:
+An alternative label position (in the sense of `point(path p, real t)')
+may be specified as a real value for `position' in constructing the
+Label. The position `Relative(real)' specifies a location relative to
+the total arclength of the path. These convenient abbreviations are
+predefined:
position BeginPoint=Relative(0);
position MidPoint=Relative(0.5);
position EndPoint=Relative(1);
@@ -1282,9 +1239,97 @@ label(graphic("logo."+nativeformat(),"height=7cm"),(0,-0.22));
clip(unitcircle^^(scale(2/11.7)*unitcircle),evenodd);

-File: asymptote.info, Node: Programming, Next: LaTeX usage, Prev: Drawing commands, Up: Top
+File: asymptote.info, Node: Bezier curves, Next: Programming, Prev: Drawing commands, Up: Top
+
+5 Bezier curves
+***************
+
+Each interior node of a cubic spline may be given a direction prefix or
+suffix `{dir}': the direction of the pair `dir' specifies the direction
+of the incoming or outgoing tangent, respectively, to the curve at that
+node. Exterior nodes may be given direction specifiers only on their
+interior side.
+
+ A cubic spline between the node z_0, with postcontrol point c_0, and
+the node z_1, with precontrol point c_1, is computed as the Bezier curve
+
+
+
+As illustrated in the diagram below, the third-order midpoint (m_5)
+constructed from two endpoints z_0 and z_1 and two control points c_0
+and c_1, is the point corresponding to t=1/2 on the Bezier curve formed
+by the quadruple (z_0, c_0, c_1, z_1). This allows one to recursively
+construct the desired curve, by using the newly extracted third-order
+midpoint as an endpoint and the respective second- and first-order
+midpoints as control points:
+
+
+
+Here m_0, m_1 and m_2 are the first-order midpoints, m_3 and m_4 are
+the second-order midpoints, and m_5 is the third-order midpoint. The
+curve is then constructed by recursively applying the algorithm to
+(z_0, m_0, m_3, m_5) and (m_5, m_4, m_2, z_1).
+
+ In fact, an analogous property holds for points located at any
+fraction t in [0,1] of each segment, not just for midpoints (t=1/2).
+
+ The Bezier curve constructed in this manner has the following
+properties:
+ * It is entirely contained in the convex hull of the given four
+ points.
+
+ * It starts heading from the first endpoint to the first control
+ point and finishes heading from the second control point to the
+ second endpoint.
+
+
+ The user can specify explicit control points between two nodes like
+this:
+draw((0,0)..controls (0,100) and (100,100)..(100,0));
+
+ However, it is usually more convenient to just use the `..'
+operator, which tells `Asymptote' to choose its own control points
+using the algorithms described in Donald Knuth's monograph, The
+MetaFontbook, Chapter 14. The user can still customize the guide (or
+path) by specifying direction, tension, and curl values.
+
+ The higher the tension, the straighter the curve is, and the more it
+approximates a straight line. One can change the spline tension from
+its default value of 1 to any real value greater than or equal to 0.75
+(cf. John D. Hobby, Discrete and Computational Geometry 1, 1986):
+draw((100,0)..tension 2 ..(100,100)..(0,100));
+draw((100,0)..tension 2 and 1 ..(100,100)..(0,100));
+draw((100,0)..tension atleast 1 ..(100,100)..(0,100));
+
+ The curl parameter specifies the curvature at the endpoints of a path
+(0 means straight; the default value of 1 means approximately circular):
+draw((100,0){curl 0}..(100,100)..{curl 0}(0,100));
+
+ The `MetaPost ...' path connector, which requests, when possible, an
+inflection-free curve confined to a triangle defined by the endpoints
+and directions, is implemented in `Asymptote' as the convenient
+abbreviation `::' for `..tension atleast 1 ..' (the ellipsis `...' is
+used in `Asymptote' to indicate a variable number of arguments; *note
+Rest arguments::). For example, compare
+
+draw((0,0){up}..(100,25){right}..(200,0){down});
+
+
+with
+
+draw((0,0){up}::(100,25){right}::(200,0){down});
+
+
+
+The `---' connector is an abbreviation for `..tension atleast
+infinity..' and the `&' connector concatenates two paths, after first
+stripping off the last node of the first path (which normally should
+coincide with the first node of the second path).
+
+
+File: asymptote.info, Node: Programming, Next: LaTeX usage, Prev: Bezier curves, Up: Top
-5 Programming
+6 Programming
*************
Here is a short introductory example to the `Asymptote' programming
@@ -1343,7 +1388,7 @@ languages.

File: asymptote.info, Node: Data types, Next: Paths and guides, Up: Programming
-5.1 Data types
+6.1 Data types
==============
`Asymptote' supports the following data types (in addition to
@@ -1601,7 +1646,7 @@ user-defined types):
string pairs {`before',`after'} to the corresponding string
`after';
- `string[] split(string s, string delimiter)'
+ `string[] split(string s, string delimiter=" ")'
returns an array of strings obtained by splitting `s' into
substrings delimited by `delimiter';
@@ -1686,7 +1731,7 @@ user-defined types):

File: asymptote.info, Node: Paths and guides, Next: Pens, Prev: Data types, Up: Programming
-5.2 Paths and guides
+6.2 Paths and guides
====================
`path'
@@ -1722,14 +1767,13 @@ File: asymptote.info, Node: Paths and guides, Next: Pens, Prev: Data types,
path Arc(pair c, explicit pair z1, explicit pair z2,
bool direction=CCW, int n=nCircle);
- An ellipse can be drawn with the routine @cindex @code{ellipse}
- path ellipse(pair c, real a, real b)
+ An ellipse can be drawn with the routine path ellipse(pair c, real a, real b)
{
return shift(c)*scale(a,b)*unitcircle;
}
This example illustrates the use of all five guide connectors
- discussed in *note Tutorial::: size(300,0);
+ discussed in *note Tutorial:: and *note Bezier curves::: size(300,0);
pair[] z=new pair[10];
z[0]=(0,100); z[1]=(50,0); z[2]=(180,0);
@@ -1777,8 +1821,8 @@ File: asymptote.info, Node: Paths and guides, Next: Pens, Prev: Data types,
`pair point(path p, real t);'
This returns the coordinates of the point between node
`floor(t)' and `floor(t)+1' corresponding to the cubic spline
- parameter `t-floor(t)' (*note Bezier::). If `t' lies outside
- the range [0,`length(p)'], it is first reduced modulo
+ parameter `t-floor(t)' (*note Bezier curves::). If `t' lies
+ outside the range [0,`length(p)'], it is first reduced modulo
`length(p)' in the case where `p' is cyclic or else converted
to the corresponding endpoint of `p'.
@@ -1791,7 +1835,7 @@ File: asymptote.info, Node: Paths and guides, Next: Pens, Prev: Data types,
`pair dir(path p, real t, bool normalize=true);'
returns the direction of the tangent to path `p' at the point
between node `floor(t)' and `floor(t)+1' corresponding to the
- cubic spline parameter `t-floor(t)' (*note Bezier::).
+ cubic spline parameter `t-floor(t)' (*note Bezier curves::).
`pair accel(path p, int t, int sign=0);'
If `sign < 0', return the acceleration of the incoming path
@@ -1802,7 +1846,7 @@ File: asymptote.info, Node: Paths and guides, Next: Pens, Prev: Data types,
`pair accel(path p, real t);'
returns the acceleration of the path `p' at the point `t'.
- `pair radius(path p, real t);'
+ `real radius(path p, real t);'
returns the radius of curvature of the path `p' at the point
`t'.
@@ -2088,7 +2132,7 @@ File: asymptote.info, Node: Paths and guides, Next: Pens, Prev: Data types,

File: asymptote.info, Node: Pens, Next: Transforms, Prev: Paths and guides, Up: Programming
-5.3 Pens
+6.3 Pens
========
In `Asymptote', pens provide a context for the four basic drawing
@@ -2197,8 +2241,9 @@ number, until it saturates with one or more color components equal to 1.
The default line type is `solid'; this may be changed with
- `defaultpen(pen)'. The line type of a pen is returned by `int
- linetype(pen p=currentpen)'.
+ `defaultpen(pen)'. The line type of a pen can be determined with
+ the functions `string linetype(pen p=currentpen)', `real
+ offset(pen p)', `bool scale(pen p)', and `bool adjust(pen p)'.
* The pen line width is specified in `PostScript' units with `pen
linewidth(real)'. The default line width is 0.5 bp; this value may
@@ -2441,7 +2486,7 @@ default attributes to their initial values.

File: asymptote.info, Node: Transforms, Next: Frames and pictures, Prev: Pens, Up: Programming
-5.4 Transforms
+6.4 Transforms
==============
`Asymptote' makes extensive use of affine transforms. A pair `(x,y)' is
@@ -2499,7 +2544,7 @@ respectively.

File: asymptote.info, Node: Frames and pictures, Next: Files, Prev: Transforms, Up: Programming
-5.5 Frames and pictures
+6.5 Frames and pictures
=======================
`frame'
@@ -2583,7 +2628,7 @@ File: asymptote.info, Node: Frames and pictures, Next: Files, Prev: Transform
orientation orientation=orientation,
string format="", bool wait=false, bool view=true,
string options="", string script="",
- projection P=currentprojection);
+ light light=currentlight, projection P=currentprojection)
The default output format, `PostScript', may be changed with the
`-f' or `-tex' command-line options. The `options', `script', and
`projection' parameters are only relevant for 3D pictures. If
@@ -2662,16 +2707,16 @@ File: asymptote.info, Node: Frames and pictures, Next: Files, Prev: Transform
For example, to draw a bounding box around a picture with a 0.25 cm
margin and output the resulting frame, use the command: shipout(bbox(0.25cm));
- A `picture' may be fit to a frame with the background color of
- pen `p' with the function `bbox(p,Fill)'.
+ A `picture' may be fit to a frame with the background color pen
+ `p', using the function `bbox(p,Fill)'.
The functions pair min(picture pic, user=false);
pair max(picture pic, user=false);
pair size(picture pic, user=false);
- calculate the `PostScript' bounds that picture `pic' would have
- if it were currently fit to a frame using its default size
- specification. If `user' is `false' the returned value is in
- `PostScript' coordinates, otherwise it is in user coordinates.
+ calculate the bounds that picture `pic' would have if it were
+ currently fit to a frame using its default size specification. If
+ `user' is `false' the returned value is in `PostScript'
+ coordinates, otherwise it is in user coordinates.
The function pair point(picture pic=currentpicture, pair dir, bool user=true);
is a convenient way of determining the point on the bounding box
@@ -2791,7 +2836,7 @@ File: asymptote.info, Node: Frames and pictures, Next: Files, Prev: Transform

File: asymptote.info, Node: Files, Next: Variable initializers, Prev: Frames and pictures, Up: Programming
-5.6 Files
+6.6 Files
=========
`Asymptote' can read and write text files (including comma-separated
@@ -2860,19 +2905,22 @@ write(fout,1); // Writes "1"
write(fout); // Writes a new line
write(fout,"List: ",1,2,3); // Writes "List: 1 2 3"
A file may also be opened with `xinput' or `xoutput', instead of
-`input' or `output', to read or write double precision (64-bit) real
-values and single precision (32-bit) integer values in Sun
-Microsystem's XDR (External Data Representation) portable binary format
-(available on all `UNIX' platforms). A file may also be opened with
-`binput' or `boutput' to read or write double precision values in the
-native (nonportable) machine binary format. The function `file
-single(file,0.0)' may be used to set a file to read single precision
-real XDR or binary values; calling `file single(file,0.0,false)' sets
-it back to read doubles again. The functions `file single(file,0)' and
-`file single(file,0,false)' can be used to change the default integer
-precision (single). The functions `file single(file)' and `file
-single(file,false)' may be used to set the precision for both real and
-integer values.
+`input' or `output', to read or write double precision (64-bit) reals
+and single precision (32-bit) integers in Sun Microsystem's XDR
+(External Data Representation) portable binary format (available on all
+`UNIX' platforms). Alternatively, a file may also be opened with
+`binput' or `boutput' to read or write double precision reals and single
+precision integers in the native (nonportable) machine binary format.
+The virtual member functions `file singlereal(bool b=false)' and `file
+singleint(bool b=true)' be used to change the precision of real and
+integer I/O operations, respectively, for an XDR or binary file `f'.
+Similarly, the function `file signedint(bool b=true)' can be used to
+modify the signedness of integer reads and writes for an XDR or binary
+file `f'.
+
+ The virtual members `name', `mode', `singlereal', `singleint', and
+`signedint' may be used to query the respective parameters for a given
+file.
One can test a file for end-of-file with the boolean function
`eof(file)', end-of-line with `eol(file)', and for I/O errors with
@@ -2942,13 +2990,13 @@ int animate(string args="", string file="", string format="");
call the `ImageMagick' commands `convert' and `animate', respectively,
with the arguments `args' and the file name constructed from the
strings `file' and `format'. If the setting `safe' is false, then the
-function `int system(string s)' can be used to call the arbitrary system
-command `s'.
+functions `int system(string s)' and `int system(string[] s)' can be
+used to call the arbitrary system command `s'.

File: asymptote.info, Node: Variable initializers, Next: Structures, Prev: Files, Up: Programming
-5.7 Variable initializers
+6.7 Variable initializers
=========================
A variable can be assigned a value when it is declared, as in `int
@@ -3013,7 +3061,7 @@ sensible defaults for user-defined types.

File: asymptote.info, Node: Structures, Next: Operators, Prev: Variable initializers, Up: Programming
-5.8 Structures
+6.8 Structures
==============
Users may also define their own data types as structures, along with
@@ -3202,8 +3250,9 @@ and the total system cputime followed by "S".
Much like in C++, casting (*note Casts::) provides for an elegant
implementation of structure inheritance, including virtual functions:
struct parent {
- real x=1;
- void virtual(int) {write (0);}
+ real x;
+ void operator init(int x) {this.x=x;}
+ void virtual(int) {write(0);}
void f() {virtual(1);}
}
@@ -3211,24 +3260,25 @@ void write(parent p) {write(p.x);}
struct child {
parent parent;
- real y=2;
- void virtual(int x) {write (x);}
+ real y=3;
+ void operator init(int x) {parent.operator init(x);}
+ void virtual(int x) {write(x);}
parent.virtual=virtual;
void f()=parent.f;
}
parent operator cast(child child) {return child.parent;}
-parent p;
-child c;
+parent p=parent(1);
+child c=child(2);
-write(c); // Outputs 1;
+write(c); // Outputs 2;
p.f(); // Outputs 0;
c.f(); // Outputs 1;
-write(c.parent.x); // Outputs 1;
-write(c.y); // Outputs 2;
+write(c.parent.x); // Outputs 2;
+write(c.y); // Outputs 3;
For further examples of structures, see `Legend' and `picture' in
the `Asymptote' base module `plain'.
@@ -3236,7 +3286,7 @@ the `Asymptote' base module `plain'.

File: asymptote.info, Node: Operators, Next: Implicit scaling, Prev: Structures, Up: Programming
-5.9 Operators
+6.9 Operators
=============
* Menu:
@@ -3248,7 +3298,7 @@ File: asymptote.info, Node: Operators, Next: Implicit scaling, Prev: Structur

File: asymptote.info, Node: Arithmetic & logical, Next: Self & prefix operators, Up: Operators
-5.9.1 Arithmetic & logical operators
+6.9.1 Arithmetic & logical operators
------------------------------------
`Asymptote' uses the standard binary arithmetic operators. However,
@@ -3331,7 +3381,7 @@ OR(int,int)', `int XOR(int,int)', and `int NOT(int)'.

File: asymptote.info, Node: Self & prefix operators, Next: User-defined operators, Prev: Arithmetic & logical, Up: Operators
-5.9.2 Self & prefix operators
+6.9.2 Self & prefix operators
-----------------------------
As in C, each of the arithmetic operators `+', `-', `*', `/', `%', and
@@ -3356,7 +3406,7 @@ really needed, one can substitute the expressions `(++i-1)' and

File: asymptote.info, Node: User-defined operators, Prev: Self & prefix operators, Up: Operators
-5.9.3 User-defined operators
+6.9.3 User-defined operators
----------------------------
The following symbols may be used with `operator' to define or redefine
@@ -3390,7 +3440,7 @@ write("g=",g);

File: asymptote.info, Node: Implicit scaling, Next: Functions, Prev: Operators, Up: Programming
-5.10 Implicit scaling
+6.10 Implicit scaling
=====================
If a numeric literal is in front of certain types of expressions, then
@@ -3427,7 +3477,7 @@ write(10cm);

File: asymptote.info, Node: Functions, Next: Arrays, Prev: Implicit scaling, Up: Programming
-5.11 Functions
+6.11 Functions
==============
`Asymptote' functions are treated as variables with a signature
@@ -3527,7 +3577,7 @@ segmentation fault, unless a fully working version of the GNU library

File: asymptote.info, Node: Default arguments, Next: Named arguments, Up: Functions
-5.11.1 Default arguments
+6.11.1 Default arguments
------------------------
`Asymptote' supports a more flexible mechanism for default function
@@ -3546,7 +3596,7 @@ defined.

File: asymptote.info, Node: Named arguments, Next: Rest arguments, Prev: Default arguments, Up: Functions
-5.11.2 Named arguments
+6.11.2 Named arguments
----------------------
It is sometimes difficult to remember the order in which arguments
@@ -3601,7 +3651,7 @@ would be allowed.

File: asymptote.info, Node: Rest arguments, Next: Mathematical functions, Prev: Named arguments, Up: Functions
-5.11.3 Rest arguments
+6.11.3 Rest arguments
---------------------
Rest arguments allow one to write functions that take a variable number
@@ -3681,7 +3731,7 @@ i(3,4); // ambiguous; the first candidate is better for the first argument,

File: asymptote.info, Node: Mathematical functions, Prev: Rest arguments, Up: Functions
-5.11.4 Mathematical functions
+6.11.4 Mathematical functions
-----------------------------
`Asymptote' has built-in versions of the standard `libm' mathematical
@@ -3767,7 +3817,7 @@ write(Si(1.0));

File: asymptote.info, Node: Arrays, Next: Casts, Prev: Functions, Up: Programming
-5.12 Arrays
+6.12 Arrays
===========
* Menu:
@@ -3806,9 +3856,7 @@ The `copy' function listed below provides a deep copy of an array.
Every array `A' of type `T[]' has the virtual members
* `int length',
- * `void cyclic(bool b)',
-
- * `bool cyclicflag',
+ * `int cyclic',
* `int[] keys',
@@ -3827,10 +3875,9 @@ The `copy' function listed below provides a deep copy of an array.
* `bool initialized(int n)'.
The member `A.length' evaluates to the length of the array. Setting
-`A.cyclic(true)' signifies that array indices should be reduced modulo
+`A.cyclic=true' signifies that array indices should be reduced modulo
the current array length. Reading from or writing to a nonempty cyclic
-array never leads to out-of-bounds errors or array resizing. The member
-`A.cyclicflag' returns the current setting of the `cyclic' flag.
+array never leads to out-of-bounds errors or array resizing.
The member `A.keys' evaluates to an array of integers containing the
indices of initialized entries in the array in ascending order. Hence,
@@ -3847,9 +3894,9 @@ range [`i',`j'], shifting the position of all higher-indexed elements
down. If no arguments are given, `A.delete()' provides a convenient way
of deleting all elements of `A'. The routine `A.initialized(int n)' can
be used to examine whether the element at index `n' is initialized.
-Like all `Asymptote' functions, `cyclic', `push', `append', `pop',
-`insert', `delete', and `initialized' can be "pulled off" of the array
-and used on their own. For example,
+Like all `Asymptote' functions, `push', `append', `pop', `insert',
+`delete', and `initialized' can be "pulled off" of the array and used
+on their own. For example,
int[] A={1};
A.push(2); // A now contains {1,2}.
A.append(A); // A now contains {1,2,1,2}.
@@ -4111,28 +4158,29 @@ file fin=input("test.txt");
real[] A=fin;
reads real values into `A' until the end-of-file is reached (or an I/O
-error occurs). If line mode is set with `line(file)', then reading will
-stop once the end of the line is reached instead (line mode may be
-cleared with `line(file,false)'):
+error occurs).
+
+ The virtual members `dimension', `line', `csv', `word', and `read'
+of a file are useful for reading arrays. For example, if line mode is
+set with `file line(bool b=true)', then reading will stop once the end
+of the line is reached instead
file fin=input("test.txt");
-real[] A=line(fin);
+real[] A=fin.line();
Since string reads by default read up to the end of line anyway,
line mode normally has no effect on string array reads. However, there
-is a white-space delimiter mode for reading strings, set with
-`word(file)' and cleared with `word(file,false)', which causes string
-reads to respect white-space delimiters, instead of the default
-end-of-line delimiter:
-file fin=word(line(input("test.txt")));
+is a white-space delimiter mode for reading strings, `file word(bool
+b=true)', which causes string reads to respect white-space delimiters,
+instead of the default end-of-line delimiter:
+file fin=input("test.txt").line().word();
real[] A=fin;
- Another useful mode is comma-separated-value mode, set with
-`csv(file)' and cleared with `csv(file,false)', which causes reads to
-respect comma delimiters:
+ Another useful mode is comma-separated-value mode, `file csv(bool
+b=true)', which causes reads to respect comma delimiters:
file fin=csv(input("test.txt"));
real[] A=fin;
- To restrict the number of values read, use the `dimension(file,int)'
+ To restrict the number of values read, use the `file dimension(int)'
function:
file fin=input("test.txt");
real[] A=dimension(fin,10);
@@ -4146,17 +4194,18 @@ end-of-file (or end-of-line in line mode) is encountered.
Two- and three-dimensional arrays of the basic data types can be read
in like this:
file fin=input("test.txt");
-real[][] A=dimension(fin,2,3);
-real[][][] B=dimension(fin,2,3,4);
+real[][] A=fin.dimension(2,3);
+real[][][] B=fin.dimension(2,3,4);
Again, an integer limit of zero means no restriction.
Sometimes the array dimensions are stored with the data as integer
-fields at the beginning of an array. Such arrays can be read in with the
-functions `read1', `read2', and `read3', respectively:
+fields at the beginning of an array. Such 1, 2, or 3 dimensional arrays
+can be read in with the virtual member functions `read(1)', `read(2)',
+or `read(3)', respectively:
file fin=input("test.txt");
-real[] A=read1(fin);
-real[][] B=read2(fin);
-real[][][] C=read3(fin);
+real[] A=fin.read(1);
+real[][] B=fin.read(2);
+real[][][] C=fin.read(3);
One, two, and three-dimensional arrays of the basic data types can be
output with the functions `write(file,T[])', `write(file,T[][])',
@@ -4165,7 +4214,7 @@ output with the functions `write(file,T[])', `write(file,T[][])',

File: asymptote.info, Node: Slices, Up: Arrays
-5.12.1 Slices
+6.12.1 Slices
-------------
Asymptote allows a section of an array to be addressed as a slice using
@@ -4197,7 +4246,7 @@ beyond the length of the array are allowed. The indices simply wrap
around. For example:
int[] x={0,1,2,3,4,5,6,7,8,9};
-x.cyclic(true);
+x.cyclic=true;
int[] y=x[8:15]; // y={8,9,0,1,2,3,4}.
int[] z=x[-5:5]; // z={5,6,7,8,9,0,1,2,3,4}
int[] w=x[-3:17]; // w={7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6}
@@ -4253,7 +4302,7 @@ any of the cells.

File: asymptote.info, Node: Casts, Next: Import, Prev: Arrays, Up: Programming
-5.13 Casts
+6.13 Casts
==========
`Asymptote' implicitly casts `int' to `real', `int' to `pair', `real'
@@ -4313,7 +4362,7 @@ real operator cast(int x)=convert;

File: asymptote.info, Node: Import, Next: Static, Prev: Casts, Up: Programming
-5.14 Import
+6.14 Import
===========
While `Asymptote' provides many features by default, some applications
@@ -4455,7 +4504,7 @@ is `true'.

File: asymptote.info, Node: Static, Prev: Import, Up: Programming
-5.15 Static
+6.15 Static
===========
Static qualifiers allocate the memory address of a variable in a higher
@@ -4568,7 +4617,7 @@ the variable actually possesses.

File: asymptote.info, Node: LaTeX usage, Next: Base modules, Prev: Programming, Up: Top
-6 `LaTeX' usage
+7 `LaTeX' usage
***************
`Asymptote' comes with a convenient `LaTeX' style file `asymptote.sty'
@@ -4599,7 +4648,7 @@ remove the files `latexusage-*', `latexusage_.pre', and
One can specify `width', `height', `viewportwidth',
`viewportheight', and `attach' `keyval'-style options to the `asy'
-environment. The current version (1.07) of `asymptote.sty' supports the
+environment. The current version (1.10) of `asymptote.sty' supports the
embedding of 3D PRC files, either inline or, using the `attach' option
with the `attachfile2' (or older `attachfile') `LaTeX' package, as
annotated (but printable) attachments. For many applications, the
@@ -4711,7 +4760,7 @@ the \verb+{attach=true}+ option:
import three;
currentprojection=orthographic(5,4,2);
draw(unitcube,blue);
-label("$V-E+F=2$",(0,1,0.5),3Y,blue+fontsize(17));
+label("$V-E+F=2$",(0,1,0.5),3Y,blue+fontsize(17pt));
\end{asy}
\end{center}
@@ -4728,7 +4777,7 @@ dot(z1,red+0.15cm);
dot(z2,darkgreen+0.3cm);
label("$m$",z1,1.2N,red);
label("$M$",z2,1.5N,darkgreen);
-label("$\hat{\ }$",zf,0.2*S,fontsize(24)+blue);
+label("$\hat{\ }$",zf,0.2*S,fontsize(24pt)+blue);
pair s=-0.2*I;
draw("$x$",z0+s--z1+s,N,red,Arrows,Bars,PenMargins);
@@ -4743,7 +4792,7 @@ draw("$X$",z0+s--z2+s,darkgreen,Arrows,Bars,PenMargins);

File: asymptote.info, Node: Base modules, Next: Options, Prev: LaTeX usage, Up: Top
-7 Base modules
+8 Base modules
**************
`Asymptote' currently ships with the following base modules:
@@ -4793,7 +4842,7 @@ File: asymptote.info, Node: Base modules, Next: Options, Prev: LaTeX usage,

File: asymptote.info, Node: plain, Next: simplex, Up: Base modules
-7.1 `plain'
+8.1 `plain'
===========
This is the default `Asymptote' base file, which defines key parts of
@@ -4810,7 +4859,7 @@ this feature.

File: asymptote.info, Node: simplex, Next: math, Prev: plain, Up: Base modules
-7.2 `simplex'
+8.2 `simplex'
=============
This package solves the two-variable linear programming problem using
@@ -4820,11 +4869,11 @@ sizing of pictures.

File: asymptote.info, Node: math, Next: interpolate, Prev: simplex, Up: Base modules
-7.3 `math'
+8.3 `math'
==========
This package extends `Asymptote''s mathematical capabilities with
-intersection algorithms and matrix arithmetic:
+matrix arithmetic and intersection algorithms:
`void drawline(picture pic=currentpicture, pair P, pair Q, pen p=currentpen);'
draw the visible portion of the (infinite) line going through `P'
@@ -4847,7 +4896,7 @@ intersection algorithms and matrix arithmetic:

File: asymptote.info, Node: interpolate, Next: geometry, Prev: math, Up: Base modules
-7.4 `interpolate'
+8.4 `interpolate'
=================
This module implements Lagrange, Hermite, and standard cubic spline
@@ -4857,7 +4906,7 @@ interpolation in `Asymptote', as illustrated in the example

File: asymptote.info, Node: geometry, Next: trembling, Prev: interpolate, Up: Base modules
-7.5 `geometry'
+8.5 `geometry'
==============
This module, written by Philippe Ivaldi, provides an extensive set of
@@ -4865,26 +4914,25 @@ geometry routines, including `perpendicular' symbols and a `triangle'
structure. Link to the documentation for the `geometry' module are
posted here: `http://asymptote.sourceforge.net/links.html', including
an extensive set of examples,
-`http://piprim.tuxfamily.org/asymptote/geometry/index.html', and an
-index:
+`http://www.piprime.fr/files/asymptote/geometry/', and an index:
- `http://piprim.tuxfamily.org/asymptote/geometry/modules/geometry.asy.index.type.html'
+ `http://www.piprime.fr/files/asymptote/geometry/modules/geometry.asy.index.type.html'

File: asymptote.info, Node: trembling, Next: stats, Prev: geometry, Up: Base modules
-7.6 `trembling'
+8.6 `trembling'
===============
This module, written by Philippe Ivaldi and illustrated in the example
`floatingdisk.asy', allows one to draw wavy lines, as if drawn by hand.
Further examples are posted at
-`http://piprim.tuxfamily.org/asymptote/trembling/index.html'
+`http://www.piprime.fr/files/asymptote/trembling/'

File: asymptote.info, Node: stats, Next: patterns, Prev: trembling, Up: Base modules
-7.7 `stats'
+8.7 `stats'
===========
This package implements a Gaussian random number generator and a
@@ -4894,7 +4942,7 @@ collection of statistics routines, including `histogram' and

File: asymptote.info, Node: patterns, Next: markers, Prev: stats, Up: Base modules
-7.8 `patterns'
+8.8 `patterns'
==============
This package implements `Postscript' tiling patterns and includes
@@ -4903,7 +4951,7 @@ several convenient pattern generation routines.

File: asymptote.info, Node: markers, Next: tree, Prev: patterns, Up: Base modules
-7.9 `markers'
+8.9 `markers'
=============
This package implements specialized routines for marking paths and
@@ -4952,7 +5000,7 @@ void markangle(picture pic=currentpicture, Label L="",

File: asymptote.info, Node: tree, Next: binarytree, Prev: markers, Up: Base modules
-7.10 `tree'
+8.10 `tree'
===========
This package implements an example of a dynamic binary search tree.
@@ -4960,7 +5008,7 @@ This package implements an example of a dynamic binary search tree.

File: asymptote.info, Node: binarytree, Next: drawtree, Prev: tree, Up: Base modules
-7.11 `binarytree'
+8.11 `binarytree'
=================
This module can be used to draw an arbitrary binary tree and includes an
@@ -4985,7 +5033,7 @@ add(pic2.fit(),(0,0),10S);

File: asymptote.info, Node: drawtree, Next: syzygy, Prev: binarytree, Up: Base modules
-7.12 `drawtree'
+8.12 `drawtree'
===============
This is a simple tree drawing module used by the example `treetest.asy'.
@@ -4993,7 +5041,7 @@ This is a simple tree drawing module used by the example `treetest.asy'.

File: asymptote.info, Node: syzygy, Next: feynman, Prev: drawtree, Up: Base modules
-7.13 `syzygy'
+8.13 `syzygy'
=============
This module automates the drawing of braids, relations, and syzygies,
@@ -5003,7 +5051,7 @@ along with the corresponding equations, as illustrated in the example

File: asymptote.info, Node: feynman, Next: roundedpath, Prev: syzygy, Up: Base modules
-7.14 `feynman'
+8.14 `feynman'
==============
This package, contributed by Martin Wiebusch, is useful for drawing
@@ -5013,7 +5061,7 @@ Feynman diagrams, as illustrated by the examples `eetomumu.asy' and

File: asymptote.info, Node: roundedpath, Next: animation, Prev: feynman, Up: Base modules
-7.15 `roundedpath'
+8.15 `roundedpath'
==================
This package, contributed by Stefan Knorr, is useful for rounding the
@@ -5023,14 +5071,14 @@ sharp corners of paths, as illustrated in the example file

File: asymptote.info, Node: animation, Next: embed, Prev: roundedpath, Up: Base modules
-7.16 `animation'
+8.16 `animation'
================
This module allows one to generate animations, as illustrated by the
files `wheel.asy', `wavelet.asy', and `cube.asy' in the `animations'
subdirectory of the examples directory. These animations use the
-`ImageMagick' `convert' program to `merge' multiple images into a GIF
-or MPEG movie.
+`ImageMagick' `convert' program to merge multiple images into a GIF or
+MPEG movie.
The related `animate' module, derived from the `animation' module,
generates higher-quality portable clickable PDF movies, with optional
@@ -5057,7 +5105,7 @@ as described here:

File: asymptote.info, Node: embed, Next: slide, Prev: animation, Up: Base modules
-7.17 `embed'
+8.17 `embed'
============
This module provides an interface to the `LaTeX' package (included with
@@ -5100,7 +5148,7 @@ animation (*note animate::).

File: asymptote.info, Node: slide, Next: MetaPost, Prev: embed, Up: Base modules
-7.18 `slide'
+8.18 `slide'
============
This package provides a simple yet high-quality facility for making
@@ -5111,7 +5159,7 @@ the file `slidemovies.asy'). A simple example is provided in the file

File: asymptote.info, Node: MetaPost, Next: unicode, Prev: slide, Up: Base modules
-7.19 `MetaPost'
+8.19 `MetaPost'
===============
This package provides some useful routines to help `MetaPost' users
@@ -5129,7 +5177,7 @@ equation solver `solve' instead.

File: asymptote.info, Node: unicode, Next: latin1, Prev: MetaPost, Up: Base modules
-7.20 `unicode'
+8.20 `unicode'
==============
Import this package at the beginning of the file to instruct `LaTeX' to
@@ -5152,7 +5200,7 @@ texpreamble("\usepackage{CJK}

File: asymptote.info, Node: latin1, Next: babel, Prev: unicode, Up: Base modules
-7.21 `latin1'
+8.21 `latin1'
=============
If you don't have `LaTeX' support for `unicode' installed, you can
@@ -5163,7 +5211,7 @@ providing support for other ISO 8859 alphabets.

File: asymptote.info, Node: babel, Next: labelpath, Prev: latin1, Up: Base modules
-7.22 `babel'
+8.22 `babel'
============
This module implements the `LaTeX' `babel' package in `Asymptote'. For
@@ -5174,7 +5222,7 @@ babel("german");

File: asymptote.info, Node: labelpath, Next: labelpath3, Prev: babel, Up: Base modules
-7.23 `labelpath'
+8.23 `labelpath'
================
This module uses the `PSTricks' `pstextpath' macro to fit labels along
@@ -5193,7 +5241,7 @@ macro.

File: asymptote.info, Node: labelpath3, Next: annotate, Prev: labelpath, Up: Base modules
-7.24 `labelpath3'
+8.24 `labelpath3'
=================
This module, contributed by Jens Schwaiger, implements a 3D version of
@@ -5203,7 +5251,7 @@ is provided in `curvedlabel3.asy'.

File: asymptote.info, Node: annotate, Next: CAD, Prev: labelpath3, Up: Base modules
-7.25 `annotate'
+8.25 `annotate'
===============
This module supports PDF annotations for viewing with `Adobe Reader',
@@ -5217,7 +5265,7 @@ and `tex' TeX engines.

File: asymptote.info, Node: CAD, Next: graph, Prev: annotate, Up: Base modules
-7.26 `CAD'
+8.26 `CAD'
==========
This package, contributed by Mark Henning, provides basic pen
@@ -5227,7 +5275,7 @@ according to DIN 15. It is documented separately, in the file `CAD.pdf'.

File: asymptote.info, Node: graph, Next: palette, Prev: CAD, Up: Base modules
-7.27 `graph'
+8.27 `graph'
============
This package implements two-dimensional linear and logarithmic graphs,
@@ -5253,7 +5301,7 @@ following routines:
* `default', the point is added to a new guide;
* `false', the point is omitted and a new guide is begun.
- Th points are connected using the interpolation specified by
+ The points are connected using the interpolation specified by
`join':
* `operator --' (linear interpolation; the abbreviation
`Straight' is also accepted);
@@ -5339,9 +5387,9 @@ following routines:
corresponding axis limit will be automatically determined from the
picture limits. The optional `arrow' argument takes the same
values as in the `draw' command (*note arrows::). The axis is
- drawn before any existing objects in the current picture unless
- `above=true'. The axis placement is determined by one of the
- following `axis' types:
+ drawn before any existing objects in `pic' unless `above=true'.
+ The axis placement is determined by one of the following `axis'
+ types:
`YZero(bool extend=true)'
Request an x axis at y=0 (or y=1 on a logarithmic axis)
@@ -5485,9 +5533,9 @@ following routines:
corresponding axis limit will be automatically determined from the
picture limits. The optional `arrow' argument takes the same
values as in the `draw' command (*note arrows::). The axis is
- drawn before any existing objects in the current picture unless
- `above=true'. The tick type is specified by `ticks' and the axis
- placement is determined by one of the following `axis' types:
+ drawn before any existing objects in `pic' unless `above=true'.
+ The tick type is specified by `ticks' and the axis placement is
+ determined by one of the following `axis' types:
`XZero(bool extend=true)'
Request a y axis at x=0 (or x=1 on a logarithmic axis)
@@ -5527,7 +5575,7 @@ following routines:
This convenience routine draws both x and y axes on picture `pic'
from `min' to `max', with optional labels `xlabel' and `ylabel'
and any arrows specified by `arrow'. The axes are drawn on top of
- existing objects in the current picture only if `above=true'.
+ existing objects in `pic' only if `above=true'.
* void axis(picture pic=currentpicture, Label L="", path g,
pen p=currentpen, ticks ticks, ticklocate locate,
@@ -5542,8 +5590,8 @@ following routines:
uncrowded tick labels. A `true' value for the flag `opposite'
identifies an unlabelled secondary axis (typically drawn opposite
a primary axis). The axis is drawn before any existing objects in
- the current picture unless `above=true'. The tick locator
- `ticklocate' is constructed by the routine ticklocate ticklocate(real a, real b, autoscaleT S=defaultS,
+ `pic' unless `above=true'. The tick locator `ticklocate' is
+ constructed by the routine ticklocate ticklocate(real a, real b, autoscaleT S=defaultS,
real tickmin=-infinity, real tickmax=infinity,
real time(real)=null, pair dir(real)=zero);
where `a' and `b' specify the respective tick values at
@@ -5676,7 +5724,7 @@ following routines:
xaxis("$x$",BottomTop,LeftTicks);
yaxis("$y$",LeftRight,
- RightTicks(Label(fontsize(8)),new real[]{0,4,9}));
+ RightTicks(Label(fontsize(8pt)),new real[]{0,4,9}));
@@ -5684,8 +5732,8 @@ following routines:
size(200,150,IgnoreAspect);
- file in=line(input("filegraph.dat"));
- real[][] a=dimension(in,0,0);
+ file in=input("filegraph.dat").line();
+ real[][] a=in.dimension(0,0);
a=transpose(a);
real[] x=a[0];
@@ -5938,8 +5986,8 @@ following routines:
draw(graph(f,0.1,10));
- //xlimits(1,10);
- //ylimits(0.1,1);
+ //xlimits(1,10,Crop);
+ //ylimits(0.1,1,Crop);
dot(Label("(3,5)",align=S),Scale((3,5)));
@@ -6065,12 +6113,12 @@ following routines:
size(9cm,6cm,IgnoreAspect);
string data="secondaryaxis.csv";
- file in=line(csv(input(data)));
+ file in=input(data).line().csv();
string[] titlelabel=in;
string[] columnlabel=in;
- real[][] a=dimension(in,0,0);
+ real[][] a=in.dimension(0,0);
a=transpose(a);
real[] t=a[0], susceptible=a[1], infectious=a[2], dead=a[3], larvae=a[4];
real[] susceptibleM=a[5], exposed=a[6],infectiousM=a[7];
@@ -6121,9 +6169,9 @@ following routines:
import graph;
import stats;
- file fin=line(input("leastsquares.dat"));
+ file fin=input("leastsquares.dat").line();
- real[][] a=dimension(fin,0,0);
+ real[][] a=fin.dimension(0,0);
a=transpose(a);
real[] t=a[0], rho=a[1];
@@ -6251,7 +6299,7 @@ following routines:

File: asymptote.info, Node: palette, Next: three, Prev: graph, Up: Base modules
-7.28 `palette'
+8.28 `palette'
==============
`Asymptote' can also generate color density images and palettes. The
@@ -6423,7 +6471,7 @@ pen[][] palette(real[][] f, pen[] palette);

File: asymptote.info, Node: three, Next: obj, Prev: palette, Up: Base modules
-7.29 `three'
+8.29 `three'
============
This module fully extends the notion of guides and paths in `Asymptote'
@@ -6473,16 +6521,17 @@ containing an array of Bezier patches. Surfaces may drawn with one of
the routines
void draw(picture pic=currentpicture, surface s, int nu=1, int nv=1,
material surfacepen=currentpen, pen meshpen=nullpen,
- light light=currentlight, light meshlight=light);
+ light light=currentlight, light meshlight=light, string name="");
void draw(picture pic=currentpicture, surface s, int nu=1, int nv=1,
material[] surfacepen, pen meshpen,
- light light=currentlight, light meshlight=light);
+ light light=currentlight, light meshlight=light, string name="");
void draw(picture pic=currentpicture, surface s, int nu=1, int nv=1,
material[] surfacepen, pen[] meshpen=nullpens,
- light light=currentlight, light meshlight=light);
+ light light=currentlight, light meshlight=light, string name="");
The parameters `nu' and `nv' specify the number of subdivisions for
-drawing optional mesh lines for each Bezier patch. Here material is a
-structure defined in `three_light.asy':
+drawing optional mesh lines for each Bezier patch. The optional `name'
+parameter is used as a prefix for naming the surface patches in the PRC
+model tree. Here material is a structure defined in `three_light.asy':
struct material {
pen[] p; // diffusepen,ambientpen,emissivepen,specularpen
real opacity;
@@ -6526,13 +6575,15 @@ length `4' or less.
Arbitrary thick three-dimensional curves and line caps (which the
`OpenGL' standard does not require implementations to provide) are
-constructed with the routine
-surface tube(path3 g, real width);
- which returns a tube of diameter `width' centered on `g'. This can
-make files slow to render, especially with the `Adobe Reader' renderer.
-The setting `thick=false' can be used to disable this feature and force
-all lines to be drawn with `linewidth(0)' (one pixel wide, regardless
-of the resolution). By default mesh and contour lines in
+constructed with
+tube tube(path3 p, real width, real granularity=tubegranularity);
+ this returns a tube structure representing a tube of diameter `width'
+centered approximately on `g'. The tube structure consists of a surface
+`s' and the actual tube center, path3 `center'. Drawing thick lines as
+tubes can be slow to render, especially with the `Adobe Reader'
+renderer. The setting `thick=false' can be used to disable this feature
+and force all lines to be drawn with `linewidth(0)' (one pixel wide,
+regardless of the resolution). By default, mesh and contour lines in
three-dimensions are always drawn thin, unless an explicit line width
is given in the pen parameter or the setting `thin' is set to `false'.
The pens `thin()' and `thick()' defined in plain_pens.asy can also be
@@ -6549,26 +6600,38 @@ There are four choices for viewing 3D `Asymptote' output:
sample width can be controlled with the setting `multisample'. An
initial screen position can be specified with the pair setting
`position', where negative values are interpreted as relative to
- the corresponding maximum screen dimension. The mouse bindings are:
+ the corresponding maximum screen dimension. The default settings import settings;
+ leftbutton=new string[] {"rotate","zoom","shift","pan"};
+ middlebutton=new string[] {"menu"};
+ rightbutton=new string[] {"zoom/menu","rotateX","rotateY","rotateZ"};
+ wheelup=new string[] {"zoomin"};
+ wheeldown=new string[] {"zoomout"};
+ bind the mouse buttons as follows:
* Left: rotate
- * shift Left: zoom
+ * Shift Left: zoom
+
+ * Ctrl Left: shift viewport
- * ctrl Left: shift
+ * Alt Left: pan
- * Middle: menu
+ * Middle: menu (must be unmodified; ignores Shift, Ctrl, and
+ Alt)
- * Wheel: zoom
+ * Wheel Up: zoom in
- * Right: zoom
+ * Wheel Down: zoom out
+
+ * Right: zoom/menu (must be unmodified)
* Right double click: menu
- * shift Right: rotate about the X axis
+ * Shift Right: rotate about the X axis
+
+ * Ctrl Right: rotate about the Y axis
- * ctrl Right: rotate about the Y axis
+ * Alt Right: rotate about the Z axis
- * alt Right: rotate about the Z axis
The keyboard shortcuts are:
* h: home
@@ -6588,14 +6651,24 @@ There are four choices for viewing 3D `Asymptote' output:
* c: show camera parameters
+ * p: play animation
+
+ * r: reverse animation
+
+ * : step animation
+
* +: expand
* =: expand
+ * >: expand
+
* -: shrink
* _: shrink
+ * <: shrink
+
* q: exit
* Ctrl-q: exit
@@ -6614,8 +6687,9 @@ There are four choices for viewing 3D `Asymptote' output:
restricts the maximum width and height of the viewport. On `UNIX'
systems some graphics drivers support batch mode (`-noV')
rendering in an iconified window; this can be enabled with the
- setting `iconify=true'. Other `UNIX' graphics drivers may require
- the command line setting `-glOptions=-indirect'.
+ setting `iconify=true'. Some (broken) `UNIX' graphics drivers may
+ require the command line setting `-glOptions=-indirect', which
+ requests (slower) indirect rendering.
3. Embed the 3D PRC format in a PDF file and view the resulting PDF
file with version `8.0' or later of `Adobe Reader'. In addition
@@ -6700,7 +6774,7 @@ surfaces `unitdisk', `unitplane', `unitcube', `unitcylinder',
These projections to two dimensions are predefined:
`oblique'
-`oblique(real angle);'
+`oblique(real angle)'
The point `(x,y,z)' is projected to `(x-0.5z,y-0.5z)'. If an
optional real argument is given, the negative z axis is drawn at
this angle in degrees. The projection `obliqueZ' is a synonym for
@@ -6721,7 +6795,8 @@ These projections to two dimensions are predefined:
this angle in degrees.
`orthographic(triple camera, triple up=Z, triple target=O,
- bool showtarget=true, bool center=false)'
+ real zoom=1, pair viewportshift=0, bool showtarget=true,
+ bool center=false)'
This projects from three to two dimensions using the view as seen
at a point infinitely far away in the direction `unit(camera)',
orienting the camera so that, if possible, the vector `up' points
@@ -6731,11 +6806,12 @@ These projections to two dimensions are predefined:
to the center of the bounding volume.
`orthographic(real x, real y, real z, triple up=Z, triple target=O,
- bool showtarget=true, bool center=false)'
- This is equivalent to
- `orthographic((x,y,z),up,target,showtarget,center)'.
+ real zoom=1, pair viewportshift=0, bool showtarget=true,
+ bool center=false)'
+ This is equivalent to orthographic((x,y,z),up,target,zoom,viewportshift,showtarget,center)
`perspective(triple camera, triple up=Z, triple target=O,
+ real zoom=1, real angle=0, pair viewportshift=0,
bool showtarget=true, bool autoadjust=true,
bool center=autoadjust)'
This projects from three to two dimensions, taking account of
@@ -6752,10 +6828,11 @@ These projections to two dimensions are predefined:
bounding volume.
`perspective(real x, real y, real z, triple up=Z, triple target=O,
+ real zoom=1, real angle=0, pair viewportshift=0,
bool showtarget=true, bool autoadjust=true,
bool center=autoadjust)'
- This is equivalent to `perspective((x,y,z),up,target,showtarget,
- autoadjust,center)'.
+ This is equivalent to perspective((x,y,z),up,target,zoom,angle,viewportshift,showtarget,
+ autoadjust,center)
The default projection, `currentprojection', is initially set to
`perspective(5,4,2)'.
@@ -6973,7 +7050,7 @@ add(faces);

File: asymptote.info, Node: obj, Next: graph3, Prev: three, Up: Base modules
-7.30 `obj'
+8.30 `obj'
==========
This module allows one to construct surfaces from simple obj files, as
@@ -6982,7 +7059,7 @@ illustrated in the example files `galleon.asy' and `triceratops.asy'.

File: asymptote.info, Node: graph3, Next: grid3, Prev: obj, Up: Base modules
-7.31 `graph3'
+8.31 `graph3'
=============
This module implements three-dimensional versions of the functions in
@@ -7038,9 +7115,9 @@ draw(p,Arrow3);
scale(true);
-xaxis3(XZ()*"$x$",Bounds(),red,InTicks(Label,2,2));
-yaxis3(YZ()*"$y$",Bounds(),red,InTicks(beginlabel=false,Label,2,2));
-zaxis3(XZ()*"$z$",Bounds(),red,InTicks);
+xaxis3(XZ()*"$x$",Bounds,red,InTicks(Label,2,2));
+yaxis3(YZ()*"$y$",Bounds,red,InTicks(beginlabel=false,Label,2,2));
+zaxis3(XZ()*"$z$",Bounds,red,InTicks);
@@ -7093,6 +7170,9 @@ surface surface(real f(pair z), pair a, pair b, int nx=nmesh, int ny=nx,
surface surface(real f(pair z), pair a, pair b, int nx=nmesh, int ny=nx,
splinetype xsplinetype, splinetype ysplinetype=xsplinetype,
bool cond(pair z)=null);
+surface surface(triple f(pair z), real[] u, real[] v,
+ splinetype[] usplinetype, splinetype[] vsplinetype=Spline,
+ bool cond(pair z)=null);
surface surface(triple f(pair z), pair a, pair b, int nu=nmesh, int nv=nu,
bool cond(pair z)=null);
surface surface(triple f(pair z), pair a, pair b, int nu=nmesh, int nv=nu,
@@ -7147,12 +7227,12 @@ picture vectorfield(path3 vector(pair v), triple f(pair z), pair a, pair b,

File: asymptote.info, Node: grid3, Next: solids, Prev: graph3, Up: Base modules
-7.32 `grid3'
+8.32 `grid3'
============
This module, contributed by Philippe Ivaldi, can be used for drawing 3D
grids. Here is an example (further examples can be found in `grid3.asy'
-and at `http://piprim.tuxfamily.org/asymptote/grid3/'):
+and at `http://www.piprime.fr/files/asymptote/grid3/'):
import grid3;
@@ -7176,7 +7256,7 @@ zaxis3(Label("$z$",position=EndPoint,align=(-1,0.5)),Bounds(Min,Min),

File: asymptote.info, Node: solids, Next: tube, Prev: grid3, Up: Base modules
-7.33 `solids'
+8.33 `solids'
=============
This solid geometry package defines a structure `revolution' that can
@@ -7212,12 +7292,12 @@ struct skeleton {

File: asymptote.info, Node: tube, Next: flowchart, Prev: solids, Up: Base modules
-7.34 `tube'
+8.34 `tube'
===========
-This package extends the routine `tube' defined in `three_arrows.asy'
-to arbitrary cross sections, colors, and spine transformations. The
-routine
+This package extends the `tube' surfaces constructed in
+`three_arrows.asy' to arbitrary cross sections, colors, and spine
+transformations. The routine
surface tube(path3 g, coloredpath section,
transform T(real)=new transform(real t) {return identity();},
real corner=1, real relstep=0);
@@ -7258,12 +7338,12 @@ default shading behavior for a surface.
An example of `tube' is provided in the file `trefoilknot.asy'.
Further examples can be found at
-`http://piprim.tuxfamily.org/asymptote/tube/'.
+`http://www.piprime.fr/files/asymptote/tube/'.

File: asymptote.info, Node: flowchart, Next: contour, Prev: tube, Up: Base modules
-7.35 `flowchart'
+8.35 `flowchart'
================
This package provides routines for drawing flowcharts. The primary
@@ -7378,7 +7458,7 @@ add(new void(picture pic, transform t) {

File: asymptote.info, Node: contour, Next: contour3, Prev: flowchart, Up: Base modules
-7.36 `contour'
+8.36 `contour'
==============
This package draws contour lines. To construct contours corresponding
@@ -7441,7 +7521,7 @@ real[] c=new real[n];
for(int i=0; i < n; ++i) c[i]=(i-n/2)/n;
pen[] p=sequence(new pen(int i) {
- return (c[i] >= 0 ? solid : dashed)+fontsize(6);
+ return (c[i] >= 0 ? solid : dashed)+fontsize(6pt);
},c.length);
Label[] Labels=sequence(new Label(int i) {
@@ -7561,7 +7641,7 @@ Shewchuk.

File: asymptote.info, Node: contour3, Next: slopefield, Prev: contour, Up: Base modules
-7.37 `contour3'
+8.37 `contour3'
===============
This package draws surfaces described as the null space of real-valued
@@ -7571,7 +7651,7 @@ in the example file `magnetic.asy'.

File: asymptote.info, Node: slopefield, Next: ode, Prev: contour3, Up: Base modules
-7.38 `slopefield'
+8.38 `slopefield'
=================
To draw a slope field for the differential equation dy/dx=f(x,y) (or
@@ -7611,7 +7691,7 @@ draw(curve((0,0),func,(-3,-3),(3,3)),red);

File: asymptote.info, Node: ode, Prev: slopefield, Up: Base modules
-7.39 `ode'
+8.39 `ode'
==========
The `ode' module, illustrated in the example `odetest.asy', implements
@@ -7621,8 +7701,8 @@ differential equations.

File: asymptote.info, Node: Options, Next: Interactive mode, Prev: Base modules, Up: Top
-8 Options
-*********
+9 Command-line options
+**********************
Type `asy -h' to see the full list of command-line options supported by
`Asymptote':
@@ -7632,11 +7712,14 @@ Usage: ../asy [options] [file ...]
Options (negate by replacing - with -no):
-V,-View View output; command-line only
--a,-align C|B|T|Z Center, Bottom, Top, or Zero page alignment [Center]
+-a,-align C|B|T|Z Center, Bottom, Top, or Zero page alignment [C]
-antialias n Antialiasing width for rasterized output [2]
+-arcballradius pixels Arcball radius [750]
-auto3D Automatically activate 3D scene [true]
+-autobillboard 3D labels always face viewer by default [true]
-autoimport string Module to automatically import
-autoplain Enable automatic importing of plain [true]
+-autoplay Autoplay 3D animations [false]
-autorotate Enable automatic PDF page rotation [false]
-batchMask Mask fpu exceptions in batch mode [false]
-batchView View output in batch mode [false]
@@ -7647,13 +7730,16 @@ Options (negate by replacing - with -no):
-compact Conserve memory at the expense of speed [false]
-d,-debug Enable debugging messages [false]
-divisor n Garbage collect using purge(divisor=n) [2]
+-doubleclick ms Emulated double-click timeout [200]
-embed Embed rendered preview image [true]
-exitonEOF Exit interactive mode on EOF [true]
-fitscreen Fit rendered image to screen [true]
+-framerate frames/sec Animation speed [30]
-globalwrite Allow write to other directory [false]
-gray Convert all colors to grayscale [false]
-h,-help Show summary of options; command-line only
-historylines n Retain n lines of history [1000]
+-hyperrefOptions str LaTeX hyperref package options [setpagesize=false,unicode]
-iconify Iconify rendering window [false]
-inlineimage Generate inline embedded image [false]
-inlinetex Generate inline TeX code [false]
@@ -7665,6 +7751,7 @@ Options (negate by replacing - with -no):
-level n Postscript level [3]
-l,-listvariables List available global functions and variables [false]
-localhistory Use a local interactive history file [false]
+-loop Loop 3D animations [false]
-m,-mask Mask fpu exceptions; command-line only
-maxtile pair Maximum rendering tile size [(0,0)]
-maxviewport pair Maximum viewport size [(2048,2048)]
@@ -7683,9 +7770,12 @@ Options (negate by replacing - with -no):
-prompt2 string Continuation prompt for multiline input [..]
-q,-quiet Suppress welcome message [false]
-render n Render 3D graphics using n pixels per bp (-1=auto) [-1]
+-resizestep step Resize step [1.2]
+-reverse reverse 3D animations [false]
-rgb Convert cmyk colors to rgb [false]
-safe Disable system call [true]
-scroll n Scroll standard output n lines at a time [0]
+-spinstep deg/sec Spin speed [60]
-tabcompletion Interactive prompt auto-completion [true]
-tex engine latex|pdflatex|xelatex|tex|pdftex|context|none [latex]
-thick Render thick 3D lines [true]
@@ -7699,8 +7789,10 @@ Options (negate by replacing - with -no):
-v,-verbose Increase verbosity level (can specify multiple times) [0]
-version Show version; command-line only
-wait Wait for child processes to finish before exiting [false]
+-warn string Enable warning; command-line only
-where Show where listed variables are declared [false]
--xformat format GUI deconstruction format [png]
+-zoomfactor factor Zoom step factor [1.05]
+-zoomstep step Mouse motion zoom step [0.1]
All boolean options can be negated by prepending `no' to the option
name.
@@ -7722,11 +7814,11 @@ automatically imported for each run as the final step in loading module
Default option values may be entered as `Asymptote' code in a
configuration file named `config.asy' (or the file specified by the
environment variable `ASYMPTOTE_CONFIG' or `-config' option).
-`Asymptote' will look for this file in its usual search path.
-Typically the configuration file is placed in the `.asy' directory in
-the user's home directory (`%USERPROFILE%\.asy' under `MSDOS').
-Configuration variables are accessed using the long form of the option
-names:
+`Asymptote' will look for this file in its usual search path (*note
+Search paths::). Typically the configuration file is placed in the
+`.asy' directory in the user's home directory (`%USERPROFILE%\.asy'
+under `MSDOS'). Configuration variables are accessed using the long
+form of the option names:
import settings;
outformat="pdf";
batchView=false;
@@ -7763,8 +7855,9 @@ pixel per `bp':
asy -o - venn | convert -alpha Off -density 144x144 -geometry 50%x eps:- venn.tiff
If the option `-nosafe' is given, `Asymptote' runs in unsafe mode.
-This enables the `int system(string s)' call, allowing one to execute
-arbitrary shell commands. The default mode, `-safe', disables this call.
+This enables the `int system(string s)' and `int system(string[] s)'
+calls, allowing one to execute arbitrary shell commands. The default
+mode, `-safe', disables this call.
A `PostScript' offset may be specified as a pair (in `bp' units)
with the `-O' option:
@@ -7816,8 +7909,8 @@ option:

File: asymptote.info, Node: Interactive mode, Next: GUI, Prev: Options, Up: Top
-9 Interactive mode
-******************
+10 Interactive mode
+*******************
Interactive mode is entered by executing the command `asy' with no file
arguments. When the `-multiline' option is disabled (the default), each
@@ -7841,6 +7934,9 @@ and must be entered immediately after the prompt:
`help'
view the manual;
+`erase'
+ erase `currentpicture';
+
`reset'
reset the `Asymptote' environment to its initial state, except for
changes to the settings module (*note settings::), the current
@@ -7887,7 +7983,7 @@ g.label("\"$O$\", (0,0), SW")

File: asymptote.info, Node: GUI, Next: PostScript to Asymptote, Prev: Interactive mode, Up: Top
-10 Graphical User Interface
+11 Graphical User Interface
***************************
In the event that adjustments to the final figure are required, the
@@ -7897,13 +7993,13 @@ The modified figure can then be saved as a normal `Asymptote' file.
* Menu:
-* GUI Installation:: Installing `xasy'
-* GUI Usage::
+* GUI installation:: Installing `xasy'
+* GUI usage::

-File: asymptote.info, Node: GUI Installation, Next: GUI Usage, Up: GUI
+File: asymptote.info, Node: GUI installation, Next: GUI usage, Up: GUI
-10.1 GUI Installation
+11.1 GUI installation
=====================
As `xasy' is written in the interactive scripting language `Python/TK',
@@ -7919,31 +8015,22 @@ packages.
Pictures are deconstructed into the PNG image format, which supports
full alpha channel transparency. Under `Microsoft Windows', this
-requires `Python 2.5 (or 2.5.1)' and the `Python Imaging Library':
+requires `Python 2.6.2' and the `Python Imaging Library':
- `http://www.python.org/ftp/python/2.5.1/python-2.5.1.msi'
+ `http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi'
- `http://effbot.org/downloads/PIL-1.1.6.win32-py2.5.exe'.
+ `http://effbot.org/downloads/PIL-1.1.7b1.win32-py2.6.exe'.
On `UNIX' systems, place
-`http://effbot.org/downloads/Imaging-1.1.6.tar.gz' in the `Asymptote'
+`http://effbot.org/downloads/Imaging-1.1.7b1.tar.gz' in the `Asymptote'
source directory, and type (as the root user):
-tar -zxf Imaging-1.1.6.tar.gz
-cd Imaging-1.1.6
-patch -p1 < ../patches/TkAlpha-Imaging-1.1.6.patch
+tar -zxf Imaging-1.1.7b1.tar.gz
+cd Imaging-1.1.7b1
python setup.py install
- Alternatively, `xasy' can deconstruct pictures into the GIF image
-format (not recommended as this is very slow), using white as the
-transparent color. This requires the lines
-import settings;
-xformat="gif";
- in the `Asymptote' configuration file (*note configuration file::),
-along with the `ImageMagick' (*note convert::) program.
-

-File: asymptote.info, Node: GUI Usage, Prev: GUI Installation, Up: GUI
+File: asymptote.info, Node: GUI usage, Prev: GUI installation, Up: GUI
-10.2 GUI Usage
+11.2 GUI usage
==============
A wheel mouse is convenient for raising and lowering objects within
@@ -7964,32 +8051,15 @@ elements will be individually deconstructed (*note add::).

File: asymptote.info, Node: PostScript to Asymptote, Next: Help, Prev: GUI, Up: Top
-11 `PostScript' to `Asymptote'
+12 `PostScript' to `Asymptote'
******************************
-The excellent `PostScript' editor `pstoedit' (version 3.45 or later;
-available from `http://pstoedit.net') includes an `Asymptote' backend.
-Unlike virtually all other `pstoedit' backends, this driver includes
-native clipping, even-odd fill rule, `PostScript' subpath, and full
-image support.
-
- For full functionality, the patch `pstoedit-3.45asy.patch' in the
-`patches' directory should be applied. On `UNIX' systems, as the root
-user, place
-
- `http://prdownloads.sourceforge.net/pstoedit/pstoedit-3.45.tar.gz'
- in the `Asymptote' source directory, and type:
-
-tar -zxf pstoedit-3.45.tar.gz
-cd pstoedit-3.45
-patch -p1 < ../patches/pstoedit-3.45asy.patch
-autoconf
-./configure --prefix=/usr
-make install
-
-Then try:
-
-`asy -V /usr/local/share/doc/asymptote/examples/venn.asy'
+The excellent `PostScript' editor `pstoedit' (version 3.50 or later;
+available from `http://sourceforge.net/projects/pstoedit/') includes an
+`Asymptote' backend. Unlike virtually all other `pstoedit' backends,
+this driver includes native clipping, even-odd fill rule, `PostScript'
+subpath, and full image support. Here is an example: `asy -V
+/usr/local/share/doc/asymptote/examples/venn.asy'
pstoedit -f asy venn.eps test.asy
asy -V test
@@ -8000,7 +8070,7 @@ If the line widths aren't quite correct, try giving `pstoedit' the

File: asymptote.info, Node: Help, Next: Debugger, Prev: PostScript to Asymptote, Up: Top
-12 Help
+13 Help
*******
A list of frequently asked questions (FAQ) is maintained at
@@ -8009,7 +8079,7 @@ A list of frequently asked questions (FAQ) is maintained at
Questions on installing and using `Asymptote' that are not addressed
in the FAQ should be sent to the `Asymptote' forum:
- `http://sourceforge.net/forum/forum.php?forum_id=409349'
+ `http://sourceforge.net/projects/asymptote/forums/forum/409349'
Including an example that illustrates what you are trying to do will
help you get useful feedback. `LaTeX' problems can often be diagnosed
with the `-vv' or `-vvv' command-line options. Contributions in the
@@ -8021,7 +8091,7 @@ form of patches or `Asymptote' modules can be posted here:
`http://freshmeat.net/projects/asy'
If you find a bug in `Asymptote', please check (if possible) whether
-the bug is still present in the latest Subversion developmental code
+the bug is still present in the latest `Subversion' developmental code
(*note Subversion::) before submitting a bug report. New bugs can be
submitted using the Bug Tracking System at
@@ -8040,7 +8110,7 @@ generates such segmentation faults along with your bug report).

File: asymptote.info, Node: Debugger, Next: Credits, Prev: Help, Up: Top
-13 Debugger
+14 Debugger
***********
Asymptote now includes a line-based (as opposed to code-based) debugger
@@ -8108,7 +8178,7 @@ void breakpoint(code s=quote{});

File: asymptote.info, Node: Credits, Next: Index, Prev: Debugger, Up: Top
-14 Acknowledgments
+15 Acknowledgments
******************
Financial support for the development of `Asymptote' was generously
@@ -8147,7 +8217,7 @@ Index
(line 6)
* & <1>: Arithmetic & logical.
(line 56)
-* &: Tutorial. (line 192)
+* &: Bezier curves. (line 83)
* &&: Arithmetic & logical.
(line 53)
* * <1>: Arithmetic & logical.
@@ -8168,16 +8238,16 @@ Index
(line 14)
* -- <1>: Self & prefix operators.
(line 6)
-* --: Tutorial. (line 109)
-* ---: Tutorial. (line 192)
+* --: Tutorial. (line 125)
+* ---: Bezier curves. (line 83)
* -=: Self & prefix operators.
(line 6)
-* -c: Options. (line 154)
-* -l: Options. (line 173)
-* -u: Options. (line 164)
-* -V <1>: Tutorial. (line 41)
+* -c: Options. (line 167)
+* -l: Options. (line 186)
+* -u: Options. (line 177)
+* -V <1>: Tutorial. (line 19)
* -V: Configuring. (line 6)
-* ..: Tutorial. (line 109)
+* ..: Tutorial. (line 125)
* .asy: Search paths. (line 13)
* /: Arithmetic & logical.
(line 20)
@@ -8186,11 +8256,12 @@ Index
* 2D graphs: graph. (line 6)
* 3D graphs: graph3. (line 6)
* 3D grids: grid3. (line 6)
+* 3D PostScript: three. (line 532)
* 3D rendering: Compiling from UNIX source.
(line 16)
* :: Arithmetic & logical.
(line 73)
-* ::: Tutorial. (line 176)
+* ::: Bezier curves. (line 67)
* <: Arithmetic & logical.
(line 41)
* <=: Arithmetic & logical.
@@ -8208,14 +8279,14 @@ Index
(line 28)
* ^=: Self & prefix operators.
(line 6)
-* ^^: Tutorial. (line 197)
-* a4: Configuring. (line 62)
+* ^^: Tutorial. (line 132)
+* a4: Configuring. (line 61)
* abort: Data types. (line 321)
* abs <1>: Mathematical functions.
(line 35)
* abs: Data types. (line 60)
-* accel <1>: three. (line 433)
-* accel: Paths and guides. (line 110)
+* accel <1>: three. (line 462)
+* accel: Paths and guides. (line 109)
* access: Import. (line 6)
* acknowledgments: Credits. (line 6)
* aCos: Mathematical functions.
@@ -8225,57 +8296,59 @@ Index
* acosh: Mathematical functions.
(line 6)
* add: Frames and pictures. (line 192)
+* adjust: Pens. (line 112)
* Ai: Mathematical functions.
(line 48)
* Ai_deriv: Mathematical functions.
(line 48)
* Airy: Mathematical functions.
(line 48)
-* alias <1>: Arrays. (line 187)
+* alias <1>: Arrays. (line 184)
* alias: Structures. (line 54)
-* align: Options. (line 148)
+* align: Options. (line 161)
* Align: label. (line 12)
-* all: Arrays. (line 331)
-* Allow: Pens. (line 323)
+* all: Arrays. (line 328)
+* Allow: Pens. (line 324)
* AND: Arithmetic & logical.
(line 80)
-* and: Tutorial. (line 165)
+* and: Bezier curves. (line 56)
* angle: Data types. (line 68)
* animate <1>: animation. (line 12)
-* animate <2>: Files. (line 148)
-* animate: Configuring. (line 68)
+* animate <2>: Files. (line 151)
+* animate: Configuring. (line 67)
* animation: animation. (line 6)
* annotate: annotate. (line 6)
-* antialias <1>: Options. (line 128)
-* antialias: three. (line 180)
+* antialias <1>: Options. (line 140)
+* antialias: three. (line 205)
* antialiasing: Compiling from UNIX source.
(line 16)
* append <1>: Arrays. (line 39)
* append: Files. (line 36)
-* arc: three. (line 245)
+* arc: three. (line 271)
* Arc: Paths and guides. (line 32)
* arc: Paths and guides. (line 22)
* ArcArrow: draw. (line 26)
-* ArcArrow3: three. (line 476)
+* ArcArrow3: three. (line 505)
* ArcArrows: draw. (line 26)
-* ArcArrows3: three. (line 476)
-* arclength <1>: three. (line 433)
-* arclength: Paths and guides. (line 137)
-* arctime <1>: three. (line 433)
-* arctime: Paths and guides. (line 141)
+* ArcArrows3: three. (line 505)
+* arclength <1>: three. (line 462)
+* arclength: Paths and guides. (line 136)
+* arctime <1>: three. (line 462)
+* arctime: Paths and guides. (line 140)
* arguments: Default arguments. (line 6)
* arithmetic operators: Arithmetic & logical.
(line 6)
-* array: Arrays. (line 125)
+* array: Arrays. (line 122)
* array iteration: Programming. (line 33)
* arrays: Arrays. (line 6)
* arrow: label. (line 72)
* Arrow: draw. (line 26)
* arrow: Drawing commands. (line 31)
-* arrow keys: Tutorial. (line 21)
-* Arrow3: three. (line 476)
+* arrow keys: Tutorial. (line 35)
+* Arrow3: three. (line 505)
* Arrows: draw. (line 26)
-* Arrows3: three. (line 476)
+* arrows: draw. (line 26)
+* Arrows3: three. (line 505)
* as: Import. (line 70)
* aSin: Mathematical functions.
(line 20)
@@ -8289,7 +8362,8 @@ Index
* asy-mode: Editing modes. (line 6)
* asy.vim: Editing modes. (line 33)
* asymptote.sty: LaTeX usage. (line 6)
-* ASYMPTOTE_CONFIG: Options. (line 101)
+* asymptote.xml: Editing modes. (line 49)
+* ASYMPTOTE_CONFIG: Options. (line 113)
* aTan: Mathematical functions.
(line 20)
* atan: Mathematical functions.
@@ -8298,11 +8372,11 @@ Index
(line 6)
* atanh: Mathematical functions.
(line 6)
-* atleast: Tutorial. (line 165)
+* atleast: Bezier curves. (line 56)
* attach <1>: graph. (line 405)
* attach: LaTeX usage. (line 32)
-* autoadjust: three. (line 315)
-* autoimport: Options. (line 97)
+* autoadjust: three. (line 342)
+* autoimport: Options. (line 109)
* automatic scaling: graph. (line 672)
* axialshade: fill. (line 43)
* axis <1>: graph3. (line 66)
@@ -8310,36 +8384,37 @@ Index
* azimuth: Data types. (line 124)
* babel: babel. (line 6)
* background color: Frames and pictures. (line 164)
-* BackView: three. (line 340)
+* BackView: three. (line 369)
* Bar: draw. (line 19)
-* Bar3: three. (line 476)
+* Bar3: three. (line 505)
* Bars: draw. (line 19)
-* Bars3: three. (line 476)
+* Bars3: three. (line 505)
* barsize: draw. (line 19)
* base modules: Base modules. (line 6)
-* basealign: Pens. (line 164)
+* basealign: Pens. (line 165)
* baseline: label. (line 92)
-* batch mode: Tutorial. (line 30)
+* batch mode: Tutorial. (line 6)
* beep: Data types. (line 335)
* BeginArcArrow: draw. (line 26)
-* BeginArcArrow3: three. (line 476)
+* BeginArcArrow3: three. (line 505)
* BeginArrow: draw. (line 26)
-* BeginArrow3: three. (line 476)
+* BeginArrow3: three. (line 505)
* BeginBar: draw. (line 19)
-* BeginBar3: three. (line 476)
+* BeginBar3: three. (line 505)
* BeginDotMargin: draw. (line 42)
-* BeginDotMargin3: three. (line 492)
+* BeginDotMargin3: three. (line 521)
* BeginMargin: draw. (line 42)
-* BeginMargin3: three. (line 492)
+* BeginMargin3: three. (line 521)
* BeginPenMargin: draw. (line 42)
-* BeginPenMargin2: three. (line 492)
-* BeginPenMargin3: three. (line 492)
+* BeginPenMargin2: three. (line 521)
+* BeginPenMargin3: three. (line 521)
* BeginPoint: label. (line 57)
* Bessel: Mathematical functions.
(line 48)
* bevel: flowchart. (line 68)
-* beveljoin: Pens. (line 134)
-* bezulate: three. (line 98)
+* beveljoin: Pens. (line 135)
+* Bezier curves: Bezier curves. (line 6)
+* bezulate: three. (line 99)
* Bi: Mathematical functions.
(line 48)
* Bi_deriv: Mathematical functions.
@@ -8367,19 +8442,19 @@ Index
(line 6)
* Bottom: graph. (line 128)
* BottomTop: graph. (line 134)
-* BottomView: three. (line 340)
+* BottomView: three. (line 369)
* bounding box: Frames and pictures. (line 164)
* Bounds: graph3. (line 20)
* boutput: Files. (line 71)
-* box <1>: three. (line 267)
+* box <1>: three. (line 293)
* box: Frames and pictures. (line 22)
-* bp: Tutorial. (line 17)
+* bp: Tutorial. (line 24)
* break: Programming. (line 29)
* breakpoints: Debugger. (line 21)
-* brick: Pens. (line 247)
+* brick: Pens. (line 248)
* broken axis: graph. (line 773)
* bug reports: Help. (line 23)
-* buildcycle: Paths and guides. (line 251)
+* buildcycle: Paths and guides. (line 250)
* Button-1: GUI. (line 6)
* Button-2: GUI. (line 6)
* BWRainbow: palette. (line 15)
@@ -8393,24 +8468,25 @@ Index
* cd: Files. (line 24)
* ceil: Mathematical functions.
(line 26)
-* center: three. (line 300)
+* center: three. (line 326)
* Center: label. (line 62)
-* checker: Pens. (line 247)
+* checker: Pens. (line 248)
* Chinese: unicode. (line 12)
* choose: Mathematical functions.
(line 39)
* Ci: Mathematical functions.
(line 48)
* circle <1>: flowchart. (line 57)
-* circle: three. (line 241)
+* circle: three. (line 267)
* Circle: Paths and guides. (line 17)
* circle: Paths and guides. (line 10)
* circlebarframe: markers. (line 18)
* CJK: unicode. (line 12)
* clear <1>: Debugger. (line 23)
-* clear: Files. (line 86)
+* clear: Files. (line 89)
* clip: fill. (line 110)
-* cm: Tutorial. (line 63)
+* cm: Tutorial. (line 61)
+* cmd: Configuring. (line 34)
* cmyk: Pens. (line 34)
* colatitude: Data types. (line 129)
* color: Pens. (line 23)
@@ -8420,38 +8496,39 @@ Index
* colorless: Pens. (line 54)
* colors: Pens. (line 51)
* comma: Files. (line 59)
-* comma-separated-value mode: Arrays. (line 362)
+* comma-separated-value mode: Arrays. (line 361)
* command-line options <1>: Options. (line 6)
-* command-line options: Configuring. (line 82)
+* command-line options: Configuring. (line 83)
* comment character: Files. (line 15)
-* compass directions: Tutorial. (line 94)
+* compass directions: Tutorial. (line 104)
* Compiling from UNIX source: Compiling from UNIX source.
(line 6)
-* complement: Arrays. (line 153)
-* concat: Arrays. (line 183)
+* complement: Arrays. (line 150)
+* concat: Arrays. (line 180)
* conditional <1>: Arithmetic & logical.
(line 73)
* conditional: Programming. (line 8)
-* config: Options. (line 101)
-* configuration file: Configuring. (line 21)
+* config: Options. (line 113)
+* configuration file <1>: Options. (line 113)
+* configuration file: Configuring. (line 23)
* configuring: Configuring. (line 6)
* conj: Data types. (line 57)
* constructors: Structures. (line 95)
-* context: Options. (line 128)
+* context: Options. (line 140)
* continue <1>: Debugger. (line 31)
* continue: Programming. (line 29)
* contour: contour. (line 9)
* contour3: contour3. (line 6)
* controls <1>: three. (line 6)
-* controls: Tutorial. (line 154)
-* controlSpecifier: Paths and guides. (line 375)
-* convert <1>: Options. (line 128)
+* controls: Bezier curves. (line 45)
+* controlSpecifier: Paths and guides. (line 374)
+* convert <1>: Options. (line 140)
* convert <2>: animation. (line 6)
-* convert <3>: Files. (line 148)
-* convert: Configuring. (line 68)
-* convertOptions: Options. (line 116)
+* convert <3>: Files. (line 151)
+* convert: Configuring. (line 67)
+* convertOptions: Options. (line 128)
* Coons shading: fill. (line 74)
-* copy: Arrays. (line 174)
+* copy: Arrays. (line 171)
* Cos: Mathematical functions.
(line 20)
* cos: Mathematical functions.
@@ -8464,25 +8541,24 @@ Index
* cross <1>: graph. (line 474)
* cross: Data types. (line 167)
* crossframe: markers. (line 23)
-* crosshatch: Pens. (line 263)
-* csv: Arrays. (line 362)
-* cubicroots: Arrays. (line 320)
+* crosshatch: Pens. (line 264)
+* csv: Arrays. (line 361)
+* cubicroots: Arrays. (line 317)
* curl <1>: three. (line 6)
-* curl: Tutorial. (line 172)
-* curlSpecifier: Paths and guides. (line 387)
+* curl: Bezier curves. (line 63)
+* curlSpecifier: Paths and guides. (line 386)
* currentpen: Pens. (line 6)
-* currentprojection: three. (line 337)
+* currentprojection: three. (line 366)
* curve: slopefield. (line 20)
* custom axis types: graph. (line 138)
* custom mark routine: graph. (line 566)
* custom tick locations: graph. (line 241)
-* cut: Paths and guides. (line 233)
+* cut: Paths and guides. (line 232)
* cycle <1>: three. (line 6)
-* cycle: Tutorial. (line 46)
-* cyclic <1>: three. (line 433)
+* cycle: Tutorial. (line 73)
+* cyclic <1>: three. (line 462)
* cyclic <2>: Arrays. (line 39)
-* cyclic: Paths and guides. (line 75)
-* cyclicflag: Arrays. (line 39)
+* cyclic: Paths and guides. (line 74)
* Cyrillic: unicode. (line 7)
* dashdotted: Pens. (line 92)
* dashed: Pens. (line 92)
@@ -8492,11 +8568,11 @@ Index
(line 19)
* debugger: Debugger. (line 6)
* declaration: Programming. (line 8)
-* deconstruct: GUI Usage. (line 6)
+* deconstruct: GUI usage. (line 6)
* default arguments: Default arguments. (line 6)
* defaultformat: graph. (line 169)
* DefaultHead: draw. (line 26)
-* DefaultHead3: three. (line 476)
+* DefaultHead3: three. (line 505)
* defaultpen: Pens. (line 46)
* deferred drawing: simplex. (line 6)
* Degrees: Mathematical functions.
@@ -8505,30 +8581,30 @@ Index
(line 17)
* degrees: Data types. (line 73)
* delete <1>: Arrays. (line 39)
-* delete: Files. (line 143)
+* delete: Files. (line 146)
* description: Description. (line 6)
-* diagonal: Arrays. (line 305)
+* diagonal: Arrays. (line 302)
* diamond: flowchart. (line 50)
-* dimension: Arrays. (line 368)
-* dir <1>: three. (line 433)
-* dir <2>: Paths and guides. (line 99)
+* dimension: Arrays. (line 366)
+* dir <1>: three. (line 462)
+* dir <2>: Paths and guides. (line 98)
* dir <3>: Data types. (line 85)
* dir: Search paths. (line 10)
-* direction specifier: Tutorial. (line 115)
+* direction specifier: Bezier curves. (line 6)
* directory: Files. (line 24)
-* dirSpecifier: Paths and guides. (line 369)
-* dirtime: Paths and guides. (line 147)
-* display: Configuring. (line 68)
+* dirSpecifier: Paths and guides. (line 368)
+* dirtime: Paths and guides. (line 146)
+* display: Configuring. (line 67)
* do: Programming. (line 29)
* dot <1>: Data types. (line 98)
* dot: draw. (line 83)
* DotMargin: draw. (line 42)
-* DotMargin3: three. (line 492)
+* DotMargin3: three. (line 521)
* DotMargins: draw. (line 42)
-* DotMargins3: three. (line 492)
+* DotMargins3: three. (line 521)
* dotted: Pens. (line 92)
-* double: Files. (line 71)
-* double deferred drawing: three. (line 222)
+* double deferred drawing: three. (line 248)
+* double precision: Files. (line 71)
* Draw: Frames and pictures. (line 147)
* draw: draw. (line 110)
* Draw: draw. (line 26)
@@ -8536,15 +8612,17 @@ Index
* drawing commands: Drawing commands. (line 6)
* drawline: math. (line 9)
* drawtree: drawtree. (line 9)
-* dvips: Configuring. (line 68)
-* dvipsOptions: Options. (line 116)
+* dvips: Configuring. (line 67)
+* dvipsOptions: Options. (line 128)
+* dvisvg: Configuring. (line 67)
* E <1>: Mathematical functions.
(line 48)
-* E: Tutorial. (line 94)
+* E: Tutorial. (line 104)
* Editing modes: Editing modes. (line 6)
* Ei: Mathematical functions.
(line 48)
-* ellipse: Frames and pictures. (line 22)
+* ellipse <1>: Frames and pictures. (line 22)
+* ellipse: Paths and guides. (line 39)
* elliptic functions: Mathematical functions.
(line 48)
* else: Programming. (line 8)
@@ -8552,40 +8630,42 @@ Index
* embed: embed. (line 6)
* empty: Frames and pictures. (line 7)
* EndArcArrow: draw. (line 26)
-* EndArcArrow3: three. (line 476)
+* EndArcArrow3: three. (line 505)
* EndArrow: draw. (line 26)
-* EndArrow3: three. (line 476)
+* EndArrow3: three. (line 505)
* EndBar: draw. (line 19)
-* EndBar3: three. (line 476)
+* EndBar3: three. (line 505)
* EndDotMargin: draw. (line 42)
-* EndDotMargin3: three. (line 492)
+* EndDotMargin3: three. (line 521)
* endl: Files. (line 59)
* EndMargin: draw. (line 42)
-* EndMargin3: three. (line 492)
+* EndMargin3: three. (line 521)
* EndPenMargin: draw. (line 42)
-* EndPenMargin2: three. (line 492)
-* EndPenMargin3: three. (line 492)
+* EndPenMargin2: three. (line 521)
+* EndPenMargin3: three. (line 521)
* EndPoint: label. (line 57)
* envelope: Frames and pictures. (line 22)
-* environment variables: Configuring. (line 86)
-* eof <1>: Arrays. (line 346)
-* eof: Files. (line 86)
-* eol <1>: Arrays. (line 346)
-* eol: Files. (line 86)
+* environment variables: Configuring. (line 87)
+* eof <1>: Arrays. (line 343)
+* eof: Files. (line 89)
+* eol <1>: Arrays. (line 343)
+* eol: Files. (line 89)
* EPS: label. (line 80)
* erase <1>: Frames and pictures. (line 7)
-* erase: Data types. (line 239)
+* erase <2>: Data types. (line 239)
+* erase: Tutorial. (line 35)
* erf: Mathematical functions.
(line 6)
* erfc: Mathematical functions.
(line 6)
* error: Files. (line 15)
+* error bars: graph. (line 522)
* errorbars: graph. (line 474)
* eval: Import. (line 101)
-* evenodd <1>: Pens. (line 148)
-* evenodd: Tutorial. (line 211)
+* evenodd <1>: Pens. (line 149)
+* evenodd: Tutorial. (line 146)
* exit <1>: Debugger. (line 57)
-* exit <2>: Interactive mode. (line 37)
+* exit <2>: Interactive mode. (line 40)
* exit: Data types. (line 326)
* exp: Mathematical functions.
(line 6)
@@ -8596,24 +8676,24 @@ Index
(line 6)
* exponential integral: Mathematical functions.
(line 48)
-* extendcap: Pens. (line 125)
+* extendcap: Pens. (line 126)
* extension <1>: MetaPost. (line 10)
-* extension: Paths and guides. (line 228)
+* extension: Paths and guides. (line 227)
* external: embed. (line 28)
-* extrude: three. (line 427)
+* extrude: three. (line 456)
* F: Mathematical functions.
(line 48)
* fabs: Mathematical functions.
(line 6)
-* face: three. (line 511)
+* face: three. (line 540)
* factorial: Mathematical functions.
(line 39)
* Fedora: UNIX binary distributions.
(line 15)
* feynman: feynman. (line 6)
-* fft: Arrays. (line 252)
+* fft: Arrays. (line 249)
* FFTW: Compiling from UNIX source.
- (line 59)
+ (line 58)
* file <1>: Debugger. (line 45)
* file: Files. (line 6)
* Fill: Frames and pictures. (line 133)
@@ -8624,12 +8704,12 @@ Index
* filldraw: fill. (line 11)
* FillDraw: draw. (line 26)
* filloutside: fill. (line 27)
-* fillrule: Pens. (line 148)
-* find <1>: Arrays. (line 162)
+* fillrule: Pens. (line 149)
+* find <1>: Arrays. (line 159)
* find: Data types. (line 224)
-* firstcut: Paths and guides. (line 243)
+* firstcut: Paths and guides. (line 242)
* fit: Frames and pictures. (line 103)
-* fix-cm: Pens. (line 174)
+* fix-cm: Pens. (line 175)
* fixedscaling: Frames and pictures. (line 74)
* floor: Mathematical functions.
(line 26)
@@ -8637,19 +8717,19 @@ Index
* flush: Files. (line 59)
* fmod: Mathematical functions.
(line 6)
-* font: Pens. (line 188)
-* font command: Pens. (line 188)
-* fontcommand: Pens. (line 203)
-* fontsize: Pens. (line 174)
+* font: Pens. (line 189)
+* font command: Pens. (line 189)
+* fontcommand: Pens. (line 204)
+* fontsize: Pens. (line 175)
* for: Programming. (line 8)
-* format <1>: Options. (line 128)
+* format <1>: Options. (line 140)
* format: Data types. (line 266)
* forum: Help. (line 6)
* frame: Frames and pictures. (line 7)
* freeglut: Compiling from UNIX source.
(line 16)
* from: Import. (line 17)
-* FrontView: three. (line 340)
+* FrontView: three. (line 369)
* function declarations: Functions. (line 67)
* function shading: fill. (line 95)
* Function shading: fill. (line 95)
@@ -8663,12 +8743,12 @@ Index
(line 39)
* geometry: geometry. (line 6)
* getc: Files. (line 30)
-* getpair: Files. (line 111)
-* getreal: Files. (line 111)
-* getstring: Files. (line 111)
-* gettriple: Files. (line 111)
-* glOptions <1>: Options. (line 116)
-* glOptions: three. (line 180)
+* getpair: Files. (line 114)
+* getreal: Files. (line 114)
+* getstring: Files. (line 114)
+* gettriple: Files. (line 114)
+* glOptions <1>: Options. (line 128)
+* glOptions: three. (line 205)
* GNU Scientific Library: Mathematical functions.
(line 48)
* gouraudshade: fill. (line 58)
@@ -8682,20 +8762,20 @@ Index
* Grayscale: palette. (line 9)
* grayscale: Pens. (line 25)
* grid <1>: graph. (line 724)
-* grid: Pens. (line 247)
+* grid: Pens. (line 248)
* grid3: grid3. (line 6)
* gs: Configuring. (line 6)
* gsl: Mathematical functions.
(line 48)
* GSL: Compiling from UNIX source.
- (line 59)
-* gsOptions: Options. (line 116)
+ (line 58)
+* gsOptions: Options. (line 128)
* GUI: GUI. (line 6)
-* GUI installation: GUI Installation. (line 6)
-* GUI usage: GUI Usage. (line 6)
-* guide: Paths and guides. (line 296)
+* GUI installation: GUI installation. (line 6)
+* GUI usage: GUI usage. (line 6)
+* guide: Paths and guides. (line 295)
* guide3: three. (line 6)
-* hatch: Pens. (line 263)
+* hatch: Pens. (line 264)
* height: LaTeX usage. (line 32)
* help <1>: Debugger. (line 30)
* help <2>: Help. (line 6)
@@ -8705,13 +8785,14 @@ Index
* hex: Data types. (line 279)
* hexidecimal <1>: Pens. (line 59)
* hexidecimal: Data types. (line 279)
-* hidden surface removal: three. (line 511)
+* hidden surface removal: three. (line 540)
* histogram: Mathematical functions.
(line 39)
-* history: Files. (line 136)
-* historylines: Interactive mode. (line 42)
+* history <1>: Interactive mode. (line 40)
+* history: Files. (line 139)
+* historylines: Interactive mode. (line 45)
* HookHead: draw. (line 26)
-* HookHead3: three. (line 476)
+* HookHead3: three. (line 505)
* Horizontal: flowchart. (line 74)
* hypot: Mathematical functions.
(line 6)
@@ -8719,60 +8800,61 @@ Index
(line 48)
* i_scaled: Mathematical functions.
(line 48)
-* iconic: three. (line 180)
-* identity <1>: Arrays. (line 302)
+* iconic: three. (line 205)
+* identity <1>: Arrays. (line 299)
* identity <2>: Mathematical functions.
(line 6)
* identity: Transforms. (line 24)
* if: Programming. (line 8)
* IgnoreAspect: Frames and pictures. (line 58)
* image: palette. (line 34)
-* ImageMagick <1>: Options. (line 128)
+* ImageMagick <1>: Options. (line 140)
* ImageMagick <2>: animation. (line 6)
-* ImageMagick: Configuring. (line 68)
+* ImageMagick: Configuring. (line 67)
+* images: palette. (line 6)
* implicit casts: Casts. (line 6)
* implicit linear solver: MetaPost. (line 10)
* implicit scaling: Implicit scaling. (line 6)
* import: Import. (line 48)
-* inches: Tutorial. (line 63)
+* inches: Tutorial. (line 61)
* including images: label. (line 80)
* inheritance: Structures. (line 189)
* initialized: Arrays. (line 39)
* initializers: Variable initializers.
(line 6)
* InOutTicks: graph3. (line 34)
-* input <1>: Interactive mode. (line 31)
+* input <1>: Interactive mode. (line 29)
* input: Files. (line 11)
* insert <1>: Arrays. (line 39)
* insert: Data types. (line 235)
-* inside: Paths and guides. (line 275)
+* inside: Paths and guides. (line 274)
* inst: Debugger. (line 36)
* installation: Installation. (line 6)
* int: Data types. (line 28)
* integer division: Arithmetic & logical.
(line 6)
* interactive mode: Interactive mode. (line 6)
-* interior: Paths and guides. (line 271)
+* interior: Paths and guides. (line 270)
* international characters: unicode. (line 6)
* interp: Arithmetic & logical.
(line 76)
* interpolate: interpolate. (line 6)
-* intersect <1>: three. (line 433)
+* intersect <1>: three. (line 462)
* intersect <2>: math. (line 13)
-* intersect: Paths and guides. (line 176)
-* intersectionpoint <1>: three. (line 433)
+* intersect: Paths and guides. (line 175)
+* intersectionpoint <1>: three. (line 462)
* intersectionpoint <2>: math. (line 17)
-* intersectionpoint: Paths and guides. (line 220)
-* intersectionpoints <1>: three. (line 433)
-* intersectionpoints: Paths and guides. (line 224)
-* intersections <1>: three. (line 433)
-* intersections: Paths and guides. (line 187)
+* intersectionpoint: Paths and guides. (line 219)
+* intersectionpoints <1>: three. (line 462)
+* intersectionpoints: Paths and guides. (line 223)
+* intersections <1>: three. (line 462)
+* intersections: Paths and guides. (line 186)
* InTicks: graph3. (line 34)
* intMax: Data types. (line 28)
* intMin: Data types. (line 28)
-* inverse <1>: Arrays. (line 308)
+* inverse <1>: Arrays. (line 305)
* inverse: Transforms. (line 16)
-* invert: three. (line 366)
+* invert: three. (line 395)
* invisible: Pens. (line 39)
* J: Mathematical functions.
(line 6)
@@ -8781,11 +8863,14 @@ Index
(line 48)
* k_scaled: Mathematical functions.
(line 48)
-* keyboard bindings:: three. (line 149)
+* Kate: Editing modes. (line 49)
+* KDE editor: Editing modes. (line 49)
+* keyboard bindings:: three. (line 164)
* keys: Arrays. (line 39)
* keywords: Named arguments. (line 6)
* Korean: unicode. (line 12)
-* Label: graph. (line 332)
+* Label <1>: graph. (line 332)
+* Label: label. (line 15)
* label: clip. (line 16)
* Label: draw. (line 98)
* labelpath: labelpath. (line 6)
@@ -8793,10 +8878,10 @@ Index
* labelx: graph. (line 332)
* labely: graph. (line 332)
* Landscape: Frames and pictures. (line 95)
-* lastcut: Paths and guides. (line 247)
+* lastcut: Paths and guides. (line 246)
* lasy-mode: Editing modes. (line 6)
-* latex: Options. (line 128)
-* LaTeX fonts: Pens. (line 188)
+* latex: Options. (line 140)
+* LaTeX fonts: Pens. (line 189)
* LaTeX usage: LaTeX usage. (line 6)
* latin1: latin1. (line 6)
* latitude: Data types. (line 134)
@@ -8808,29 +8893,30 @@ Index
* LeftRight: graph. (line 280)
* LeftSide: label. (line 62)
* LeftTicks: graph. (line 155)
-* LeftView: three. (line 340)
+* LeftView: three. (line 369)
* legend <1>: graph. (line 421)
* legend <2>: draw. (line 64)
* legend: Drawing commands. (line 31)
* Legendre: Mathematical functions.
(line 48)
-* length <1>: three. (line 433)
+* length <1>: three. (line 462)
* length <2>: Arrays. (line 39)
-* length <3>: Paths and guides. (line 66)
+* length <3>: Paths and guides. (line 65)
* length: Data types. (line 60)
-* letter: Configuring. (line 62)
+* letter: Configuring. (line 61)
* libm routines: Mathematical functions.
(line 6)
* libsigsegv <1>: Help. (line 33)
* libsigsegv: Functions. (line 88)
* limits: graph. (line 626)
-* line: Arrays. (line 346)
-* line mode: Arrays. (line 346)
+* line: Arrays. (line 343)
+* line mode: Arrays. (line 343)
* Linear: graph. (line 672)
-* linecap: Pens. (line 125)
-* linejoin: Pens. (line 134)
-* lineskip: Pens. (line 174)
-* linewidth: Pens. (line 115)
+* linecap: Pens. (line 126)
+* linejoin: Pens. (line 135)
+* lineskip: Pens. (line 175)
+* linetype: Pens. (line 112)
+* linewidth: Pens. (line 116)
* locale: Data types. (line 286)
* Log: graph. (line 672)
* log: Mathematical functions.
@@ -8850,13 +8936,13 @@ Index
* loop: Programming. (line 8)
* MacOS X binary distributions: MacOS X binary distributions.
(line 6)
-* makepen: Pens. (line 296)
-* map: Arrays. (line 144)
+* makepen: Pens. (line 297)
+* map: Arrays. (line 141)
* Margin: draw. (line 42)
-* Margin3: three. (line 492)
-* margins: three. (line 228)
+* Margin3: three. (line 521)
+* margins: three. (line 254)
* Margins: draw. (line 42)
-* Margins3: three. (line 492)
+* Margins3: three. (line 521)
* mark: graph. (line 474)
* markangle: markers. (line 38)
* marker: graph. (line 474)
@@ -8866,64 +8952,65 @@ Index
* math: math. (line 6)
* mathematical functions: Mathematical functions.
(line 6)
-* max <1>: three. (line 433)
-* max <2>: Arrays. (line 231)
+* max <1>: three. (line 462)
+* max <2>: Arrays. (line 228)
* max <3>: Frames and pictures. (line 7)
-* max: Paths and guides. (line 260)
+* max: Paths and guides. (line 259)
* maxbound: Data types. (line 104)
-* maxtile: three. (line 180)
-* maxtimes: Paths and guides. (line 215)
-* maxviewport: three. (line 180)
-* merge: animation. (line 6)
+* maxtile: three. (line 205)
+* maxtimes: Paths and guides. (line 214)
+* maxviewport: three. (line 205)
* MetaPost: MetaPost. (line 6)
-* MetaPost ... : Tutorial. (line 176)
-* MetaPost cutafter: Paths and guides. (line 248)
-* MetaPost cutbefore: Paths and guides. (line 244)
+* MetaPost ... : Bezier curves. (line 67)
+* MetaPost cutafter: Paths and guides. (line 247)
+* MetaPost cutbefore: Paths and guides. (line 243)
* MetaPost pickup: Pens. (line 6)
* MetaPost whatever: MetaPost. (line 10)
* Microsoft Windows: Microsoft Windows. (line 6)
* MidArcArrow: draw. (line 26)
-* MidArcArrow3: three. (line 476)
+* MidArcArrow3: three. (line 505)
* MidArrow: draw. (line 26)
-* MidArrow3: three. (line 476)
-* midpoint: Paths and guides. (line 161)
+* MidArrow3: three. (line 505)
+* midpoint: Paths and guides. (line 160)
* MidPoint: label. (line 57)
-* min <1>: three. (line 433)
-* min <2>: Arrays. (line 224)
+* min <1>: three. (line 462)
+* min <2>: Arrays. (line 221)
* min <3>: Frames and pictures. (line 7)
-* min: Paths and guides. (line 256)
+* min: Paths and guides. (line 255)
* minbound: Data types. (line 101)
* minipage: label. (line 119)
-* mintimes: Paths and guides. (line 210)
-* miterjoin: Pens. (line 134)
-* miterlimit: Pens. (line 143)
-* mm: Tutorial. (line 63)
+* mintimes: Paths and guides. (line 209)
+* miterjoin: Pens. (line 135)
+* miterlimit: Pens. (line 144)
+* mm: Tutorial. (line 61)
+* mode: Files. (line 85)
* mouse: GUI. (line 6)
-* mouse bindings: three. (line 129)
-* Move: Pens. (line 335)
-* MoveQuiet: Pens. (line 341)
-* multisample: three. (line 119)
+* mouse bindings: three. (line 132)
+* Move: Pens. (line 336)
+* MoveQuiet: Pens. (line 342)
+* multisample: three. (line 122)
* multisampling: Compiling from UNIX source.
(line 16)
-* N: Tutorial. (line 94)
+* N: Tutorial. (line 104)
+* name: Files. (line 85)
* named arguments: Named arguments. (line 6)
-* new <1>: Arrays. (line 112)
+* new <1>: Arrays. (line 109)
* new: Structures. (line 6)
* newframe: Frames and pictures. (line 7)
* newl: Files. (line 59)
* newton: Mathematical functions.
(line 65)
* next: Debugger. (line 42)
-* NFSS: Pens. (line 188)
-* nobasealign: Pens. (line 164)
+* NFSS: Pens. (line 189)
+* nobasealign: Pens. (line 165)
* NoFill <1>: Frames and pictures. (line 141)
* NoFill: draw. (line 26)
* NoMargin: draw. (line 42)
-* NoMargin3: three. (line 492)
+* NoMargin3: three. (line 521)
* none: Files. (line 59)
* None: draw. (line 19)
-* normal: three. (line 419)
-* nosafe: Options. (line 144)
+* normal: three. (line 448)
+* nosafe: Options. (line 156)
* NOT: Arithmetic & logical.
(line 80)
* NoTicks: graph. (line 155)
@@ -8931,18 +9018,19 @@ Index
* null: Structures. (line 6)
* nullpen <1>: Frames and pictures. (line 127)
* nullpen: label. (line 14)
-* NURBS: three. (line 318)
-* O: three. (line 236)
+* NURBS: three. (line 346)
+* O: three. (line 262)
* obj: obj. (line 9)
-* oblique: three. (line 281)
-* obliqueX: three. (line 289)
-* obliqueY: three. (line 296)
-* obliqueZ: three. (line 281)
+* oblique: three. (line 307)
+* obliqueX: three. (line 315)
+* obliqueY: three. (line 322)
+* obliqueZ: three. (line 307)
* ode: ode. (line 9)
-* offset: Options. (line 148)
-* opacity: Pens. (line 218)
+* offset <1>: Options. (line 161)
+* offset: Pens. (line 112)
+* opacity: Pens. (line 219)
* open: Files. (line 11)
-* OpenGL: three. (line 119)
+* OpenGL: three. (line 122)
* operator: User-defined operators.
(line 6)
* operator --: graph. (line 31)
@@ -8957,92 +9045,94 @@ Index
* OR: Arithmetic & logical.
(line 80)
* orientation: Frames and pictures. (line 95)
-* orthographic: three. (line 300)
-* outformat: three. (line 119)
+* orthographic: three. (line 326)
+* outformat: three. (line 122)
* outprefix: Frames and pictures. (line 83)
-* output <1>: Options. (line 128)
+* output <1>: Options. (line 140)
* output: Files. (line 36)
* OutTicks: graph3. (line 34)
* overloading functions: Functions. (line 44)
-* overwrite: Pens. (line 320)
+* overwrite: Pens. (line 321)
* P: Mathematical functions.
(line 48)
* pack: label. (line 102)
* packing: Rest arguments. (line 30)
* pair <1>: Data types. (line 41)
-* pair: Tutorial. (line 17)
-* pairs: Arrays. (line 248)
-* paperheight: Configuring. (line 62)
-* papertype: Configuring. (line 62)
-* paperwidth: Configuring. (line 62)
+* pair: Tutorial. (line 49)
+* pairs: Arrays. (line 245)
+* paperheight: Configuring. (line 61)
+* papertype: Configuring. (line 61)
+* paperwidth: Configuring. (line 61)
* parametric surface: graph3. (line 100)
* parametrized curve: graph. (line 626)
-* patch-dependent colors: three. (line 75)
+* patch-dependent colors: three. (line 76)
* path <1>: flowchart. (line 74)
* path <2>: three. (line 43)
* path: Paths and guides. (line 7)
+* path markers: graph. (line 474)
* path3: three. (line 6)
-* path[]: Tutorial. (line 197)
+* path[]: Tutorial. (line 132)
* patterns <1>: patterns. (line 6)
-* patterns: Pens. (line 234)
-* pdflatex: Options. (line 128)
+* patterns: Pens. (line 235)
+* pdflatex: Options. (line 140)
* pdfviewer: Configuring. (line 6)
-* pdfviewerOptions: Options. (line 116)
+* pdfviewerOptions: Options. (line 128)
* pen: Pens. (line 6)
* PenMargin: draw. (line 42)
-* PenMargin2: three. (line 492)
-* PenMargin3: three. (line 492)
+* PenMargin2: three. (line 521)
+* PenMargin3: three. (line 521)
* PenMargins: draw. (line 42)
-* PenMargins2: three. (line 492)
-* PenMargins3: three. (line 492)
+* PenMargins2: three. (line 521)
+* PenMargins3: three. (line 521)
* perpendicular: geometry. (line 6)
-* perspective: three. (line 318)
+* perspective: three. (line 346)
* picture: Frames and pictures. (line 35)
* picture alignment: Frames and pictures. (line 205)
-* piecewisestraight: Paths and guides. (line 82)
+* piecewisestraight: Paths and guides. (line 81)
* Pl: Mathematical functions.
(line 48)
* plain: plain. (line 6)
-* planar: three. (line 83)
-* plane: three. (line 263)
-* planeproject: three. (line 416)
-* point <1>: three. (line 433)
-* point: Paths and guides. (line 85)
+* planar: three. (line 84)
+* plane: three. (line 289)
+* planeproject: three. (line 445)
+* point <1>: three. (line 462)
+* point: Paths and guides. (line 84)
* polar: Data types. (line 119)
* polargraph: graph. (line 90)
* polygon: graph. (line 474)
* pop: Arrays. (line 39)
* Portrait: Frames and pictures. (line 95)
-* postcontrol <1>: three. (line 433)
-* postcontrol: Paths and guides. (line 130)
+* postcontrol <1>: three. (line 462)
+* postcontrol: Paths and guides. (line 129)
* postfix operators: Self & prefix operators.
(line 19)
* postscript: Frames and pictures. (line 267)
-* PostScript fonts: Pens. (line 206)
-* PostScript subpath: Tutorial. (line 197)
+* PostScript fonts: Pens. (line 207)
+* PostScript subpath: Tutorial. (line 132)
* pow10: Mathematical functions.
(line 6)
-* prc: three. (line 197)
-* precision: Files. (line 86)
-* precontrol <1>: three. (line 433)
-* precontrol: Paths and guides. (line 123)
+* prc: three. (line 223)
+* precision: Files. (line 89)
+* precontrol <1>: three. (line 462)
+* precontrol: Paths and guides. (line 122)
* prefix operators: Self & prefix operators.
(line 6)
* private: Structures. (line 6)
* programming: Programming. (line 6)
* pstoedit: PostScript to Asymptote.
(line 6)
+* psview: Microsoft Windows. (line 16)
* psviewer: Configuring. (line 6)
-* psviewerOptions: Options. (line 116)
-* pt: Tutorial. (line 63)
+* psviewerOptions: Options. (line 128)
+* pt: Tutorial. (line 61)
* public: Structures. (line 6)
* push: Arrays. (line 39)
-* python: Configuring. (line 27)
-* Python usage: Interactive mode. (line 58)
-* quadraticroots: Arrays. (line 311)
+* Python usage: Interactive mode. (line 61)
+* quadraticroots: Arrays. (line 308)
* quarticroots: math. (line 22)
* quit <1>: Debugger. (line 54)
-* quit: Interactive mode. (line 37)
+* quit <2>: Interactive mode. (line 40)
+* quit: Tutorial. (line 35)
* quote: Import. (line 119)
* quotient: Arithmetic & logical.
(line 6)
@@ -9050,19 +9140,17 @@ Index
* radialshade: fill. (line 49)
* radians: Mathematical functions.
(line 17)
-* radius <1>: three. (line 433)
-* radius: Paths and guides. (line 119)
+* radius <1>: three. (line 462)
+* radius: Paths and guides. (line 118)
* Rainbow: palette. (line 12)
* rand: Mathematical functions.
(line 39)
* randMax: Mathematical functions.
(line 39)
-* read1: Arrays. (line 386)
-* read2: Arrays. (line 386)
-* read3: Arrays. (line 386)
+* read: Arrays. (line 384)
* reading: Files. (line 11)
* reading string arrays: Arrays. (line 353)
-* readline: Files. (line 128)
+* readline: Files. (line 131)
* real: Data types. (line 33)
* realDigits: Data types. (line 33)
* realEpsilon: Data types. (line 33)
@@ -9073,24 +9161,24 @@ Index
* recursion: Functions. (line 88)
* reflect: Transforms. (line 51)
* Relative: label. (line 52)
-* relpoint: Paths and guides. (line 157)
-* reltime: Paths and guides. (line 153)
+* relpoint: Paths and guides. (line 156)
+* reltime: Paths and guides. (line 152)
* remainder: Mathematical functions.
(line 6)
-* rename: Files. (line 145)
-* render <1>: Options. (line 128)
-* render: three. (line 119)
+* rename: Files. (line 148)
+* render <1>: Options. (line 140)
+* render: three. (line 122)
* replace: Data types. (line 252)
-* resetdefaultpen: Pens. (line 349)
+* resetdefaultpen: Pens. (line 350)
* rest arguments: Rest arguments. (line 6)
* restore: Frames and pictures. (line 261)
* restricted: Structures. (line 6)
* return: Debugger. (line 48)
-* reverse <1>: three. (line 433)
-* reverse <2>: Arrays. (line 149)
-* reverse <3>: Paths and guides. (line 164)
+* reverse <1>: three. (line 462)
+* reverse <2>: Arrays. (line 146)
+* reverse <3>: Paths and guides. (line 163)
* reverse: Data types. (line 248)
-* rewind: Files. (line 86)
+* rewind: Files. (line 89)
* rfind: Data types. (line 229)
* rgb: Pens. (line 30)
* Riemann zeta function: Mathematical functions.
@@ -9098,58 +9186,60 @@ Index
* Right: graph. (line 277)
* RightSide: label. (line 62)
* RightTicks: graph. (line 155)
-* RightView: three. (line 340)
+* RightView: three. (line 369)
* Rotate: label. (line 37)
* Rotate(pair z): label. (line 40)
* round: Mathematical functions.
(line 26)
-* roundcap: Pens. (line 125)
+* roundcap: Pens. (line 126)
* roundedpath: roundedpath. (line 6)
-* roundjoin: Pens. (line 134)
+* roundjoin: Pens. (line 135)
* roundrectangle: flowchart. (line 62)
* RPM: UNIX binary distributions.
(line 6)
* runtime imports: Import. (line 101)
* Russian: unicode. (line 7)
-* S: Tutorial. (line 94)
-* safe: Options. (line 144)
+* S: Tutorial. (line 104)
+* safe: Options. (line 156)
* save: Frames and pictures. (line 258)
-* saveline: Files. (line 128)
-* scale: three. (line 395)
+* saveline: Files. (line 131)
+* scale: three. (line 424)
* Scale: graph. (line 688)
* scale <1>: graph. (line 672)
-* scale: Transforms. (line 39)
+* scale <2>: Transforms. (line 39)
+* scale: Pens. (line 112)
* Scale: label. (line 46)
-* scale3: three. (line 392)
+* scale3: three. (line 421)
* scaled graph: graph. (line 653)
* scientific graph: graph. (line 386)
-* scroll: Files. (line 102)
-* search: Arrays. (line 167)
+* scroll: Files. (line 105)
+* search: Arrays. (line 164)
* search paths: Search paths. (line 6)
* Seascape: Frames and pictures. (line 100)
* secondary axis: graph. (line 803)
* secondaryX: graph. (line 803)
* secondaryY: graph. (line 803)
* seconds: Data types. (line 299)
-* seek: Files. (line 86)
-* seekeof: Files. (line 86)
+* seek: Files. (line 89)
+* seekeof: Files. (line 89)
* segmentation fault: Help. (line 33)
* self operators: Self & prefix operators.
(line 6)
-* sequence: Arrays. (line 131)
-* settings <1>: Options. (line 101)
-* settings: Configuring. (line 21)
+* sequence: Arrays. (line 128)
+* settings <1>: Options. (line 113)
+* settings: Configuring. (line 23)
* sgn: Mathematical functions.
(line 26)
* shading: fill. (line 32)
-* shift <1>: three. (line 380)
+* shift <1>: three. (line 409)
* shift: Transforms. (line 27)
* Shift: label. (line 34)
* shiftless: Transforms. (line 53)
* shipout: Frames and pictures. (line 83)
-* showtarget: three. (line 300)
+* showtarget: three. (line 326)
* Si: Mathematical functions.
(line 48)
+* signedint: Files. (line 71)
* SimpleHead: draw. (line 26)
* simplex: simplex. (line 6)
* simpson: Mathematical functions.
@@ -9158,31 +9248,33 @@ Index
(line 20)
* sin: Mathematical functions.
(line 6)
-* single: Files. (line 71)
+* single precision: Files. (line 71)
+* singleint: Files. (line 71)
+* singlereal: Files. (line 71)
* sinh: Mathematical functions.
(line 6)
-* size <1>: Options. (line 128)
-* size <2>: three. (line 433)
+* size <1>: Options. (line 140)
+* size <2>: three. (line 462)
* size <3>: Frames and pictures. (line 43)
-* size: Paths and guides. (line 71)
-* size3: three. (line 225)
+* size: Paths and guides. (line 70)
+* size3: three. (line 251)
* slant: Transforms. (line 45)
* Slant: label. (line 43)
* sleep: Data types. (line 329)
-* slice: Paths and guides. (line 233)
+* slice: Paths and guides. (line 232)
* slices: Slices. (line 6)
* slide: slide. (line 6)
* slopefield: slopefield. (line 6)
* solid: Pens. (line 92)
* solids: solids. (line 9)
-* solve: Arrays. (line 265)
-* sort: Arrays. (line 190)
+* solve: Arrays. (line 262)
+* sort: Arrays. (line 187)
* Spline <1>: graph3. (line 100)
* Spline: graph. (line 34)
* split: Data types. (line 261)
* sqrt: Mathematical functions.
(line 6)
-* squarecap: Pens. (line 125)
+* squarecap: Pens. (line 126)
* srand: Mathematical functions.
(line 39)
* stack overflow <1>: Help. (line 33)
@@ -9194,157 +9286,155 @@ Index
* step: Debugger. (line 39)
* stickframe: markers. (line 16)
* stop: Debugger. (line 10)
-* straight: three. (line 433)
+* straight: three. (line 462)
* Straight: graph. (line 31)
-* straight: Paths and guides. (line 78)
+* straight: Paths and guides. (line 77)
* strftime: Data types. (line 291)
* string: Data types. (line 179)
* stroke: fill. (line 36)
-* strokepath: Paths and guides. (line 290)
+* strokepath: Paths and guides. (line 289)
* strptime: Data types. (line 299)
* struct: Structures. (line 6)
* structures: Structures. (line 6)
-* subpath <1>: three. (line 433)
-* subpath: Paths and guides. (line 167)
+* subpath <1>: three. (line 462)
+* subpath: Paths and guides. (line 166)
* subpictures: Frames and pictures. (line 103)
* substr: Data types. (line 244)
* Subversion: Subversion. (line 6)
-* sum: Arrays. (line 219)
-* superpath: Tutorial. (line 197)
-* Suppress: Pens. (line 327)
-* SuppressQuiet: Pens. (line 331)
+* sum: Arrays. (line 216)
+* superpath: Tutorial. (line 132)
+* Suppress: Pens. (line 328)
+* SuppressQuiet: Pens. (line 332)
* surface <1>: graph3. (line 100)
* surface: three. (line 47)
* SVN: Subversion. (line 6)
-* system <1>: Options. (line 144)
-* system: Files. (line 153)
+* system <1>: Options. (line 156)
+* system: Files. (line 156)
* syzygy: syzygy. (line 6)
* tab: Files. (line 59)
-* tab completion: Tutorial. (line 21)
+* tab completion: Tutorial. (line 35)
* Tan: Mathematical functions.
(line 20)
* tan: Mathematical functions.
(line 6)
* tanh: Mathematical functions.
(line 6)
-* target: three. (line 300)
-* tell: Files. (line 86)
+* target: three. (line 326)
+* tell: Files. (line 89)
* tension <1>: three. (line 6)
-* tension: Tutorial. (line 165)
-* tensionSpecifier: Paths and guides. (line 381)
+* tension: Bezier curves. (line 56)
+* tensionSpecifier: Paths and guides. (line 380)
* tensor product shading: fill. (line 74)
* tensorshade: fill. (line 74)
-* tex <1>: Options. (line 128)
+* tex <1>: Options. (line 140)
* tex: Frames and pictures. (line 274)
-* TeX fonts: Pens. (line 197)
+* TeX fonts: Pens. (line 198)
* TeX string: Data types. (line 179)
-* texcommand: Configuring. (line 68)
-* texdvicommand: Configuring. (line 68)
+* texcommand: Configuring. (line 67)
* TeXHead: draw. (line 26)
-* TeXHead3: three. (line 476)
+* TeXHead3: three. (line 505)
* texpath <1>: label. (line 116)
-* texpath: Configuring. (line 68)
+* texpath: Configuring. (line 67)
* texpreamble: Frames and pictures. (line 282)
* texreset: Frames and pictures. (line 285)
* textbook graph: graph. (line 361)
* tgz: UNIX binary distributions.
(line 6)
-* thick: three. (line 104)
-* thin: three. (line 104)
+* thick: three. (line 105)
+* thin: three. (line 105)
* this: Structures. (line 6)
* three: three. (line 6)
* tick: graph. (line 332)
* Ticks: graph. (line 155)
* ticks: graph. (line 155)
* tildeframe: markers. (line 26)
-* tile: Pens. (line 247)
-* tilings: Pens. (line 234)
+* tile: Pens. (line 248)
+* tilings: Pens. (line 235)
* time: Data types. (line 291)
-* times: Paths and guides. (line 202)
+* times: Paths and guides. (line 201)
* Top: graph. (line 131)
-* TopView: three. (line 340)
+* TopView: three. (line 369)
* trace: Debugger. (line 51)
* trailingzero: graph. (line 169)
-* transform <1>: three. (line 407)
+* transform <1>: three. (line 436)
* transform: Transforms. (line 6)
-* transform3: three. (line 376)
-* transparency: Pens. (line 218)
-* transpose: Arrays. (line 211)
+* transform3: three. (line 405)
+* transparency: Pens. (line 219)
+* transpose: Arrays. (line 208)
* tree: tree. (line 9)
* trembling: trembling. (line 6)
* triangle: geometry. (line 6)
* triangulate: contour. (line 156)
-* tridiagonal: Arrays. (line 268)
+* tridiagonal: Arrays. (line 265)
* trigonometric integrals: Mathematical functions.
(line 48)
* triple: Data types. (line 108)
* TrueMargin: draw. (line 42)
-* TrueMargin3: three. (line 492)
+* TrueMargin3: three. (line 521)
* tube <1>: tube. (line 6)
-* tube: three. (line 104)
+* tube: three. (line 105)
* tutorial: Tutorial. (line 6)
* typedef <1>: Functions. (line 36)
* typedef: Data types. (line 339)
-* undefined: Paths and guides. (line 264)
+* undefined: Paths and guides. (line 263)
* UnFill: Frames and pictures. (line 152)
* unfill: fill. (line 105)
* UnFill: draw. (line 26)
* unicode: unicode. (line 6)
-* uniform: Arrays. (line 158)
+* uniform: Arrays. (line 155)
* Uninstall: Uninstall. (line 6)
* unit: Data types. (line 78)
-* unitbox <1>: three. (line 269)
-* unitbox: Tutorial. (line 218)
-* unitcircle <1>: three. (line 236)
-* unitcircle: Tutorial. (line 110)
+* unitbox <1>: three. (line 295)
+* unitbox: Tutorial. (line 153)
+* unitcircle <1>: three. (line 262)
+* unitcircle: Tutorial. (line 126)
* unitrand: Mathematical functions.
(line 39)
* unitsize <1>: Frames and pictures. (line 64)
-* unitsize: Tutorial. (line 73)
+* unitsize: Tutorial. (line 84)
* UNIX binary distributions: UNIX binary distributions.
(line 6)
* unpacking: Rest arguments. (line 39)
* unravel: Import. (line 31)
-* up: three. (line 300)
+* up: three. (line 326)
* update: Files. (line 36)
* UpsideDown: Frames and pictures. (line 95)
* usepackage: Frames and pictures. (line 287)
-* user coordinates: Tutorial. (line 73)
+* user coordinates: Tutorial. (line 84)
* user-defined operators: User-defined operators.
(line 6)
* usleep: Data types. (line 332)
* variable initializers: Variable initializers.
(line 6)
* vectorfield: graph. (line 965)
-* vectorfield3: graph3. (line 156)
-* vectorization: Arrays. (line 325)
+* vectorfield3: graph3. (line 159)
+* vectorization: Arrays. (line 322)
* verbatim: Frames and pictures. (line 267)
-* vertex-dependent colors: three. (line 75)
+* vertex-dependent colors: three. (line 76)
* Vertical: flowchart. (line 74)
* viewportheight: LaTeX usage. (line 32)
-* viewportmargin: three. (line 228)
-* viewportsize: three. (line 228)
+* viewportmargin: three. (line 254)
+* viewportsize: three. (line 254)
* viewportwidth: LaTeX usage. (line 32)
-* views: three. (line 197)
+* views: three. (line 223)
* vim: Editing modes. (line 33)
* virtual functions: Structures. (line 189)
* void: Data types. (line 10)
-* W: Tutorial. (line 94)
-* whatever: Paths and guides. (line 228)
+* W: Tutorial. (line 104)
+* whatever: Paths and guides. (line 227)
* Wheel: palette. (line 22)
* wheel mouse: GUI. (line 6)
* while: Programming. (line 29)
* white-space string delimiter mode: Arrays. (line 353)
* width: LaTeX usage. (line 32)
-* windingnumber: Paths and guides. (line 264)
+* windingnumber: Paths and guides. (line 263)
* word: Arrays. (line 353)
-* write <1>: Arrays. (line 394)
+* write <1>: Arrays. (line 393)
* write: Files. (line 51)
-* X: three. (line 236)
-* xasy <1>: GUI. (line 6)
-* xasy: Configuring. (line 68)
+* X: three. (line 262)
+* xasy: GUI. (line 6)
* xaxis3: graph3. (line 7)
-* xelatex <1>: Options. (line 128)
+* xelatex <1>: Options. (line 140)
* xelatex: embed. (line 10)
* xequals: graph. (line 284)
* XEquals: graph. (line 270)
@@ -9355,14 +9445,14 @@ Index
* xoutput: Files. (line 71)
* xpart: Data types. (line 89)
* xscale: Transforms. (line 33)
-* xscale3: three. (line 383)
+* xscale3: three. (line 412)
* xtick: graph. (line 332)
* XYEquals: graph3. (line 20)
* XYZero: graph3. (line 20)
* XZEquals: graph3. (line 20)
* XZero: graph. (line 265)
* XZZero: graph3. (line 20)
-* Y <1>: three. (line 236)
+* Y <1>: three. (line 262)
* Y: Mathematical functions.
(line 6)
* yaxis3: graph3. (line 7)
@@ -9371,12 +9461,12 @@ Index
* ylimits: graph. (line 626)
* ypart: Data types. (line 92)
* yscale: Transforms. (line 36)
-* yscale3: three. (line 386)
+* yscale3: three. (line 415)
* ytick: graph. (line 332)
* YZEquals: graph3. (line 20)
* YZero: graph. (line 119)
* YZZero: graph3. (line 20)
-* Z: three. (line 236)
+* Z: three. (line 262)
* zaxis3: graph3. (line 7)
* zero_Ai: Mathematical functions.
(line 48)
@@ -9388,11 +9478,11 @@ Index
(line 48)
* zero_J: Mathematical functions.
(line 48)
-* zerowinding: Pens. (line 148)
+* zerowinding: Pens. (line 149)
* zeta: Mathematical functions.
(line 48)
* zpart: Data types. (line 161)
-* zscale3: three. (line 389)
+* zscale3: three. (line 418)
* |: Arithmetic & logical.
(line 62)
* ||: Arithmetic & logical.
@@ -9402,144 +9492,145 @@ Index

Tag Table:
Node: Top574
-Node: Description6760
-Node: Installation10175
-Node: UNIX binary distributions11223
-Node: MacOS X binary distributions12329
-Node: Microsoft Windows13277
-Node: Configuring14447
-Node: Search paths18640
-Node: Compiling from UNIX source19320
-Ref: multisampling19909
-Node: Editing modes22335
-Node: Subversion24535
-Node: Uninstall24996
-Node: Tutorial25346
-Ref: unitcircle29089
-Ref: Bezier29298
-Node: Drawing commands34357
-Node: draw36066
-Ref: arrows37214
-Node: fill42439
-Ref: gradient shading43483
-Node: clip47676
-Node: label48268
-Ref: Label48967
-Node: Programming54711
-Ref: array iteration55528
-Node: Data types56610
-Ref: format65507
-Node: Paths and guides68971
-Ref: circle69225
-Ref: arctime74570
-Ref: extension78435
-Node: Pens85118
-Ref: fillrule92263
-Ref: basealign93160
-Ref: transparency95985
-Ref: makepen99428
-Ref: overwrite100266
-Node: Transforms101476
-Node: Frames and pictures103267
-Ref: envelope104408
-Ref: size105491
-Ref: unitsize106478
-Ref: shipout107538
-Ref: filltype109846
-Ref: add112829
-Ref: add about113775
-Ref: tex116720
-Node: Files117594
-Ref: cd118559
-Ref: scroll122940
-Node: Variable initializers125983
-Node: Structures128278
-Node: Operators135620
-Node: Arithmetic & logical135934
-Node: Self & prefix operators137831
-Node: User-defined operators138619
-Node: Implicit scaling139530
-Node: Functions140093
-Ref: stack overflow142846
-Node: Default arguments143410
-Node: Named arguments144149
-Node: Rest arguments146311
-Node: Mathematical functions149121
-Node: Arrays153726
-Ref: sort160907
-Ref: tridiagonal163198
-Ref: solve164426
-Node: Slices168553
-Node: Casts172447
-Node: Import174413
-Node: Static179643
-Node: LaTeX usage182539
-Node: Base modules187980
-Node: plain190480
-Node: simplex191132
-Node: math191405
-Node: interpolate192504
-Node: geometry192783
-Node: trembling193387
-Node: stats193748
-Node: patterns194008
-Node: markers194244
-Node: tree196027
-Node: binarytree196215
-Node: drawtree196804
-Node: syzygy197008
-Node: feynman197282
-Node: roundedpath197557
-Node: animation197840
-Ref: animate198259
-Node: embed199398
-Node: slide201187
-Node: MetaPost201527
-Node: unicode202243
-Node: latin1203131
-Node: babel203499
-Node: labelpath203728
-Node: labelpath3204548
-Node: annotate204859
-Node: CAD205330
-Node: graph205640
-Ref: ticks212478
-Ref: pathmarkers225626
-Ref: marker226091
-Ref: markuniform226442
-Ref: errorbars228233
-Ref: automatic scaling232289
-Node: palette242922
-Ref: images243040
-Ref: image247211
-Ref: logimage247689
-Ref: penimage248495
-Node: three248939
-Ref: PostScript3D270300
-Node: obj271992
-Node: graph3272244
-Ref: GaussianSurface277205
-Node: grid3278290
-Node: solids279030
-Node: tube279978
-Node: flowchart282209
-Node: contour286708
-Node: contour3291737
-Node: slopefield292044
-Node: ode293481
-Node: Options293741
-Ref: configuration file298908
-Ref: settings298908
-Ref: convert299979
-Node: Interactive mode302738
-Ref: history304362
-Node: GUI305667
-Node: GUI Installation306170
-Node: GUI Usage307696
-Node: PostScript to Asymptote308599
-Node: Help309742
-Node: Debugger311469
-Node: Credits313254
-Node: Index314167
+Node: Description6833
+Node: Installation10334
+Node: UNIX binary distributions11387
+Node: MacOS X binary distributions12493
+Node: Microsoft Windows13377
+Ref: psview14087
+Node: Configuring15008
+Node: Search paths19228
+Node: Compiling from UNIX source20025
+Ref: multisampling20614
+Node: Editing modes23032
+Node: Subversion25464
+Node: Uninstall25927
+Node: Tutorial26277
+Ref: unitcircle30503
+Node: Drawing commands32484
+Node: draw34195
+Ref: arrows35343
+Node: fill40586
+Ref: gradient shading41630
+Node: clip45823
+Node: label46415
+Ref: Label47114
+Node: Bezier curves52839
+Node: Programming56416
+Ref: array iteration57230
+Node: Data types58312
+Ref: format67213
+Node: Paths and guides70677
+Ref: circle70931
+Ref: arctime76288
+Ref: extension80153
+Node: Pens86836
+Ref: fillrule94080
+Ref: basealign94977
+Ref: transparency97802
+Ref: makepen101245
+Ref: overwrite102083
+Node: Transforms103293
+Node: Frames and pictures105084
+Ref: envelope106225
+Ref: size107308
+Ref: unitsize108295
+Ref: shipout109355
+Ref: filltype111688
+Ref: add114657
+Ref: add about115603
+Ref: tex118548
+Node: Files119422
+Ref: cd120387
+Ref: scroll124856
+Node: Variable initializers127929
+Node: Structures130224
+Node: Operators137676
+Node: Arithmetic & logical137990
+Node: Self & prefix operators139887
+Node: User-defined operators140675
+Node: Implicit scaling141586
+Node: Functions142149
+Ref: stack overflow144902
+Node: Default arguments145466
+Node: Named arguments146205
+Node: Rest arguments148367
+Node: Mathematical functions151177
+Node: Arrays155782
+Ref: sort162842
+Ref: tridiagonal165133
+Ref: solve166361
+Node: Slices170558
+Node: Casts174451
+Node: Import176417
+Node: Static181647
+Node: LaTeX usage184543
+Node: Base modules189988
+Node: plain192488
+Node: simplex193140
+Node: math193413
+Node: interpolate194512
+Node: geometry194791
+Node: trembling195385
+Node: stats195736
+Node: patterns195996
+Node: markers196232
+Node: tree198015
+Node: binarytree198203
+Node: drawtree198792
+Node: syzygy198996
+Node: feynman199270
+Node: roundedpath199545
+Node: animation199828
+Ref: animate200245
+Node: embed201384
+Node: slide203173
+Node: MetaPost203513
+Node: unicode204229
+Node: latin1205117
+Node: babel205485
+Node: labelpath205714
+Node: labelpath3206534
+Node: annotate206845
+Node: CAD207316
+Node: graph207626
+Ref: ticks214450
+Ref: pathmarkers227558
+Ref: marker228023
+Ref: markuniform228374
+Ref: errorbars230165
+Ref: automatic scaling234221
+Node: palette244867
+Ref: images244985
+Ref: image249156
+Ref: logimage249634
+Ref: penimage250440
+Node: three250884
+Ref: PostScript3D273456
+Node: obj275148
+Node: graph3275400
+Ref: GaussianSurface280525
+Node: grid3281610
+Node: solids282350
+Node: tube283298
+Node: flowchart285533
+Node: contour290032
+Node: contour3295063
+Node: slopefield295370
+Node: ode296807
+Node: Options297067
+Ref: configuration file302880
+Ref: settings302880
+Ref: convert303975
+Node: Interactive mode306764
+Ref: history308429
+Node: GUI309734
+Node: GUI installation310237
+Node: GUI usage311375
+Node: PostScript to Asymptote312278
+Node: Help313034
+Node: Debugger314770
+Node: Credits316555
+Node: Index317468

End Tag Table