Asymptote : The Vector Graphics Language
Asymptote is a powerful descriptive vector graphics language that provides a natural coordinate-based framework for technical drawing. Labels and equations are typeset with LaTeX, for high-quality PostScript output.
A major advantage of Asymptote over other graphics packages is that it is a programming language, as opposed to just a graphics program.
Features of Asymptote :
provides a portable standard for typesetting mathematical figures, just as TeX/LaTeX has become the standard for typesetting equations ;
generates high-quality PostScript, PDF, SVG, or 3D PRC vector graphics ;
embeds 3D vector PRC graphics within PDF files ;
inspired by MetaPost, with a much cleaner, powerful C++-like programming syntax and IEEE floating-point numerics ;
runs on all major platforms (UNIX, MacOS, Microsoft Windows) ;
mathematically oriented (e.g. rotation of vectors by complex multiplication) ;
LaTeX typesetting of labels (for document consistency) ;
uses simplex method and deferred drawing to solve overall size constraint issues between fixed-sized objects (labels and arrowheads) and objects that should scale with figure size ;
fully generalizes MetaPost path construction algorithms to three dimensions ;
compiles commands into virtual machine code for speed without sacrificing portability ;
high-level graphics commands are implemented in the Asymptote language itself, allowing them to be easily tailored to specific applications.