summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/doc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-09-28 22:01:49 +0000
committerKarl Berry <karl@freefriends.org>2009-09-28 22:01:49 +0000
commit4ffd67ef7a9a1a465d2a8cc35a785edb149de24a (patch)
tree3d4edc7989e1207e31f6df6da1cb6cc1172a0cd1 /Build/source/utils/asymptote/doc
parente2e3d91772c578b56fb93aa7c6b6e519034ae2a1 (diff)
asymptote 1.87
git-svn-id: svn://tug.org/texlive/trunk@15535 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/doc')
-rw-r--r--Build/source/utils/asymptote/doc/CAD.pdfbin67399 -> 67399 bytes
-rw-r--r--Build/source/utils/asymptote/doc/FAQ/asy-faq.info2
-rw-r--r--Build/source/utils/asymptote/doc/asy.110
-rw-r--r--Build/source/utils/asymptote/doc/asymptote.pdfbin1567244 -> 1568843 bytes
-rw-r--r--Build/source/utils/asymptote/doc/asymptote.texi429
-rw-r--r--Build/source/utils/asymptote/doc/bigsquare.asy2
-rw-r--r--Build/source/utils/asymptote/doc/options4
-rw-r--r--Build/source/utils/asymptote/doc/png/asymptote.info1216
-rw-r--r--Build/source/utils/asymptote/doc/quartercircle.asy2
9 files changed, 838 insertions, 827 deletions
diff --git a/Build/source/utils/asymptote/doc/CAD.pdf b/Build/source/utils/asymptote/doc/CAD.pdf
index 13a7826f8cf..c0710dfa00b 100644
--- a/Build/source/utils/asymptote/doc/CAD.pdf
+++ b/Build/source/utils/asymptote/doc/CAD.pdf
Binary files differ
diff --git a/Build/source/utils/asymptote/doc/FAQ/asy-faq.info b/Build/source/utils/asymptote/doc/FAQ/asy-faq.info
index ca302152cf1..a32e2e9a481 100644
--- a/Build/source/utils/asymptote/doc/FAQ/asy-faq.info
+++ b/Build/source/utils/asymptote/doc/FAQ/asy-faq.info
@@ -9,7 +9,7 @@ END-INFO-DIR-ENTRY
File: $prefix.info, Node: Top, Next: Question 1.1, Up: (dir)
ASYMPTOTE FREQUENTLY ASKED QUESTIONS
- 06 Sep 2009
+ 28 Sep 2009
This is the list of Frequently Asked Questions about Asymptote (asy).
diff --git a/Build/source/utils/asymptote/doc/asy.1 b/Build/source/utils/asymptote/doc/asy.1
index 5bd2e78daa0..5dfac3a04f2 100644
--- a/Build/source/utils/asymptote/doc/asy.1
+++ b/Build/source/utils/asymptote/doc/asy.1
@@ -62,6 +62,9 @@ Mask fpu exceptions in batch mode [false].
.B \-batchView
View output in batch mode [false].
.TP
+.B \-billboard
+Force unnamed labels to always face viewer [false].
+.TP
.B \-bw
Convert all colors to black and white [false].
.TP
@@ -94,6 +97,7 @@ Exit interactive mode on EOF [true].
.TP
.B \-fitscreen
Fit rendered image to screen [true].
+-framerate frames/sec Animation speed [30]
.TP
.B \-globalwrite
Allow write to other directory [false].
@@ -107,6 +111,9 @@ Show summary of options; command-line only.
.B \-historylines n
Retain n lines of history [1000].
.TP
+.B \-hyperrefOptions str
+LaTeX hyperref package options [setpagesize=false,unicode].
+.TP
.B \-iconify
Iconify rendering window [false].
.TP
@@ -200,6 +207,9 @@ Render 3D graphics using n pixels per bp (-1=auto) [-1].
.B \-resizestep step
Resize step [1.2].
.TP
+.B \-reverse
+reverse 3D animations [false].
+.TP
.B \-rgb
Convert cmyk colors to rgb [false].
.TP
diff --git a/Build/source/utils/asymptote/doc/asymptote.pdf b/Build/source/utils/asymptote/doc/asymptote.pdf
index 951444d6fce..cb9f66d0168 100644
--- a/Build/source/utils/asymptote/doc/asymptote.pdf
+++ b/Build/source/utils/asymptote/doc/asymptote.pdf
Binary files differ
diff --git a/Build/source/utils/asymptote/doc/asymptote.texi b/Build/source/utils/asymptote/doc/asymptote.texi
index 39467931e05..6645b03a2cd 100644
--- a/Build/source/utils/asymptote/doc/asymptote.texi
+++ b/Build/source/utils/asymptote/doc/asymptote.texi
@@ -51,6 +51,7 @@ file LICENSE in the top-level source directory).
* Installation:: Downloading and installing
* Tutorial:: Getting started
* Drawing commands:: Four primitive graphics commands
+* Bezier curves:: Path connectors and direction specifiers
* Programming:: The @code{Asymptote} vector graphics language
* LaTeX usage:: Embedding @code{Asymptote} commands within @code{LaTeX}
* Base modules:: Base modules shipped with @code{Asymptote}
@@ -165,8 +166,8 @@ Base modules
Graphical User Interface
-* GUI Installation:: Installing @code{xasy}
-* GUI Usage::
+* GUI installation:: Installing @code{xasy}
+* GUI usage::
@end detailmenu
@end menu
@@ -282,7 +283,7 @@ We recommend subscribing to new release announcements at
@noindent
Users may also wish to monitor the @code{Asymptote} forum:
@quotation
-@url{http://sourceforge.net/forum/monitor.php?forum_id=409349}
+@url{http://sourceforge.net/projects/asymptote/forums/forum/409349}
@end quotation
@noindent
@@ -483,6 +484,7 @@ configuration variables @code{paperwidth} and @code{paperheight}.
@cindex @code{texpath}
@cindex @code{texcommand}
@cindex @code{dvips}
+@cindex @code{dvisvg}
@cindex @code{convert}
@cindex @code{display}
@cindex @code{animate}
@@ -492,6 +494,7 @@ The following configuration variables normally do not require adjustment:
texpath
texcommand
dvips
+dvisvg
convert
display
animate
@@ -766,61 +769,61 @@ make uninstall
@node Tutorial
@chapter Tutorial
@cindex tutorial
-@emph{An excellent user-written @code{Asymptote} tutorial is also available
-from}
-
-@url{http://www.artofproblemsolving.com/Wiki/index.php/Asymptote:_Basics}
+@cindex batch mode
+To draw a line from coordinate (0,0) to coordinate (100,100),
+create a text file @code{test.asy} containing
+@verbatiminclude diagonal.asy
@noindent
-To draw a line from coordinate (0,0) to coordinate (100,100) using
-@code{Asymptote}'s interactive mode, type at the command prompt:
+Then execute the command
@verbatim
-asy
-draw((0,0)--(100,100));
+asy -V test
@end verbatim
+@noindent
+Alternatively, @code{MSDOS} users can drag and drop @code{test.asy} onto the
+Desktop @code{asy} icon (or make @code{Asymptote} the default
+application the extension @code{asy}).
+
+@noindent
+@cindex @code{-V}
+This method, known as @emph{batch mode}, outputs a @code{PostScript}
+file @code{test.eps}. The @code{-V} option opens up a @code{PostScript}
+viewer window so you can immediately view the result:
@sp 1
@center @image{diagonal}
-
@cindex @code{bp}
@cindex @code{pair}
-The units here are @code{PostScript} "big points"
-(1 @code{bp} = 1/72 @code{inch}); @code{--} means join with a linear segment.
-In @code{Asymptote} coordinates like @code{(0,0)} and
-@code{(1000,100)} are called @emph{pairs}.
+@noindent
+The @code{--} connector joins the two points @code{(0,0)} and
+@code{(100,100)} with a linear segment.
+Another method is @emph{interactive mode}, where @code{Asymptote} reads
+individual commands as they are entered by the user. To try this out, enter
+@code{Asymptote}'s interactive mode by clicking on the
+@code{Asymptote} icon or typing the command @code{asy}.
+Then type
+@verbatim
+draw((0,0)--(100,100));
+@end verbatim
+@noindent
+followed by @code{Enter}, to obtain the above image.
@cindex tab completion
@cindex arrow keys
-At this point you can type in further draw commands, which will be added
-to the displayed figure, or type @code{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 @acronym{GNU} @code{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 @ref{Interactive mode}.
-
-@cindex batch mode
-In batch mode, @code{Asymptote} reads commands directly from a
-file. To try this out, type
-@verbatiminclude diagonal.asy
-
+@cindex erase
+@cindex quit
@noindent
-into a file, say test.asy. Then execute this file with the
-@code{MSDOS} or @code{UNIX} command
+At this point you can type further @code{draw} commands, which will be added
+to the displayed figure, @code{erase} to clear the canvas,
@verbatim
-asy -V test
+input test;
@end verbatim
@noindent
-@code{MSDOS} users can drag and drop the file onto the
-Desktop @code{asy} icon or make @code{Asymptote} the
-default application for files with the extension @code{asy}.
-
-@noindent
-@cindex @code{-V}
-The @code{-V} option opens up a @code{PostScript}
-viewer window so you can immediately view the encapsulated
-@code{PostScript} output. By default the output will be written to the
-file @code{test.eps}; the prefix of the output file may be changed with
-the @code{-o} command-line option.
+to execute all of the commands contained in the file @code{test.asy},
+or @code{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 @ref{Interactive mode}.
@cindex @code{cycle}
One can draw a line with more than two points and create a cyclic path
@@ -829,9 +832,13 @@ like this square:
@sp 1
@center @image{square}
-It is often inconvenient to work directly with @code{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.
+In @code{Asymptote} coordinates like (0,0) and (100,100) are called
+@emph{pairs}. The pairs in the previous examples are expressed in
+@code{PostScript} "big points" (1 @code{bp} = 1/72 @code{inch}).
+However, it is often inconvenient to work directly in
+@code{PostScript} coordinates. The next example draws a unit square
+scaled to width 101 @code{bp} and height
+101 @code{bp}. The output is identical to that of the previous example.
@verbatim
size(101,101);
draw((0,0)--(1,0)--(1,1)--(0,1)--cycle);
@@ -840,16 +847,16 @@ draw((0,0)--(1,0)--(1,1)--(0,1)--cycle);
For convenience, the path @code{(0,0)--(1,0)--(1,1)--(0,1)--cycle}
may be replaced with the predefined variable
@code{unitsquare}, or equivalently, @code{box((0,0),(1,1))}.
-
@cindex @code{inches}
@cindex @code{cm}
@cindex @code{mm}
@cindex @code{pt}
One can also specify the size in @code{pt} (1 @code{pt} = 1/72.27 @code{inch}),
-@code{cm}, @code{mm}, or @code{inches}.
+@code{cm}, @code{mm}, or @code{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
-(@pxref{size}):
+the overall scaling will be determined by the other direction (@pxref{size}):
@verbatiminclude bigsquare.asy
@sp 1
@center @image{bigsquare}
@@ -861,12 +868,7 @@ To make the user coordinates represent multiples of exactly @code{1cm}:
unitsize(1cm);
draw(unitsquare);
@end verbatim
-
-One can also specify different @math{x} and @math{y} unit sizes:
-@verbatim
-unitsize(1cm,2cm);
-draw(unitsquare);
-@end verbatim
+@noindent
Adding labels is easy in @code{Asymptote}; one specifies the
label as a double-quoted @code{LaTeX} string, a
@@ -884,11 +886,12 @@ coordinate, and an optional alignment direction:
@code{N=(0,1)}, @code{NE=unit(N+E)}, and @code{ENE=unit(E+NE)}, etc.,
which along with the directions @code{up}, @code{down}, @code{right},
and @code{left} are defined as pairs in the @code{Asymptote} base
-module @code{plain}. A user who has a local variable named @code{E}
+module @code{plain} (a user who has a local variable named @code{E}
may access the compass direction @code{E} by prefixing it with the name
-of the module where it is defined: @code{plain.E}.
+of the module where it is defined: @code{plain.E}).
-This example draws a path that approximates a quarter circle:
+This example draws a path that approximates a quarter circle,
+terminated with an arrowhead:
@verbatiminclude quartercircle.asy
@sp 1
@center @image{quartercircle}
@@ -899,7 +902,7 @@ interconnected with
@cindex @code{--}
@cindex @code{..}
@code{--}, which denotes a straight line segment, or @code{..}, which
-denotes a cubic spline.
+denotes a cubic spline (@pxref{Bezier curves}).
@cindex @code{unitcircle}
@anchor{unitcircle}
@cindex @code{unitcircle}
@@ -910,116 +913,11 @@ connects smoothly back to the initial node, as in this approximation
path unitcircle=E..N..W..S..cycle;
@end verbatim
-@cindex Bezier
-@anchor{Bezier}
-@cindex direction specifier
-Each interior node of a cubic spline may be given a
-direction prefix or suffix @code{@{dir@}}: the direction of the pair
-@code{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 @math{z_0}, with postcontrol point
-@math{c_0}, and the node @math{z_1}, with precontrol point @math{c_1},
-is computed as the Bezier curve
-@sp 1
-@center @image{bezier,,,(1-t)^3*z_0+3t(1-t)^2*c_0+3t^2(1-t)*c_1+t^3*z_1 for 0 <=t <= 1.}
-
-As illustrated in the diagram below, the third-order midpoint (@math{m_5})
-constructed from two endpoints @math{z_0} and @math{z_1} and two control points
-@math{c_0} and @math{c_1}, is the point corresponding to @math{t=1/2} on
-the Bezier curve formed by the quadruple (@math{z_0}, @math{c_0},
-@math{c_1}, @math{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:
-@sp 1
-@center @image{bezier2}
-
-Here @math{m_0}, @math{m_1} and @math{m_2} are the first-order
-midpoints, @math{m_3} and @math{m_4} are the second-order midpoints, and
-@math{m_5} is the third-order midpoint.
-The curve is then constructed by recursively applying the algorithm to
-(@math{z_0}, @math{m_0}, @math{m_3}, @math{m_5}) and
-(@math{m_5}, @math{m_4}, @math{m_2}, @math{z_1}).
-
-In fact, an analogous property holds for points located at any
-fraction @math{t} in @math{[0,1]} of each segment, not just for
-midpoints (@math{t=1/2}).
-
-The Bezier curve constructed in this manner has the following properties:
-@itemize @bullet
-
-@item It is entirely contained in the convex hull of the given four points.
-
-@item It starts heading from the first endpoint to the first control point
-and finishes heading from the second control point to the second endpoint.
-
-@end itemize
-
-@cindex @code{controls}
-The user can specify explicit control points between two nodes like this:
-@verbatim
-draw((0,0)..controls (0,100) and (100,100)..(100,0));
-@end verbatim
-
-However, it is usually more convenient to just use the
-@code{..} operator, which tells @code{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.
-@cindex @code{tension}
-@cindex @code{and}
-@cindex @code{atleast}
-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):
-@verbatim
-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));
-@end verbatim
-
-@cindex @code{curl}
-The curl parameter specifies the curvature at the endpoints of a path
-(0 means straight; the default value of 1 means approximately circular):
-@verbatim
-draw((100,0){curl 0}..(100,100)..{curl 0}(0,100));
-@end verbatim
-
-@cindex @code{MetaPost ...@ }
-@cindex @code{::}
-The @code{MetaPost ...} path connector, which requests, when possible, an
-inflection-free curve confined to a triangle defined by the
-endpoints and directions, is implemented in @code{Asymptote} as the
-convenient abbreviation @code{::} for @code{..tension atleast 1 ..}
-(the ellipsis @code{...} is used in @code{Asymptote} to indicate a
-variable number of arguments; @pxref{Rest arguments}). For example,
-compare
-@verbatiminclude dots.asy
-@sp 1
-@center @image{dots}
-@noindent
-with
-@verbatiminclude colons.asy
-@sp 1
-@center @image{colons}
-
-@cindex @code{---}
-@cindex @code{&}
-The @code{---} connector is an abbreviation for @code{..tension atleast
-infinity..} and the @code{&} 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).
-
@cindex @code{PostScript} subpath
@cindex @code{^^}
@cindex @code{path[]}
@cindex superpath
+@noindent
An @code{Asymptote} path, being connected, is equivalent to a
@code{Postscript subpath}. The @code{^^} binary operator, which
requests that the pen be moved (without drawing or affecting
@@ -1032,6 +930,7 @@ initial point of the right-hand path, may be used to group several
@center @image{superpath}
@cindex evenodd
+@noindent
The @code{PostScript} even-odd fill rule here specifies that only the
region bounded between the two unit circles is filled (@pxref{fillrule}).
In this example, the same effect can be achieved by using the default
@@ -1043,17 +942,21 @@ filldraw(unitcircle^^reverse(g),yellow,black);
@cindex @code{unitbox}
The @code{^^} operator is used by the @code{box(triple, triple)} function in
-@code{three.asy} to construct the edges of a cube @code{unitbox}
-without retracing steps:
+the module @code{three.asy} to construct the edges of a
+cube @code{unitbox} without retracing steps (@pxref{three}):
@verbatiminclude cube.asy
@sp 1
@center @image{cube}
See section @ref{graph} (or the online @code{Asymptote} gallery and
external links posted at @url{http://asymptote.sourceforge.net}) for
-further examples, including two and three-dimensional scientific
+further examples, including two and interactive three-dimensional scientific
graphs. Additional examples have been posted by Philippe Ivaldi at
-@url{http://piprim.tuxfamily.org/asymptote/}.
+@url{http://www.piprime.fr/asymptote/}.
+A user-written @code{Asymptote} tutorial is available at
+@verbatim
+http://www.artofproblemsolving.com/Wiki/index.php/Asymptote:_Basics
+@end verbatim
@node Drawing commands
@chapter Drawing commands
@@ -1637,6 +1540,114 @@ produce a CD label:
@sp 1
@center @image{CDlabel}
@verbatiminclude CDlabel.asy
+
+@node Bezier curves
+@chapter Bezier curves
+@cindex Bezier curves
+@cindex direction specifier
+Each interior node of a cubic spline may be given a
+direction prefix or suffix @code{@{dir@}}: the direction of the pair
+@code{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 @math{z_0}, with postcontrol point
+@math{c_0}, and the node @math{z_1}, with precontrol point @math{c_1},
+is computed as the Bezier curve
+@sp 1
+@center @image{bezier,,,(1-t)^3*z_0+3t(1-t)^2*c_0+3t^2(1-t)*c_1+t^3*z_1 for 0 <=t <= 1.}
+
+As illustrated in the diagram below, the third-order midpoint (@math{m_5})
+constructed from two endpoints @math{z_0} and @math{z_1} and two control points
+@math{c_0} and @math{c_1}, is the point corresponding to @math{t=1/2} on
+the Bezier curve formed by the quadruple (@math{z_0}, @math{c_0},
+@math{c_1}, @math{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:
+@sp 1
+@center @image{bezier2}
+
+Here @math{m_0}, @math{m_1} and @math{m_2} are the first-order
+midpoints, @math{m_3} and @math{m_4} are the second-order midpoints, and
+@math{m_5} is the third-order midpoint.
+The curve is then constructed by recursively applying the algorithm to
+(@math{z_0}, @math{m_0}, @math{m_3}, @math{m_5}) and
+(@math{m_5}, @math{m_4}, @math{m_2}, @math{z_1}).
+
+In fact, an analogous property holds for points located at any
+fraction @math{t} in @math{[0,1]} of each segment, not just for
+midpoints (@math{t=1/2}).
+
+The Bezier curve constructed in this manner has the following properties:
+@itemize @bullet
+
+@item It is entirely contained in the convex hull of the given four points.
+
+@item It starts heading from the first endpoint to the first control point
+and finishes heading from the second control point to the second endpoint.
+
+@end itemize
+
+@cindex @code{controls}
+The user can specify explicit control points between two nodes like this:
+@verbatim
+draw((0,0)..controls (0,100) and (100,100)..(100,0));
+@end verbatim
+
+However, it is usually more convenient to just use the
+@code{..} operator, which tells @code{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.
+@cindex @code{tension}
+@cindex @code{and}
+@cindex @code{atleast}
+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):
+@verbatim
+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));
+@end verbatim
+
+@cindex @code{curl}
+The curl parameter specifies the curvature at the endpoints of a path
+(0 means straight; the default value of 1 means approximately circular):
+@verbatim
+draw((100,0){curl 0}..(100,100)..{curl 0}(0,100));
+@end verbatim
+
+@cindex @code{MetaPost ...@ }
+@cindex @code{::}
+The @code{MetaPost ...} path connector, which requests, when possible, an
+inflection-free curve confined to a triangle defined by the
+endpoints and directions, is implemented in @code{Asymptote} as the
+convenient abbreviation @code{::} for @code{..tension atleast 1 ..}
+(the ellipsis @code{...} is used in @code{Asymptote} to indicate a
+variable number of arguments; @pxref{Rest arguments}). For example,
+compare
+@verbatiminclude dots.asy
+@sp 1
+@center @image{dots}
+@noindent
+with
+@verbatiminclude colons.asy
+@sp 1
+@center @image{colons}
+
+@cindex @code{---}
+@cindex @code{&}
+The @code{---} connector is an abbreviation for @code{..tension atleast
+infinity..} and the @code{&} 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).
+
@node Programming
@chapter Programming
@cindex programming
@@ -2214,7 +2225,7 @@ path ellipse(pair c, real a, real b)
@end verbatim
This example illustrates the use of all five guide connectors discussed
-in @ref{Tutorial}:
+in @ref{Tutorial} and @ref{Bezier curves}:
@verbatiminclude join.asy
@sp 1
@center @image{join}
@@ -2257,7 +2268,7 @@ is returned).
@item pair point(path p, real t);
This returns the coordinates of the point between node @code{floor(t)}
and @code{floor(t)+1} corresponding to the cubic spline parameter
-@code{t-floor(t)} (@pxref{Bezier}). If @code{t} lies outside the range
+@code{t-floor(t)} (@pxref{Bezier curves}). If @code{t} lies outside the range
[0,@code{length(p)}], it is first reduced modulo @code{length(p)}
in the case where @code{p} is cyclic or else converted to the corresponding
endpoint of @code{p}.
@@ -2272,7 +2283,7 @@ two directions is returned.
@item pair dir(path p, real t, bool normalize=true);
returns the direction of the tangent to path @code{p} at the point
between node @code{floor(t)} and @code{floor(t)+1} corresponding to the
-cubic spline parameter @code{t-floor(t)} (@pxref{Bezier}).
+cubic spline parameter @code{t-floor(t)} (@pxref{Bezier curves}).
@cindex @code{accel}
@item pair accel(path p, int t, int sign=0);
@@ -3403,7 +3414,7 @@ pair min(picture pic, user=false);
pair max(picture pic, user=false);
pair size(picture pic, user=false);
@end verbatim
-calculate the @code{PostScript} bounds that picture @code{pic} would
+calculate the bounds that picture @code{pic} would
have if it were currently fit to a frame using its default size specification.
If @code{user} is @code{false} the returned value is in
@code{PostScript} coordinates, otherwise it is in user coordinates.
@@ -6061,9 +6072,9 @@ structure. Link to the documentation for the @code{geometry} module
are posted here:
@url{http://asymptote.sourceforge.net/links.html},
including an extensive set of examples,
-@url{http://piprim.tuxfamily.org/asymptote/geometry/index.html}, and an index:
+@url{http://www.piprime.fr/files/asymptote/geometry/}, and an index:
@quotation
-@url{http://piprim.tuxfamily.org/asymptote/geometry/modules/geometry.asy.index.type.html}
+@url{http://www.piprime.fr/files/asymptote/geometry/modules/geometry.asy.index.type.html}
@end quotation
@node trembling
@@ -6072,7 +6083,7 @@ including an extensive set of examples,
This module, written by Philippe Ivaldi and illustrated in the example
@code{floatingdisk.asy}, allows one to draw wavy lines, as if drawn by
hand. Further examples are posted at
-@url{http://piprim.tuxfamily.org/asymptote/trembling/index.html}
+@url{http://www.piprime.fr/files/asymptote/trembling/}
@node stats
@section @code{stats}
@@ -6573,7 +6584,7 @@ or @code{xmax} specifies that the corresponding axis limit will be
automatically determined from the picture limits.
The optional @code{arrow} argument takes the same values as in the
@code{draw} command (@pxref{arrows}). The axis is drawn before any
-existing objects in the current picture unless @code{above=true}.
+existing objects in @code{pic} unless @code{above=true}.
The axis placement is determined by one of the following @code{axis} types:
@table @code
@@ -6734,7 +6745,7 @@ or @code{ymax} specifies that the corresponding axis limit will be
automatically determined from the picture limits.
The optional @code{arrow} argument takes the same values as in the
@code{draw} command (@pxref{arrows}). The axis is drawn before any
-existing objects in the current picture unless @code{above=true}.
+existing objects in @code{pic} unless @code{above=true}.
The tick type is specified by @code{ticks} and the axis placement is
determined by one of the following @code{axis} types:
@@ -6796,7 +6807,7 @@ This convenience routine draws both @math{x} and @math{y} axes
on picture @code{pic} from @code{min} to @code{max},
with optional labels @code{xlabel} and @code{ylabel}
and any arrows specified by @code{arrow}. The axes are drawn on top of
-existing objects in the current picture only if @code{above=true}.
+existing objects in @code{pic} only if @code{above=true}.
@item
@verbatim
@@ -6814,7 +6825,7 @@ The optional integer array @code{divisor} specifies what tick divisors
to try in the attempt to produce uncrowded tick labels. A @code{true}
value for the flag @code{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 @code{above=true}.
+any existing objects in @code{pic} unless @code{above=true}.
The tick locator @code{ticklocate} is constructed by the routine
@verbatim
ticklocate ticklocate(real a, real b, autoscaleT S=defaultS,
@@ -7560,6 +7571,9 @@ The keyboard shortcuts are:
@item m: rendering mode (solid/mesh/patch)
@item e: export
@item c: show camera parameters
+@item p: play animation
+@item r: reverse animation
+@item : step animation
@item +: expand
@item =: expand
@item >: expand
@@ -8235,7 +8249,7 @@ as illustrated in the examples @code{vectorfield3.asy} and
This module, contributed by Philippe Ivaldi, can be used for drawing
3D grids. Here is an example (further examples can be found in
-@code{grid3.asy} and at @url{http://piprim.tuxfamily.org/asymptote/grid3/}):
+@code{grid3.asy} and at @url{http://www.piprime.fr/files/asymptote/grid3/}):
@verbatiminclude grid3xyz.asy
@sp 1
@center @image{grid3xyz}
@@ -8328,7 +8342,7 @@ shading behaviour is the default shading behavior for a surface.
An example of @code{tube} is provided in the file
@code{trefoilknot.asy}. Further examples can be found at
-@url{http://piprim.tuxfamily.org/asymptote/tube/}.
+@url{http://www.piprime.fr/files/asymptote/tube/}.
@node flowchart
@section @code{flowchart}
@@ -8604,7 +8618,7 @@ implements a number of explicit numerical integration schemes for
ordinary differential equations.
@node Options
-@chapter Options
+@chapter Command-line options
@cindex options
@cindex command-line options
Type @code{asy -h} to see the full list of command-line options
@@ -8800,6 +8814,9 @@ and must be entered immediately after the prompt:
@cindex @code{help}
@item help
view the manual;
+@item erase
+erase @code{currentpicture};
+@cindex @code{input}
@item reset
reset the @code{Asymptote} environment to its initial state, except for
changes to the settings module (@pxref{settings}), the current directory
@@ -8869,12 +8886,12 @@ preliminary Graphical User Interface (@acronym{GUI}) @code{xasy} included with
The modified figure can then be saved as a normal @code{Asymptote} file.
@menu
-* GUI Installation:: Installing @code{xasy}
-* GUI Usage::
+* GUI installation:: Installing @code{xasy}
+* GUI usage::
@end menu
-@node GUI Installation
-@section GUI Installation
+@node GUI installation
+@section GUI installation
@cindex GUI installation
As @code{xasy} is written in the interactive scripting language
@@ -8911,8 +8928,8 @@ cd Imaging-1.1.7b1
python setup.py install
@end verbatim
-@node GUI Usage
-@section GUI Usage
+@node GUI usage
+@section GUI usage
@cindex GUI usage
@cindex @code{deconstruct}
@@ -8937,33 +8954,11 @@ elements will be individually deconstructed (@pxref{add}).
@node PostScript to Asymptote
@chapter @code{PostScript} to @code{Asymptote}
@cindex @code{pstoedit}
-The excellent @code{PostScript} editor @code{pstoedit} (version 3.45 or later;
-available from @url{http://pstoedit.net}) includes an
+The excellent @code{PostScript} editor @code{pstoedit} (version 3.50 or later;
+available from @url{http://sourceforge.net/projects/pstoedit/}) includes an
@code{Asymptote} backend. Unlike virtually all other @code{pstoedit}
backends, this driver includes native clipping, even-odd fill rule,
-@code{PostScript} subpath, and full image support.
-
-For full functionality, the patch @code{pstoedit-3.45asy.patch}
-in the @code{patches} directory should be applied. On @code{UNIX} systems, as
-the root user, place
-@quotation
-@url{http://prdownloads.sourceforge.net/pstoedit/pstoedit-3.45.tar.gz}
-@end quotation
-@noindent
-in the @code{Asymptote} source directory, and type:
-
-@verbatim
-tar -zxf pstoedit-3.45.tar.gz
-cd pstoedit-3.45
-patch -p1 < ../patches/pstoedit-3.45asy.patch
-autoconf
-./configure --prefix=/usr
-make install
-@end verbatim
-
-@noindent
-Then try:
-
+@code{PostScript} subpath, and full image support. Here is an example:
@noindent
@code{asy -V @value{Datadir}/doc/asymptote/examples/venn.asy}
@noindent
@@ -8992,7 +8987,7 @@ Questions on installing and using @code{Asymptote} that are not
addressed in the @acronym{FAQ} should be sent to the
@code{Asymptote} forum:
@quotation
-@url{http://sourceforge.net/forum/forum.php?forum_id=409349}
+@url{http://sourceforge.net/projects/asymptote/forums/forum/409349}
@end quotation
@noindent
Including an example that illustrates what you are trying to do will help
@@ -9309,4 +9304,4 @@ Melenchuk, Martin Wiebusch, and Stefan Knorr.
@c LocalWords: usplinetype vsplinetype leftbutton middlebutton rightbutton
@c LocalWords: rotateY rotateZ wheelup zoomin wheeldown zoomout TeXLive
@c LocalWords: viewportshift signedint signedness psview multiplatform nowarn
-@c LocalWords: singlereal singleint writeoverloaded tubegranularity
+@c LocalWords: singlereal singleint writeoverloaded tubegranularity dvisvg
diff --git a/Build/source/utils/asymptote/doc/bigsquare.asy b/Build/source/utils/asymptote/doc/bigsquare.asy
index b917dfc42cc..ae1f3046c7a 100644
--- a/Build/source/utils/asymptote/doc/bigsquare.asy
+++ b/Build/source/utils/asymptote/doc/bigsquare.asy
@@ -1,2 +1,2 @@
-size(0,3cm);
+size(3cm,3cm);
draw(unitsquare);
diff --git a/Build/source/utils/asymptote/doc/options b/Build/source/utils/asymptote/doc/options
index 6dc619a0686..41a40d5039c 100644
--- a/Build/source/utils/asymptote/doc/options
+++ b/Build/source/utils/asymptote/doc/options
@@ -13,6 +13,7 @@ Options (negate by replacing - with -no):
-autorotate Enable automatic PDF page rotation [false]
-batchMask Mask fpu exceptions in batch mode [false]
-batchView View output in batch mode [false]
+-billboard Force unnamed labels to always face viewer [false]
-bw Convert all colors to black and white [false]
-cd directory Set current directory; command-line only
-cmyk Convert rgb colors to cmyk [false]
@@ -24,10 +25,12 @@ Options (negate by replacing - with -no):
-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]
@@ -59,6 +62,7 @@ Options (negate by replacing - with -no):
-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]
diff --git a/Build/source/utils/asymptote/doc/png/asymptote.info b/Build/source/utils/asymptote/doc/png/asymptote.info
index 999220e97c7..ba90056f71c 100644
--- a/Build/source/utils/asymptote/doc/png/asymptote.info
+++ b/Build/source/utils/asymptote/doc/png/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.86.
+This file documents `Asymptote', version 1.87.
`http://asymptote.sourceforge.net'
@@ -23,7 +23,7 @@ File: asymptote.info, Node: Top, Next: Description, Up: (dir)
Asymptote
*********
-This file documents `Asymptote', version 1.86.
+This file documents `Asymptote', version 1.87.
`http://asymptote.sourceforge.net'
@@ -40,6 +40,7 @@ This file documents `Asymptote', version 1.86.
* 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
@@ -263,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
@@ -427,6 +428,7 @@ adjustment:
texpath
texcommand
dvips
+dvisvg
convert
display
animate
@@ -639,45 +641,39 @@ File: asymptote.info, Node: Tutorial, Next: Drawing commands, Prev: Installat
3 Tutorial
**********
-_An excellent user-written `Asymptote' tutorial is also available from_
+To draw a line from coordinate (0,0) to coordinate (100,100), create a
+text file `test.asy' containing
- `http://www.artofproblemsolving.com/Wiki/index.php/Asymptote:_Basics'
-
-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 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::.
-
- In batch mode, `Asymptote' reads commands directly from a file. To
-try this out, type
+The `--' connector joins the two points `(0,0)' and `(100,100)' with a
+linear segment.
+ 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'.
-
-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.
+ 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::.
One can draw a line with more than two points and create a cyclic
path like this square:
@@ -686,22 +682,25 @@ draw((0,0)--(100,0)--(100,100)--(0,100)--cycle);
-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.
+In `Asymptote' coordinates like (0,0) and (100,100) are called _pairs_.
+The pairs in the previous examples are expressed in `PostScript' "big
+points" (1 `bp' = 1/72 `inch'). However, it is often inconvenient to
+work directly in `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
+`box((0,0),(1,1))'. 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,3cm);
+size(3cm,3cm);
draw(unitsquare);
@@ -709,12 +708,7 @@ draw(unitsquare);
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);
-
- 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:
@@ -730,107 +724,27 @@ 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:
+ 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);
In general, a path is specified as a list of pairs (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 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:
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
@@ -852,8 +766,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.
@@ -876,12 +790,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 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
******************
@@ -1300,9 +1216,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
@@ -1361,7 +1365,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
@@ -1704,7 +1708,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'
@@ -1746,7 +1750,7 @@ File: asymptote.info, Node: Paths and guides, Next: Pens, Prev: Data types,
}
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);
@@ -1794,8 +1798,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'.
@@ -1808,7 +1812,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
@@ -2105,7 +2109,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
@@ -2459,7 +2463,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
@@ -2517,7 +2521,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'
@@ -2686,10 +2690,10 @@ File: asymptote.info, Node: Frames and pictures, Next: Files, Prev: Transform
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
@@ -2809,7 +2813,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
@@ -2969,7 +2973,7 @@ 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
@@ -3034,7 +3038,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
@@ -3259,7 +3263,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:
@@ -3271,7 +3275,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,
@@ -3354,7 +3358,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
@@ -3379,7 +3383,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
@@ -3413,7 +3417,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
@@ -3450,7 +3454,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
@@ -3550,7 +3554,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
@@ -3569,7 +3573,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
@@ -3624,7 +3628,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
@@ -3704,7 +3708,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
@@ -3790,7 +3794,7 @@ write(Si(1.0));

File: asymptote.info, Node: Arrays, Next: Casts, Prev: Functions, Up: Programming
-5.12 Arrays
+6.12 Arrays
===========
* Menu:
@@ -4187,7 +4191,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
@@ -4275,7 +4279,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'
@@ -4335,7 +4339,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
@@ -4477,7 +4481,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
@@ -4590,7 +4594,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'
@@ -4765,7 +4769,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:
@@ -4815,7 +4819,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
@@ -4832,7 +4836,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
@@ -4842,7 +4846,7 @@ 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
@@ -4869,7 +4873,7 @@ matrix arithmetic and intersection algorithms:

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
@@ -4879,7 +4883,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
@@ -4887,26 +4891,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
@@ -4916,7 +4919,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
@@ -4925,7 +4928,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
@@ -4974,7 +4977,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.
@@ -4982,7 +4985,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
@@ -5007,7 +5010,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'.
@@ -5015,7 +5018,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,
@@ -5025,7 +5028,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
@@ -5035,7 +5038,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
@@ -5045,7 +5048,7 @@ 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
@@ -5079,7 +5082,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
@@ -5122,7 +5125,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
@@ -5133,7 +5136,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
@@ -5151,7 +5154,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
@@ -5174,7 +5177,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
@@ -5185,7 +5188,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
@@ -5196,7 +5199,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
@@ -5215,7 +5218,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
@@ -5225,7 +5228,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',
@@ -5239,7 +5242,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
@@ -5249,7 +5252,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,
@@ -5361,9 +5364,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)
@@ -5507,9 +5510,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)
@@ -5549,7 +5552,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,
@@ -5564,8 +5567,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
@@ -6273,7 +6276,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
@@ -6445,7 +6448,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'
@@ -6625,6 +6628,12 @@ There are four choices for viewing 3D `Asymptote' output:
* c: show camera parameters
+ * p: play animation
+
+ * r: reverse animation
+
+ * : step animation
+
* +: expand
* =: expand
@@ -7018,7 +7027,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
@@ -7027,7 +7036,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
@@ -7195,12 +7204,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;
@@ -7224,7 +7233,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
@@ -7260,7 +7269,7 @@ struct skeleton {

File: asymptote.info, Node: tube, Next: flowchart, Prev: solids, Up: Base modules
-7.34 `tube'
+8.34 `tube'
===========
This package extends the `tube' surfaces constructed in
@@ -7306,12 +7315,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
@@ -7426,7 +7435,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
@@ -7609,7 +7618,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
@@ -7619,7 +7628,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
@@ -7659,7 +7668,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
@@ -7669,8 +7678,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':
@@ -7690,6 +7699,7 @@ Options (negate by replacing - with -no):
-autorotate Enable automatic PDF page rotation [false]
-batchMask Mask fpu exceptions in batch mode [false]
-batchView View output in batch mode [false]
+-billboard Force unnamed labels to always face viewer [false]
-bw Convert all colors to black and white [false]
-cd directory Set current directory; command-line only
-cmyk Convert rgb colors to cmyk [false]
@@ -7701,10 +7711,12 @@ Options (negate by replacing - with -no):
-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]
@@ -7736,6 +7748,7 @@ Options (negate by replacing - with -no):
-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]
@@ -7873,8 +7886,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
@@ -7898,6 +7911,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
@@ -7944,7 +7960,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
@@ -7954,13 +7970,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',
@@ -7989,9 +8005,9 @@ cd Imaging-1.1.7b1
python setup.py install

-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
@@ -8012,32 +8028,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
@@ -8048,7 +8047,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
@@ -8057,7 +8056,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
@@ -8088,7 +8087,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
@@ -8156,7 +8155,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
@@ -8195,7 +8194,7 @@ Index
(line 6)
* & <1>: Arithmetic & logical.
(line 56)
-* &: Tutorial. (line 192)
+* &: Bezier curves. (line 83)
* &&: Arithmetic & logical.
(line 53)
* * <1>: Arithmetic & logical.
@@ -8216,16 +8215,16 @@ Index
(line 14)
* -- <1>: Self & prefix operators.
(line 6)
-* --: Tutorial. (line 109)
-* ---: Tutorial. (line 192)
+* --: Tutorial. (line 102)
+* ---: Bezier curves. (line 83)
* -=: Self & prefix operators.
(line 6)
-* -c: Options. (line 163)
-* -l: Options. (line 182)
-* -u: Options. (line 173)
-* -V <1>: Tutorial. (line 41)
+* -c: Options. (line 167)
+* -l: Options. (line 186)
+* -u: Options. (line 177)
+* -V <1>: Tutorial. (line 16)
* -V: Configuring. (line 6)
-* ..: Tutorial. (line 109)
+* ..: Tutorial. (line 102)
* .asy: Search paths. (line 13)
* /: Arithmetic & logical.
(line 20)
@@ -8234,12 +8233,12 @@ Index
* 2D graphs: graph. (line 6)
* 3D graphs: graph3. (line 6)
* 3D grids: grid3. (line 6)
-* 3D PostScript: three. (line 526)
+* 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.
@@ -8257,13 +8256,13 @@ Index
(line 28)
* ^=: Self & prefix operators.
(line 6)
-* ^^: Tutorial. (line 197)
+* ^^: Tutorial. (line 109)
* a4: Configuring. (line 61)
* abort: Data types. (line 321)
* abs <1>: Mathematical functions.
(line 35)
* abs: Data types. (line 60)
-* accel <1>: three. (line 456)
+* accel <1>: three. (line 462)
* accel: Paths and guides. (line 109)
* access: Import. (line 6)
* acknowledgments: Credits. (line 6)
@@ -8283,35 +8282,35 @@ Index
(line 48)
* alias <1>: Arrays. (line 184)
* alias: Structures. (line 54)
-* align: Options. (line 157)
+* align: Options. (line 161)
* Align: label. (line 12)
* 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 151)
* animate: Configuring. (line 67)
* animation: animation. (line 6)
* annotate: annotate. (line 6)
-* antialias <1>: Options. (line 136)
-* antialias: three. (line 199)
+* 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 265)
+* arc: three. (line 271)
* Arc: Paths and guides. (line 32)
* arc: Paths and guides. (line 22)
* ArcArrow: draw. (line 26)
-* ArcArrow3: three. (line 499)
+* ArcArrow3: three. (line 505)
* ArcArrows: draw. (line 26)
-* ArcArrows3: three. (line 499)
-* arclength <1>: three. (line 456)
+* ArcArrows3: three. (line 505)
+* arclength <1>: three. (line 462)
* arclength: Paths and guides. (line 136)
-* arctime <1>: three. (line 456)
+* arctime <1>: three. (line 462)
* arctime: Paths and guides. (line 140)
* arguments: Default arguments. (line 6)
* arithmetic operators: Arithmetic & logical.
@@ -8322,11 +8321,11 @@ Index
* arrow: label. (line 72)
* Arrow: draw. (line 26)
* arrow: Drawing commands. (line 31)
-* arrow keys: Tutorial. (line 21)
-* Arrow3: three. (line 499)
+* arrow keys: Tutorial. (line 29)
+* Arrow3: three. (line 505)
* Arrows: draw. (line 26)
* arrows: draw. (line 26)
-* Arrows3: three. (line 499)
+* Arrows3: three. (line 505)
* as: Import. (line 70)
* aSin: Mathematical functions.
(line 20)
@@ -8341,7 +8340,7 @@ Index
* asy.vim: Editing modes. (line 33)
* asymptote.sty: LaTeX usage. (line 6)
* asymptote.xml: Editing modes. (line 49)
-* ASYMPTOTE_CONFIG: Options. (line 109)
+* ASYMPTOTE_CONFIG: Options. (line 113)
* aTan: Mathematical functions.
(line 20)
* atan: Mathematical functions.
@@ -8350,11 +8349,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 336)
-* autoimport: Options. (line 105)
+* autoadjust: three. (line 342)
+* autoimport: Options. (line 109)
* automatic scaling: graph. (line 672)
* axialshade: fill. (line 43)
* axis <1>: graph3. (line 66)
@@ -8362,36 +8361,36 @@ Index
* azimuth: Data types. (line 124)
* babel: babel. (line 6)
* background color: Frames and pictures. (line 164)
-* BackView: three. (line 363)
+* BackView: three. (line 369)
* Bar: draw. (line 19)
-* Bar3: three. (line 499)
+* Bar3: three. (line 505)
* Bars: draw. (line 19)
-* Bars3: three. (line 499)
+* Bars3: three. (line 505)
* barsize: draw. (line 19)
* base modules: Base modules. (line 6)
* 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 499)
+* BeginArcArrow3: three. (line 505)
* BeginArrow: draw. (line 26)
-* BeginArrow3: three. (line 499)
+* BeginArrow3: three. (line 505)
* BeginBar: draw. (line 19)
-* BeginBar3: three. (line 499)
+* BeginBar3: three. (line 505)
* BeginDotMargin: draw. (line 42)
-* BeginDotMargin3: three. (line 515)
+* BeginDotMargin3: three. (line 521)
* BeginMargin: draw. (line 42)
-* BeginMargin3: three. (line 515)
+* BeginMargin3: three. (line 521)
* BeginPenMargin: draw. (line 42)
-* BeginPenMargin2: three. (line 515)
-* BeginPenMargin3: three. (line 515)
+* BeginPenMargin2: three. (line 521)
+* BeginPenMargin3: three. (line 521)
* BeginPoint: label. (line 57)
* Bessel: Mathematical functions.
(line 48)
* bevel: flowchart. (line 68)
* beveljoin: Pens. (line 135)
-* Bezier: Tutorial. (line 115)
+* Bezier curves: Bezier curves. (line 6)
* bezulate: three. (line 99)
* Bi: Mathematical functions.
(line 48)
@@ -8420,13 +8419,13 @@ Index
(line 6)
* Bottom: graph. (line 128)
* BottomTop: graph. (line 134)
-* BottomView: three. (line 363)
+* BottomView: three. (line 369)
* bounding box: Frames and pictures. (line 164)
* Bounds: graph3. (line 20)
* boutput: Files. (line 71)
-* box <1>: three. (line 287)
+* box <1>: three. (line 293)
* box: Frames and pictures. (line 22)
-* bp: Tutorial. (line 17)
+* bp: Tutorial. (line 21)
* break: Programming. (line 29)
* breakpoints: Debugger. (line 21)
* brick: Pens. (line 248)
@@ -8446,7 +8445,7 @@ Index
* cd: Files. (line 24)
* ceil: Mathematical functions.
(line 26)
-* center: three. (line 320)
+* center: three. (line 326)
* Center: label. (line 62)
* checker: Pens. (line 248)
* Chinese: unicode. (line 12)
@@ -8455,7 +8454,7 @@ Index
* Ci: Mathematical functions.
(line 48)
* circle <1>: flowchart. (line 57)
-* circle: three. (line 261)
+* circle: three. (line 267)
* Circle: Paths and guides. (line 17)
* circle: Paths and guides. (line 10)
* circlebarframe: markers. (line 18)
@@ -8463,7 +8462,7 @@ Index
* clear <1>: Debugger. (line 23)
* clear: Files. (line 89)
* clip: fill. (line 110)
-* cm: Tutorial. (line 63)
+* cm: Tutorial. (line 58)
* cmd: Configuring. (line 34)
* cmyk: Pens. (line 34)
* colatitude: Data types. (line 129)
@@ -8476,9 +8475,9 @@ Index
* comma: Files. (line 59)
* 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 86)
* Compiling from UNIX source: Compiling from UNIX source.
(line 6)
* complement: Arrays. (line 150)
@@ -8486,25 +8485,25 @@ Index
* conditional <1>: Arithmetic & logical.
(line 73)
* conditional: Programming. (line 8)
-* config: Options. (line 109)
-* configuration file <1>: Options. (line 109)
+* 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 136)
+* 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)
+* controls: Bezier curves. (line 45)
* controlSpecifier: Paths and guides. (line 374)
-* convert <1>: Options. (line 136)
+* convert <1>: Options. (line 140)
* convert <2>: animation. (line 6)
* convert <3>: Files. (line 151)
* convert: Configuring. (line 67)
-* convertOptions: Options. (line 124)
+* convertOptions: Options. (line 128)
* Coons shading: fill. (line 74)
* copy: Arrays. (line 171)
* Cos: Mathematical functions.
@@ -8523,18 +8522,18 @@ Index
* csv: Arrays. (line 361)
* cubicroots: Arrays. (line 317)
* curl <1>: three. (line 6)
-* curl: Tutorial. (line 172)
+* curl: Bezier curves. (line 63)
* curlSpecifier: Paths and guides. (line 386)
* currentpen: Pens. (line 6)
-* currentprojection: three. (line 360)
+* 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 232)
* cycle <1>: three. (line 6)
-* cycle: Tutorial. (line 46)
-* cyclic <1>: three. (line 456)
+* cycle: Tutorial. (line 40)
+* cyclic <1>: three. (line 462)
* cyclic <2>: Arrays. (line 39)
* cyclic: Paths and guides. (line 74)
* Cyrillic: unicode. (line 7)
@@ -8546,11 +8545,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 499)
+* DefaultHead3: three. (line 505)
* defaultpen: Pens. (line 46)
* deferred drawing: simplex. (line 6)
* Degrees: Mathematical functions.
@@ -8564,11 +8563,11 @@ Index
* diagonal: Arrays. (line 302)
* diamond: flowchart. (line 50)
* dimension: Arrays. (line 366)
-* dir <1>: three. (line 456)
+* 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 368)
* dirtime: Paths and guides. (line 146)
@@ -8577,11 +8576,11 @@ Index
* dot <1>: Data types. (line 98)
* dot: draw. (line 83)
* DotMargin: draw. (line 42)
-* DotMargin3: three. (line 515)
+* DotMargin3: three. (line 521)
* DotMargins: draw. (line 42)
-* DotMargins3: three. (line 515)
+* DotMargins3: three. (line 521)
* dotted: Pens. (line 92)
-* double deferred drawing: three. (line 242)
+* double deferred drawing: three. (line 248)
* double precision: Files. (line 71)
* Draw: Frames and pictures. (line 147)
* draw: draw. (line 110)
@@ -8591,10 +8590,11 @@ Index
* drawline: math. (line 9)
* drawtree: drawtree. (line 9)
* dvips: Configuring. (line 67)
-* dvipsOptions: Options. (line 124)
+* dvipsOptions: Options. (line 128)
+* dvisvg: Configuring. (line 67)
* E <1>: Mathematical functions.
(line 48)
-* E: Tutorial. (line 94)
+* E: Tutorial. (line 86)
* Editing modes: Editing modes. (line 6)
* Ei: Mathematical functions.
(line 48)
@@ -8607,29 +8607,30 @@ Index
* embed: embed. (line 6)
* empty: Frames and pictures. (line 7)
* EndArcArrow: draw. (line 26)
-* EndArcArrow3: three. (line 499)
+* EndArcArrow3: three. (line 505)
* EndArrow: draw. (line 26)
-* EndArrow3: three. (line 499)
+* EndArrow3: three. (line 505)
* EndBar: draw. (line 19)
-* EndBar3: three. (line 499)
+* EndBar3: three. (line 505)
* EndDotMargin: draw. (line 42)
-* EndDotMargin3: three. (line 515)
+* EndDotMargin3: three. (line 521)
* endl: Files. (line 59)
* EndMargin: draw. (line 42)
-* EndMargin3: three. (line 515)
+* EndMargin3: three. (line 521)
* EndPenMargin: draw. (line 42)
-* EndPenMargin2: three. (line 515)
-* EndPenMargin3: three. (line 515)
+* EndPenMargin2: three. (line 521)
+* EndPenMargin3: three. (line 521)
* EndPoint: label. (line 57)
* envelope: Frames and pictures. (line 22)
-* environment variables: Configuring. (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 29)
* erf: Mathematical functions.
(line 6)
* erfc: Mathematical functions.
@@ -8639,9 +8640,9 @@ Index
* errorbars: graph. (line 474)
* eval: Import. (line 101)
* evenodd <1>: Pens. (line 149)
-* evenodd: Tutorial. (line 211)
+* evenodd: Tutorial. (line 123)
* 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)
@@ -8656,12 +8657,12 @@ Index
* extension <1>: MetaPost. (line 10)
* extension: Paths and guides. (line 227)
* external: embed. (line 28)
-* extrude: three. (line 450)
+* extrude: three. (line 456)
* F: Mathematical functions.
(line 48)
* fabs: Mathematical functions.
(line 6)
-* face: three. (line 534)
+* face: three. (line 540)
* factorial: Mathematical functions.
(line 39)
* Fedora: UNIX binary distributions.
@@ -8698,14 +8699,14 @@ Index
* fontcommand: Pens. (line 204)
* fontsize: Pens. (line 175)
* for: Programming. (line 8)
-* format <1>: Options. (line 136)
+* 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 363)
+* FrontView: three. (line 369)
* function declarations: Functions. (line 67)
* function shading: fill. (line 95)
* Function shading: fill. (line 95)
@@ -8723,8 +8724,8 @@ Index
* getreal: Files. (line 114)
* getstring: Files. (line 114)
* gettriple: Files. (line 114)
-* glOptions <1>: Options. (line 124)
-* glOptions: three. (line 199)
+* glOptions <1>: Options. (line 128)
+* glOptions: three. (line 205)
* GNU Scientific Library: Mathematical functions.
(line 48)
* gouraudshade: fill. (line 58)
@@ -8745,10 +8746,10 @@ Index
(line 48)
* GSL: Compiling from UNIX source.
(line 58)
-* gsOptions: Options. (line 124)
+* gsOptions: Options. (line 128)
* GUI: GUI. (line 6)
-* GUI installation: GUI Installation. (line 6)
-* GUI usage: GUI Usage. (line 6)
+* 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 264)
@@ -8761,14 +8762,14 @@ Index
* hex: Data types. (line 279)
* hexidecimal <1>: Pens. (line 59)
* hexidecimal: Data types. (line 279)
-* hidden surface removal: three. (line 534)
+* hidden surface removal: three. (line 540)
* histogram: Mathematical functions.
(line 39)
-* history <1>: Interactive mode. (line 37)
+* history <1>: Interactive mode. (line 40)
* history: Files. (line 139)
-* historylines: Interactive mode. (line 42)
+* historylines: Interactive mode. (line 45)
* HookHead: draw. (line 26)
-* HookHead3: three. (line 499)
+* HookHead3: three. (line 505)
* Horizontal: flowchart. (line 74)
* hypot: Mathematical functions.
(line 6)
@@ -8776,7 +8777,7 @@ Index
(line 48)
* i_scaled: Mathematical functions.
(line 48)
-* iconic: three. (line 199)
+* iconic: three. (line 205)
* identity <1>: Arrays. (line 299)
* identity <2>: Mathematical functions.
(line 6)
@@ -8784,7 +8785,7 @@ Index
* if: Programming. (line 8)
* IgnoreAspect: Frames and pictures. (line 58)
* image: palette. (line 34)
-* ImageMagick <1>: Options. (line 136)
+* ImageMagick <1>: Options. (line 140)
* ImageMagick <2>: animation. (line 6)
* ImageMagick: Configuring. (line 67)
* images: palette. (line 6)
@@ -8792,14 +8793,14 @@ Index
* implicit linear solver: MetaPost. (line 10)
* implicit scaling: Implicit scaling. (line 6)
* import: Import. (line 48)
-* inches: Tutorial. (line 63)
+* inches: Tutorial. (line 58)
* 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)
@@ -8815,22 +8816,22 @@ Index
* interp: Arithmetic & logical.
(line 76)
* interpolate: interpolate. (line 6)
-* intersect <1>: three. (line 456)
+* intersect <1>: three. (line 462)
* intersect <2>: math. (line 13)
* intersect: Paths and guides. (line 175)
-* intersectionpoint <1>: three. (line 456)
+* intersectionpoint <1>: three. (line 462)
* intersectionpoint <2>: math. (line 17)
* intersectionpoint: Paths and guides. (line 219)
-* intersectionpoints <1>: three. (line 456)
+* intersectionpoints <1>: three. (line 462)
* intersectionpoints: Paths and guides. (line 223)
-* intersections <1>: three. (line 456)
+* 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 305)
* inverse: Transforms. (line 16)
-* invert: three. (line 389)
+* invert: three. (line 395)
* invisible: Pens. (line 39)
* J: Mathematical functions.
(line 6)
@@ -8856,7 +8857,7 @@ Index
* Landscape: Frames and pictures. (line 95)
* lastcut: Paths and guides. (line 246)
* lasy-mode: Editing modes. (line 6)
-* latex: Options. (line 136)
+* latex: Options. (line 140)
* LaTeX fonts: Pens. (line 189)
* LaTeX usage: LaTeX usage. (line 6)
* latin1: latin1. (line 6)
@@ -8869,13 +8870,13 @@ Index
* LeftRight: graph. (line 280)
* LeftSide: label. (line 62)
* LeftTicks: graph. (line 155)
-* LeftView: three. (line 363)
+* 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 456)
+* length <1>: three. (line 462)
* length <2>: Arrays. (line 39)
* length <3>: Paths and guides. (line 65)
* length: Data types. (line 60)
@@ -8915,10 +8916,10 @@ Index
* makepen: Pens. (line 297)
* map: Arrays. (line 141)
* Margin: draw. (line 42)
-* Margin3: three. (line 515)
-* margins: three. (line 248)
+* Margin3: three. (line 521)
+* margins: three. (line 254)
* Margins: draw. (line 42)
-* Margins3: three. (line 515)
+* Margins3: three. (line 521)
* mark: graph. (line 474)
* markangle: markers. (line 38)
* marker: graph. (line 474)
@@ -8928,28 +8929,28 @@ Index
* math: math. (line 6)
* mathematical functions: Mathematical functions.
(line 6)
-* max <1>: three. (line 456)
+* max <1>: three. (line 462)
* max <2>: Arrays. (line 228)
* max <3>: Frames and pictures. (line 7)
* max: Paths and guides. (line 259)
* maxbound: Data types. (line 104)
-* maxtile: three. (line 199)
+* maxtile: three. (line 205)
* maxtimes: Paths and guides. (line 214)
-* maxviewport: three. (line 199)
+* maxviewport: three. (line 205)
* MetaPost: MetaPost. (line 6)
-* MetaPost ... : Tutorial. (line 176)
+* 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 499)
+* MidArcArrow3: three. (line 505)
* MidArrow: draw. (line 26)
-* MidArrow3: three. (line 499)
+* MidArrow3: three. (line 505)
* midpoint: Paths and guides. (line 160)
* MidPoint: label. (line 57)
-* min <1>: three. (line 456)
+* min <1>: three. (line 462)
* min <2>: Arrays. (line 221)
* min <3>: Frames and pictures. (line 7)
* min: Paths and guides. (line 255)
@@ -8958,7 +8959,7 @@ Index
* mintimes: Paths and guides. (line 209)
* miterjoin: Pens. (line 135)
* miterlimit: Pens. (line 144)
-* mm: Tutorial. (line 63)
+* mm: Tutorial. (line 58)
* mode: Files. (line 85)
* mouse: GUI. (line 6)
* mouse bindings: three. (line 132)
@@ -8967,7 +8968,7 @@ Index
* multisample: three. (line 122)
* multisampling: Compiling from UNIX source.
(line 16)
-* N: Tutorial. (line 94)
+* N: Tutorial. (line 86)
* name: Files. (line 85)
* named arguments: Named arguments. (line 6)
* new <1>: Arrays. (line 109)
@@ -8982,11 +8983,11 @@ Index
* NoFill <1>: Frames and pictures. (line 141)
* NoFill: draw. (line 26)
* NoMargin: draw. (line 42)
-* NoMargin3: three. (line 515)
+* NoMargin3: three. (line 521)
* none: Files. (line 59)
* None: draw. (line 19)
-* normal: three. (line 442)
-* nosafe: Options. (line 152)
+* normal: three. (line 448)
+* nosafe: Options. (line 156)
* NOT: Arithmetic & logical.
(line 80)
* NoTicks: graph. (line 155)
@@ -8994,15 +8995,15 @@ Index
* null: Structures. (line 6)
* nullpen <1>: Frames and pictures. (line 127)
* nullpen: label. (line 14)
-* NURBS: three. (line 340)
-* O: three. (line 256)
+* NURBS: three. (line 346)
+* O: three. (line 262)
* obj: obj. (line 9)
-* oblique: three. (line 301)
-* obliqueX: three. (line 309)
-* obliqueY: three. (line 316)
-* obliqueZ: three. (line 301)
+* oblique: three. (line 307)
+* obliqueX: three. (line 315)
+* obliqueY: three. (line 322)
+* obliqueZ: three. (line 307)
* ode: ode. (line 9)
-* offset <1>: Options. (line 157)
+* offset <1>: Options. (line 161)
* offset: Pens. (line 112)
* opacity: Pens. (line 219)
* open: Files. (line 11)
@@ -9021,10 +9022,10 @@ Index
* OR: Arithmetic & logical.
(line 80)
* orientation: Frames and pictures. (line 95)
-* orthographic: three. (line 320)
+* orthographic: three. (line 326)
* outformat: three. (line 122)
* outprefix: Frames and pictures. (line 83)
-* output <1>: Options. (line 136)
+* output <1>: Options. (line 140)
* output: Files. (line 36)
* OutTicks: graph3. (line 34)
* overloading functions: Functions. (line 44)
@@ -9034,7 +9035,7 @@ Index
* pack: label. (line 102)
* packing: Rest arguments. (line 30)
* pair <1>: Data types. (line 41)
-* pair: Tutorial. (line 17)
+* pair: Tutorial. (line 21)
* pairs: Arrays. (line 245)
* paperheight: Configuring. (line 61)
* papertype: Configuring. (line 61)
@@ -9047,21 +9048,21 @@ Index
* path: Paths and guides. (line 7)
* path markers: graph. (line 474)
* path3: three. (line 6)
-* path[]: Tutorial. (line 197)
+* path[]: Tutorial. (line 109)
* patterns <1>: patterns. (line 6)
* patterns: Pens. (line 235)
-* pdflatex: Options. (line 136)
+* pdflatex: Options. (line 140)
* pdfviewer: Configuring. (line 6)
-* pdfviewerOptions: Options. (line 124)
+* pdfviewerOptions: Options. (line 128)
* pen: Pens. (line 6)
* PenMargin: draw. (line 42)
-* PenMargin2: three. (line 515)
-* PenMargin3: three. (line 515)
+* PenMargin2: three. (line 521)
+* PenMargin3: three. (line 521)
* PenMargins: draw. (line 42)
-* PenMargins2: three. (line 515)
-* PenMargins3: three. (line 515)
+* PenMargins2: three. (line 521)
+* PenMargins3: three. (line 521)
* perpendicular: geometry. (line 6)
-* perspective: three. (line 340)
+* perspective: three. (line 346)
* picture: Frames and pictures. (line 35)
* picture alignment: Frames and pictures. (line 205)
* piecewisestraight: Paths and guides. (line 81)
@@ -9069,27 +9070,27 @@ Index
(line 48)
* plain: plain. (line 6)
* planar: three. (line 84)
-* plane: three. (line 283)
-* planeproject: three. (line 439)
-* point <1>: three. (line 456)
+* 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 456)
+* 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 207)
-* PostScript subpath: Tutorial. (line 197)
+* PostScript subpath: Tutorial. (line 109)
* pow10: Mathematical functions.
(line 6)
-* prc: three. (line 217)
+* prc: three. (line 223)
* precision: Files. (line 89)
-* precontrol <1>: three. (line 456)
+* precontrol <1>: three. (line 462)
* precontrol: Paths and guides. (line 122)
* prefix operators: Self & prefix operators.
(line 6)
@@ -9099,15 +9100,16 @@ Index
(line 6)
* psview: Microsoft Windows. (line 16)
* psviewer: Configuring. (line 6)
-* psviewerOptions: Options. (line 124)
-* pt: Tutorial. (line 63)
+* psviewerOptions: Options. (line 128)
+* pt: Tutorial. (line 58)
* public: Structures. (line 6)
* push: Arrays. (line 39)
-* Python usage: Interactive mode. (line 58)
+* 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 29)
* quote: Import. (line 119)
* quotient: Arithmetic & logical.
(line 6)
@@ -9115,7 +9117,7 @@ Index
* radialshade: fill. (line 49)
* radians: Mathematical functions.
(line 17)
-* radius <1>: three. (line 456)
+* radius <1>: three. (line 462)
* radius: Paths and guides. (line 118)
* Rainbow: palette. (line 12)
* rand: Mathematical functions.
@@ -9141,7 +9143,7 @@ Index
* remainder: Mathematical functions.
(line 6)
* rename: Files. (line 148)
-* render <1>: Options. (line 136)
+* render <1>: Options. (line 140)
* render: three. (line 122)
* replace: Data types. (line 252)
* resetdefaultpen: Pens. (line 350)
@@ -9149,7 +9151,7 @@ Index
* restore: Frames and pictures. (line 261)
* restricted: Structures. (line 6)
* return: Debugger. (line 48)
-* reverse <1>: three. (line 456)
+* reverse <1>: three. (line 462)
* reverse <2>: Arrays. (line 146)
* reverse <3>: Paths and guides. (line 163)
* reverse: Data types. (line 248)
@@ -9161,7 +9163,7 @@ Index
* Right: graph. (line 277)
* RightSide: label. (line 62)
* RightTicks: graph. (line 155)
-* RightView: three. (line 363)
+* RightView: three. (line 369)
* Rotate: label. (line 37)
* Rotate(pair z): label. (line 40)
* round: Mathematical functions.
@@ -9174,17 +9176,17 @@ Index
(line 6)
* runtime imports: Import. (line 101)
* Russian: unicode. (line 7)
-* S: Tutorial. (line 94)
-* safe: Options. (line 152)
+* S: Tutorial. (line 86)
+* safe: Options. (line 156)
* save: Frames and pictures. (line 258)
* saveline: Files. (line 131)
-* scale: three. (line 418)
+* scale: three. (line 424)
* Scale: graph. (line 688)
* scale <1>: graph. (line 672)
* scale <2>: Transforms. (line 39)
* scale: Pens. (line 112)
* Scale: label. (line 46)
-* scale3: three. (line 415)
+* scale3: three. (line 421)
* scaled graph: graph. (line 653)
* scientific graph: graph. (line 386)
* scroll: Files. (line 105)
@@ -9201,17 +9203,17 @@ Index
* self operators: Self & prefix operators.
(line 6)
* sequence: Arrays. (line 128)
-* settings <1>: Options. (line 109)
+* settings <1>: Options. (line 113)
* settings: Configuring. (line 23)
* sgn: Mathematical functions.
(line 26)
* shading: fill. (line 32)
-* shift <1>: three. (line 403)
+* 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 320)
+* showtarget: three. (line 326)
* Si: Mathematical functions.
(line 48)
* signedint: Files. (line 71)
@@ -9228,11 +9230,11 @@ Index
* singlereal: Files. (line 71)
* sinh: Mathematical functions.
(line 6)
-* size <1>: Options. (line 136)
-* size <2>: three. (line 456)
+* size <1>: Options. (line 140)
+* size <2>: three. (line 462)
* size <3>: Frames and pictures. (line 43)
* size: Paths and guides. (line 70)
-* size3: three. (line 245)
+* size3: three. (line 251)
* slant: Transforms. (line 45)
* Slant: label. (line 43)
* sleep: Data types. (line 329)
@@ -9261,7 +9263,7 @@ Index
* step: Debugger. (line 39)
* stickframe: markers. (line 16)
* stop: Debugger. (line 10)
-* straight: three. (line 456)
+* straight: three. (line 462)
* Straight: graph. (line 31)
* straight: Paths and guides. (line 77)
* strftime: Data types. (line 291)
@@ -9271,43 +9273,43 @@ Index
* strptime: Data types. (line 299)
* struct: Structures. (line 6)
* structures: Structures. (line 6)
-* subpath <1>: three. (line 456)
+* 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 216)
-* superpath: Tutorial. (line 197)
+* superpath: Tutorial. (line 109)
* 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 152)
+* 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 29)
* Tan: Mathematical functions.
(line 20)
* tan: Mathematical functions.
(line 6)
* tanh: Mathematical functions.
(line 6)
-* target: three. (line 320)
+* target: three. (line 326)
* tell: Files. (line 89)
* tension <1>: three. (line 6)
-* tension: Tutorial. (line 165)
+* 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 136)
+* tex <1>: Options. (line 140)
* tex: Frames and pictures. (line 274)
* TeX fonts: Pens. (line 198)
* TeX string: Data types. (line 179)
* texcommand: Configuring. (line 67)
* TeXHead: draw. (line 26)
-* TeXHead3: three. (line 499)
+* TeXHead3: three. (line 505)
* texpath <1>: label. (line 116)
* texpath: Configuring. (line 67)
* texpreamble: Frames and pictures. (line 282)
@@ -9328,12 +9330,12 @@ Index
* time: Data types. (line 291)
* times: Paths and guides. (line 201)
* Top: graph. (line 131)
-* TopView: three. (line 363)
+* TopView: three. (line 369)
* trace: Debugger. (line 51)
* trailingzero: graph. (line 169)
-* transform <1>: three. (line 430)
+* transform <1>: three. (line 436)
* transform: Transforms. (line 6)
-* transform3: three. (line 399)
+* transform3: three. (line 405)
* transparency: Pens. (line 219)
* transpose: Arrays. (line 208)
* tree: tree. (line 9)
@@ -9345,7 +9347,7 @@ Index
(line 48)
* triple: Data types. (line 108)
* TrueMargin: draw. (line 42)
-* TrueMargin3: three. (line 515)
+* TrueMargin3: three. (line 521)
* tube <1>: tube. (line 6)
* tube: three. (line 105)
* tutorial: Tutorial. (line 6)
@@ -9359,23 +9361,23 @@ Index
* uniform: Arrays. (line 155)
* Uninstall: Uninstall. (line 6)
* unit: Data types. (line 78)
-* unitbox <1>: three. (line 289)
-* unitbox: Tutorial. (line 218)
-* unitcircle <1>: three. (line 256)
-* unitcircle: Tutorial. (line 110)
+* unitbox <1>: three. (line 295)
+* unitbox: Tutorial. (line 130)
+* unitcircle <1>: three. (line 262)
+* unitcircle: Tutorial. (line 103)
* unitrand: Mathematical functions.
(line 39)
* unitsize <1>: Frames and pictures. (line 64)
-* unitsize: Tutorial. (line 73)
+* unitsize: Tutorial. (line 70)
* UNIX binary distributions: UNIX binary distributions.
(line 6)
* unpacking: Rest arguments. (line 39)
* unravel: Import. (line 31)
-* up: three. (line 320)
+* 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 70)
* user-defined operators: User-defined operators.
(line 6)
* usleep: Data types. (line 332)
@@ -9388,14 +9390,14 @@ Index
* vertex-dependent colors: three. (line 76)
* Vertical: flowchart. (line 74)
* viewportheight: LaTeX usage. (line 32)
-* viewportmargin: three. (line 248)
-* viewportsize: three. (line 248)
+* viewportmargin: three. (line 254)
+* viewportsize: three. (line 254)
* viewportwidth: LaTeX usage. (line 32)
-* views: three. (line 217)
+* views: three. (line 223)
* vim: Editing modes. (line 33)
* virtual functions: Structures. (line 189)
* void: Data types. (line 10)
-* W: Tutorial. (line 94)
+* W: Tutorial. (line 86)
* whatever: Paths and guides. (line 227)
* Wheel: palette. (line 22)
* wheel mouse: GUI. (line 6)
@@ -9406,10 +9408,10 @@ Index
* word: Arrays. (line 353)
* write <1>: Arrays. (line 393)
* write: Files. (line 51)
-* X: three. (line 256)
+* X: three. (line 262)
* xasy: GUI. (line 6)
* xaxis3: graph3. (line 7)
-* xelatex <1>: Options. (line 136)
+* xelatex <1>: Options. (line 140)
* xelatex: embed. (line 10)
* xequals: graph. (line 284)
* XEquals: graph. (line 270)
@@ -9420,14 +9422,14 @@ Index
* xoutput: Files. (line 71)
* xpart: Data types. (line 89)
* xscale: Transforms. (line 33)
-* xscale3: three. (line 406)
+* 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 256)
+* Y <1>: three. (line 262)
* Y: Mathematical functions.
(line 6)
* yaxis3: graph3. (line 7)
@@ -9436,12 +9438,12 @@ Index
* ylimits: graph. (line 626)
* ypart: Data types. (line 92)
* yscale: Transforms. (line 36)
-* yscale3: three. (line 409)
+* yscale3: three. (line 415)
* ytick: graph. (line 332)
* YZEquals: graph3. (line 20)
* YZero: graph. (line 119)
* YZZero: graph3. (line 20)
-* Z: three. (line 256)
+* Z: three. (line 262)
* zaxis3: graph3. (line 7)
* zero_Ai: Mathematical functions.
(line 48)
@@ -9457,7 +9459,7 @@ Index
* zeta: Mathematical functions.
(line 48)
* zpart: Data types. (line 161)
-* zscale3: three. (line 412)
+* zscale3: three. (line 418)
* |: Arithmetic & logical.
(line 62)
* ||: Arithmetic & logical.
@@ -9467,145 +9469,145 @@ Index

