Difference between revisions of "Asymptote: Drawing"

(Dots)
(Dots)
Line 6: Line 6:
  
 
To draw a dot, simply write the following code:
 
To draw a dot, simply write the following code:
pair C=(0,0);
+
<tt>
int a=24;
+
dot((0,0));
pair A=C+(0, a);
+
</tt>
pair B=A+(10,0);
 
pair E=C-(0,a);
 
pair D = E -(18,0);
 
 
 
draw(C--A--B--C--D--E--C);
 
 
 
draw(rightanglemark(C, A, B, 60));
 
draw(rightanglemark(C,E,D, 60));
 
 
 
label("<math>C</math>", C, W);
 
label("<math>D</math>", A, NW);
 
label("<math>E</math>", B, NE);
 
label("<math>B</math>", E, SE);
 
label("<math>A</math>", D, SW);
 
 
 
int f=1;
 
pair F=(A+C)/2;
 
pair G=F-(f,0);
 
pair H=F+(f,0);
 
pair I=(C+E)/2;
 
pair J=I-(f,0);
 
pair K=I+(f,0);
 
draw(G--H);
 
draw(J--K);
 
 
 
label("<math>9</math>", (D+E)/2, S);
 
label("<math>5</math>", (A+B)/2, N);
 
label("<math>13</math>", (B+C)/2, SSE);
 
label("<math>15</math>", (D+C)/2, NNW);
 
 
You can fix certain attributes to this dot, such as color:
 
You can fix certain attributes to this dot, such as color:
  

Revision as of 18:22, 24 May 2023

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

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)); You can fix certain attributes to this dot, such as color:

dot((0,0),blue);

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

Circles

In this article, draw(circle((0,0),5));

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]