Asymptote (Vector Graphics Language)

Asymptote (Vector Graphics Language)
Getting Started - Basics - Drawing - Labeling - Filling - Useful functions - Examples - Macros and Packages

Help - Reference - Advanced Asymptote - 3D Graphics - CSE5 Package - How to

Asymptote is a powerful vector graphics language designed for creating mathematical diagrams and figures. It can output images in either eps or pdf format, and is compatible with the standard mathematics typesetting language, LaTeX. It is also a complete programming language, and has cleaner syntax than its predecessor, MetaPost, which was a language used only for two-dimensional graphics.

You can start with this AoPS Asymptote Quick Start Video.

Here is an example of an image that can be produced using Asymptote:

Figure1.jpg

In a sense, Asymptote is the ruler and compass of typesetting.


You can use Asymptote on the AoPSWiki right now, by enclosing the Asymptote code within <asy>...</asy> tags. For example, the following code

<asy>
draw((0,0)--(3,7),red);
dot((0,0));
dot((3,7));
label("Produced with Asymptote "+version.VERSION,point(S),2S);
</asy>

created the picture

[asy] draw((0,0)--(3,7),red); dot((0,0)); dot((3,7)); label("Produced with Asymptote "+version.VERSION,point(S),2S); [/asy]

And on the AoPS forums you can use [asy]..[/asy]

[asy]
draw((0,0)--(3,7),red);
dot((0,0));
dot((3,7));
label("Produced with Asymptote "+version.VERSION,point(S),2S);
[/asy]

[asy] pair A,B,C,X,Y,Z; A = (0,0); B = (1,0); C = (0.3,0.8); draw(A--B--C--A); X = (B+C)/2; Y = (A+C)/2; Z = (A+B)/2; draw(A--X, red); draw(B--Y,red); draw(C--Z,red);[/asy]