Tag Table:
Node: Top574
-Node: Description6760
-Node: Installation10259
-Node: UNIX binary distributions11307
-Node: MacOS X binary distributions12413
-Node: Microsoft Windows13297
-Ref: psview14007
-Node: Configuring14928
-Node: Search paths19141
-Node: Compiling from UNIX source19938
-Ref: multisampling20527
-Node: Editing modes22945
-Node: Subversion25377
-Node: Uninstall25840
-Node: Tutorial26190
-Ref: unitcircle29933
-Ref: Bezier30142
-Node: Drawing commands35201
-Node: draw36910
-Ref: arrows38058
-Node: fill43301
-Ref: gradient shading44345
-Node: clip48538
-Node: label49130
-Ref: Label49829
-Node: Programming55554
-Ref: array iteration56371
-Node: Data types57453
-Ref: format66354
-Node: Paths and guides69818
-Ref: circle70072
-Ref: arctime75389
-Ref: extension79254
-Node: Pens85937
-Ref: fillrule93181
-Ref: basealign94078
-Ref: transparency96903
-Ref: makepen100346
-Ref: overwrite101184
-Node: Transforms102394
-Node: Frames and pictures104185
-Ref: envelope105326
-Ref: size106409
-Ref: unitsize107396
-Ref: shipout108456
-Ref: filltype110789
-Ref: add113771
-Ref: add about114717
-Ref: tex117662
-Node: Files118536
-Ref: cd119501
-Ref: scroll123970
-Node: Variable initializers127043
-Node: Structures129338
-Node: Operators136790
-Node: Arithmetic & logical137104
-Node: Self & prefix operators139001
-Node: User-defined operators139789
-Node: Implicit scaling140700
-Node: Functions141263
-Ref: stack overflow144016
-Node: Default arguments144580
-Node: Named arguments145319
-Node: Rest arguments147481
-Node: Mathematical functions150291
-Node: Arrays154896
-Ref: sort161956
-Ref: tridiagonal164247
-Ref: solve165475
-Node: Slices169672
-Node: Casts173565
-Node: Import175531
-Node: Static180761
-Node: LaTeX usage183657
-Node: Base modules189102
-Node: plain191602
-Node: simplex192254
-Node: math192527
-Node: interpolate193626
-Node: geometry193905
-Node: trembling194509
-Node: stats194870
-Node: patterns195130
-Node: markers195366
-Node: tree197149
-Node: binarytree197337
-Node: drawtree197926
-Node: syzygy198130
-Node: feynman198404
-Node: roundedpath198679
-Node: animation198962
-Ref: animate199379
-Node: embed200518
-Node: slide202307
-Node: MetaPost202647
-Node: unicode203363
-Node: latin1204251
-Node: babel204619
-Node: labelpath204848
-Node: labelpath3205668
-Node: annotate205979
-Node: CAD206450
-Node: graph206760
-Ref: ticks213599
-Ref: pathmarkers226750
-Ref: marker227215
-Ref: markuniform227566
-Ref: errorbars229357
-Ref: automatic scaling233413
-Node: palette244059
-Ref: images244177
-Ref: image248348
-Ref: logimage248826
-Ref: penimage249632
-Node: three250076
-Ref: PostScript3D272559
-Node: obj274251
-Node: graph3274503
-Ref: GaussianSurface279628
-Node: grid3280713
-Node: solids281453
-Node: tube282401
-Node: flowchart284636
-Node: contour289135
-Node: contour3294166
-Node: slopefield294473
-Node: ode295910
-Node: Options296170
-Ref: configuration file301712
-Ref: settings301712
-Ref: convert302807
-Node: Interactive mode305596
-Ref: history307220
-Node: GUI308525
-Node: GUI Installation309028
-Node: GUI Usage310166
-Node: PostScript to Asymptote311069
-Node: Help312212
-Node: Debugger313941
-Node: Credits315726
-Node: Index316639
+Node: Description6833
+Node: Installation10332
+Node: UNIX binary distributions11385
+Node: MacOS X binary distributions12491
+Node: Microsoft Windows13375
+Ref: psview14085
+Node: Configuring15006
+Node: Search paths19226
+Node: Compiling from UNIX source20023
+Ref: multisampling20612
+Node: Editing modes23030
+Node: Subversion25462
+Node: Uninstall25925
+Node: Tutorial26275
+Ref: unitcircle30105
+Node: Drawing commands32078
+Node: draw33789
+Ref: arrows34937
+Node: fill40180
+Ref: gradient shading41224
+Node: clip45417
+Node: label46009
+Ref: Label46708
+Node: Bezier curves52433
+Node: Programming56010
+Ref: array iteration56824
+Node: Data types57906
+Ref: format66807
+Node: Paths and guides70271
+Ref: circle70525
+Ref: arctime75882
+Ref: extension79747
+Node: Pens86430
+Ref: fillrule93674
+Ref: basealign94571
+Ref: transparency97396
+Ref: makepen100839
+Ref: overwrite101677
+Node: Transforms102887
+Node: Frames and pictures104678
+Ref: envelope105819
+Ref: size106902
+Ref: unitsize107889
+Ref: shipout108949
+Ref: filltype111282
+Ref: add114251
+Ref: add about115197
+Ref: tex118142
+Node: Files119016
+Ref: cd119981
+Ref: scroll124450
+Node: Variable initializers127523
+Node: Structures129818
+Node: Operators137270
+Node: Arithmetic & logical137584
+Node: Self & prefix operators139481
+Node: User-defined operators140269
+Node: Implicit scaling141180
+Node: Functions141743
+Ref: stack overflow144496
+Node: Default arguments145060
+Node: Named arguments145799
+Node: Rest arguments147961
+Node: Mathematical functions150771
+Node: Arrays155376
+Ref: sort162436
+Ref: tridiagonal164727
+Ref: solve165955
+Node: Slices170152
+Node: Casts174045
+Node: Import176011
+Node: Static181241
+Node: LaTeX usage184137
+Node: Base modules189582
+Node: plain192082
+Node: simplex192734
+Node: math193007
+Node: interpolate194106
+Node: geometry194385
+Node: trembling194979
+Node: stats195330
+Node: patterns195590
+Node: markers195826
+Node: tree197609
+Node: binarytree197797
+Node: drawtree198386
+Node: syzygy198590
+Node: feynman198864
+Node: roundedpath199139
+Node: animation199422
+Ref: animate199839
+Node: embed200978
+Node: slide202767
+Node: MetaPost203107
+Node: unicode203823
+Node: latin1204711
+Node: babel205079
+Node: labelpath205308
+Node: labelpath3206128
+Node: annotate206439
+Node: CAD206910
+Node: graph207220
+Ref: ticks214044
+Ref: pathmarkers227152
+Ref: marker227617
+Ref: markuniform227968
+Ref: errorbars229759
+Ref: automatic scaling233815
+Node: palette244461
+Ref: images244579
+Ref: image248750
+Ref: logimage249228
+Ref: penimage250034
+Node: three250478
+Ref: PostScript3D273050
+Node: obj274742
+Node: graph3274994
+Ref: GaussianSurface280119
+Node: grid3281204
+Node: solids281944
+Node: tube282892
+Node: flowchart285127
+Node: contour289626
+Node: contour3294657
+Node: slopefield294964
+Node: ode296401
+Node: Options296661
+Ref: configuration file302478
+Ref: settings302478
+Ref: convert303573
+Node: Interactive mode306362
+Ref: history308027
+Node: GUI309332
+Node: GUI installation309835
+Node: GUI usage310973
+Node: PostScript to Asymptote311876
+Node: Help312632
+Node: Debugger314368
+Node: Credits316153
+Node: Index317066

End Tag Table
diff --git a/Build/source/utils/asymptote/doc/quartercircle.asy b/Build/source/utils/asymptote/doc/quartercircle.asy
index 5c584a10e9e..6565daa046e 100644
--- a/Build/source/utils/asymptote/doc/quartercircle.asy
+++ b/Build/source/utils/asymptote/doc/quartercircle.asy
@@ -1,2 +1,2 @@
size(100,0);
-draw((1,0){up}..{left}(0,1));
+draw((1,0){up}..{left}(0,1),Arrow);