Asymptote
is a powerful descriptive vector graphics language that
provides a mathematical coordinate-based framework for technical drawing.
Labels and equations are typeset with LaTeX
, for overall document
consistency, yielding the same high-quality level of typesetting that
LaTeX
provides for scientific text. By default it produces
PostScript
output, but it can also generate OpenGL
, PDF
,
SVG
, WebGL
, V3D
, and legacy PRC
vector graphics,
along with any format that the ImageMagick
package can
produce. You can even try it out in your Web browser without
installing it, using the Asymptote Web Application
It is also possible to send remote commands to this server via the curl utility (see Command-Line Interface).
A major advantage of Asymptote
over other graphics packages is
that it is a high-level programming language, as opposed to just a graphics
program: it can therefore exploit the best features of the script
(command-driven) and graphical-user-interface (GUI) methods for
producing figures. The rudimentary GUI xasy
included with the
package allows one to move script-generated objects
around. To make Asymptote
accessible to the average user, this
GUI is currently being developed into a full-fledged interface
that can generate objects directly. However, the script portion of the language
is now ready for general use by users who are willing to learn a few
simple Asymptote
graphics commands (see Drawing commands).
Asymptote
is mathematically oriented (e.g. one can
use complex multiplication to rotate a vector) and uses
LaTeX
to do the
typesetting of labels. This is an important feature for scientific
applications. It was inspired by an earlier drawing program (with a weaker
syntax and capabilities) called MetaPost
.
The Asymptote
vector graphics language provides:
LaTeX
is the de-facto standard for typesetting equations.
LaTeX
typesetting of labels, for overall document consistency;
MetaPost
, with a much cleaner, powerful C++-like programming
syntax;
PostScript
language for vector graphics, including affine transforms
and complex variables;
Many of the features of Asymptote
are written in the
Asymptote
language itself. While the stock version of
Asymptote
is designed for mathematics typesetting needs, one can
write Asymptote
modules that tailor it to specific
applications; for example, a scientific graphing module is available
(see graph
). Examples of Asymptote
code and output,
including animations, are available at
Clicking on an example file name in this manual, like
Pythagoras
, will display the PDF output, whereas clicking on its
.asy
extension will show the corresponding Asymptote
code in a separate window.
Links to many external resources, including an excellent user-written
Asymptote
tutorial can be found at
A quick reference card for Asymptote
is available at