Difference between revisions of "Asymptote: Drawing"
(→Unit- Paths) |
(→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); | ||
+ | int a=24; | ||
+ | pair A=C+(0, a); | ||
+ | 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 00:11, 22 May 2023
Contents
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: pair C=(0,0); int a=24; pair A=C+(0, a); 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("", C, W);
label("
", A, NW);
label("
", B, NE);
label("
", E, SE);
label("
", 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("", (D+E)/2, S);
label("
", (A+B)/2, N);
label("
", (B+C)/2, SSE);
label("
", (D+C)/2, NNW);
You can fix certain attributes to this dot, such as color:
dot((0,0),blue);
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:
Once again, we can fix certain attributes to this code:
draw(circle((0,0),5),red+linewidth(1));
And we can fill the inside:
filldraw(circle((0,0),5),green,red+linewidth(1));
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:
Once again, we can fix attributes and fill the inside.
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
And the unitsphere command.(Note: you have to import the three module for this to work.)
import three;
draw(unitsphere,pink);
yields
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