Asymptote: Drawing

Asymptote (Vector Graphics Language)
Getting Started - Basics - Drawing - Reference - Examples - Macros and Packages - Advanced Asymptote - 3D Graphics - Help

Useful functions - CSE5 Package - How to

Dots

Let us start off with the most basic of this basic command: drawing a dot.

To draw a dot, simply write the following code:

dot((0,0));

[asy] dot((0,0)); [/asy]

You can fix certain attributes to this dot, such as color:

dot((0,0),green);

[asy] dot((0,0),green); [/asy]

Lines

Now let's draw a path, or a line segment.

draw((0,0)--(5,5));

[asy] draw((0,0)--(5,5)); [/asy]

Once again, we can set certain attributes, such as color and linewidth, both at the same time.

draw((0,0)--(5,5),green+linewidth(3));

[asy] draw((0,0)--(5,5),green+linewidth(1)); [/asy]

Now if this diagram is too large, we can size it to be smaller:

size(100); draw((0,0)--(5,5),green+linewidth(1));

[asy] size(100); draw((0,0)--(5,5),green+linewidth(1)); [/asy]

We can also create multiple paths with one line, if we want a triangle or a square, for example:

draw((0,0)--(5,5)--(5,0)--cycle);

[asy] draw((0,0)--(5,5)--(5,0)--cycle); [/asy]

Note that this uses the cycle command, meaning the path returns to its original point, in this case (0,0).

Circles

In this article, we create circular objects.

draw(circle((0,0),5));

We see that the first draw() command creates the circle, which uses the circle() command. Within the circle command, we see the center point is located at the cartesian plane point (0,0), and it has a radius of 5.

This code produces:

[asy] draw(circle((0,0),5)); [/asy]

Once again, we can fix certain attributes to this code:

draw(circle((0,0),5),red+linewidth(1));

[asy] draw(circle((0,0),5),red+linewidth(1)); [/asy]

And we can fill the inside:

filldraw(circle((0,0),5),green,red+linewidth(1));

[asy] filldraw(circle((0,0),5),green,red+linewidth(1)); [/asy]

Ellipse

Another rounded figure we can create is the ellipse.

draw(ellipse((0,0),5,3));

In this case, the (0,0) is the center of the ellipse, the 5 is the length of the major axis and the 3 is the length of the minor axis. This results in:

[asy] draw(ellipse((0,0),5,3)); [/asy]

Once again, we can fix attributes and fill the inside.

[asy] filldraw(ellipse((0,0),5,3),green,red+linewidth(1)); [/asy]

Invalid username
Login to AoPS