During AMC testing, the AoPS Wiki is in read-only mode. No edits can be made.

# Difference between revisions of "Asymptote: Drawing"

## 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),blue);

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

## Circles

We see that the first draw() command creates the circle, which uses the circle() command. How this works is that the circle() command produces a path in which the draw() command draws. 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]$

## Unit- Paths

There are several useful pre defined paths for drawing things like unit squares, unit circles, etc. Just use the unit- paths!

You can use the

```unitsquare
unitcircle
```

paths for 2D. A list of Unit- paths for 3D can be found in the "Definitions": section of Asymptote: 3D graphics

Here is the unitsquare command:

draw(unitsquare); yields $[asy] draw(unitsquare); [/asy]$

And the unitsphere command.(Note: you have to import the three module for this to work.)

import three; draw(unitsphere,pink); yields $[asy]import three; draw(unitsphere,pink);[/asy]$

Since the unit- variables are paths, you can assign pen, fill them, and define other paths as them:

```path u=unitcircle;
pen p=red+dashed;
draw(u,p);
```

yields

$[asy] path u=unitcircle; pen p=red+dashed; draw(u,p); [/asy]$