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, PDF, SVG, WebGL, 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.