[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
1. Description
Asymptote
is a powerful descriptive vector graphics language that
provides a mathematical coordinate-based framework for technical drawings.
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 any format that the
ImageMagick
package can produce.
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 section 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:
- a standard for typesetting mathematical figures, just
as TeX/
LaTeX
is the de-facto standard for typesetting equations. -
LaTeX
typesetting of labels, for overall document consistency; - a natural coordinate-based framework for technical drawings,
inspired by
MetaPost
, with a much cleaner, powerful C++-like programming syntax; - compilation of figures into virtual machine code for speed, without sacrificing portability;
- the power of a script-based language coupled to the convenience of a GUI;
- customization using its own C++-like graphics programming language;
- sensible defaults for graphical features, with the ability to override;
- a high-level mathematically oriented interface to the
PostScript
language for vector graphics, including affine transforms and complex variables; - functions that can create new (anonymous) functions;
- deferred drawing that uses the simplex method to solve overall size constraint issues between fixed-sized objects (labels and arrowheads) and objects that should scale with figure size;
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. A scientific graphing module has already been written
(see section graph
). Examples of Asymptote
code and output,
including animations, are available at
Links to many external resources, including an excellent user-written
Asymptote
tutorial can be found at
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |