diff options
author | Karl Berry <karl@freefriends.org> | 2009-09-28 22:01:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-09-28 22:01:49 +0000 |
commit | 4ffd67ef7a9a1a465d2a8cc35a785edb149de24a (patch) | |
tree | 3d4edc7989e1207e31f6df6da1cb6cc1172a0cd1 /Build/source/utils/asymptote/doc | |
parent | e2e3d91772c578b56fb93aa7c6b6e519034ae2a1 (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.pdf | bin | 67399 -> 67399 bytes | |||
-rw-r--r-- | Build/source/utils/asymptote/doc/FAQ/asy-faq.info | 2 | ||||
-rw-r--r-- | Build/source/utils/asymptote/doc/asy.1 | 10 | ||||
-rw-r--r-- | Build/source/utils/asymptote/doc/asymptote.pdf | bin | 1567244 -> 1568843 bytes | |||
-rw-r--r-- | Build/source/utils/asymptote/doc/asymptote.texi | 429 | ||||
-rw-r--r-- | Build/source/utils/asymptote/doc/bigsquare.asy | 2 | ||||
-rw-r--r-- | Build/source/utils/asymptote/doc/options | 4 | ||||
-rw-r--r-- | Build/source/utils/asymptote/doc/png/asymptote.info | 1216 | ||||
-rw-r--r-- | Build/source/utils/asymptote/doc/quartercircle.asy | 2 |
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 Binary files differindex 13a7826f8cf..c0710dfa00b 100644 --- a/Build/source/utils/asymptote/doc/CAD.pdf +++ b/Build/source/utils/asymptote/doc/CAD.pdf 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 Binary files differindex 951444d6fce..cb9f66d0168 100644 --- a/Build/source/utils/asymptote/doc/asymptote.pdf +++ b/Build/source/utils/asymptote/doc/asymptote.pdf 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); |