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: