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, the de-facto standard for typesetting mathematics.A major advantage of Asymptote over other graphics packages is that it is a programming language, as opposed to just a graphics program.
You can even run it in your browser without installing it, using the Asymptote Web Application. Just enter the code
import workcone;
(including the semicolon) and click the Run button.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, OpenGL, PDF, SVG, WebGL, V3D, and PRC vector graphics;
embeds 3D vector WebGL graphics within HTML files;
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 the 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 tailored to specific applications.