Difference between revisions of "Asymptote: Drawing"
Silmarilmath (talk | contribs) (→See also:) |
(→Dots) |
||
(21 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
{{asymptote}} | {{asymptote}} | ||
− | + | ==Dots== | |
Let us start off with the most basic of this basic command: drawing a dot. | Let us start off with the most basic of this basic command: drawing a dot. | ||
Line 9: | Line 9: | ||
<tt> | <tt> | ||
dot((0,0)); | dot((0,0)); | ||
+ | </tt> | ||
+ | |||
+ | You can fix certain attributes to this dot, such as color: | ||
+ | |||
+ | <tt> | ||
+ | dot((0,0),blue); | ||
</tt> | </tt> | ||
<asy> | <asy> | ||
− | dot((0,0)); | + | dot((0,0),blue); |
</asy> | </asy> | ||
− | + | ==Circles== | |
+ | |||
+ | In this article, | ||
+ | <tt>draw(circle((0,0),5));</tt> | ||
+ | |||
+ | 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> | <asy> | ||
− | + | draw(circle((0,0),5)); | |
</asy> | </asy> | ||
− | + | Once again, we can fix certain attributes to this code: | |
− | <tt>draw((0,0) | + | <tt>draw(circle((0,0),5),red+linewidth(1));</tt> |
<asy> | <asy> | ||
− | draw((0,0) | + | draw(circle((0,0),5),red+linewidth(1)); |
</asy> | </asy> | ||
− | + | And we can fill the inside: | |
− | <tt> | + | <tt>filldraw(circle((0,0),5),green,red+linewidth(1));</tt> |
<asy> | <asy> | ||
− | + | filldraw(circle((0,0),5),green,red+linewidth(1)); | |
</asy> | </asy> | ||
− | + | ==Ellipse== | |
+ | |||
+ | Another rounded figure we can create is the ellipse. | ||
+ | |||
+ | <tt>draw(ellipse((0,0),5,3));</tt> | ||
+ | |||
+ | 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> | <asy> | ||
− | + | filldraw(ellipse((0,0),5,3),green,red+linewidth(1)); | |
− | |||
</asy> | </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 | ||
+ | |||
+ | <tt>unitsquare</tt> | ||
+ | <tt>unitcircle</tt> | ||
+ | |||
+ | paths for 2D. A list of Unit- paths for 3D can be found in the "Definitions": section of [[Asymptote: 3D graphics]] | ||
− | <tt> | + | Here is the <tt>unitsquare</tt> command: |
− | |||
+ | <tt>draw(unitsquare);</tt> yields | ||
<asy> | <asy> | ||
− | draw( | + | draw(unitsquare); |
</asy> | </asy> | ||
− | + | And the <tt>unitsphere</tt> command.(Note: you have to import the three module for this to work.) | |
− | |||
− | |||
− | + | <tt>import three; | |
+ | draw(unitsphere,pink);</tt> | ||
+ | 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: | ||
+ | |||
+ | |||
+ | <tt>path u=unitcircle;</tt> | ||
+ | <tt>pen p=red+dashed;</tt> | ||
+ | <tt>draw(u,p);</tt> | ||
+ | |||
+ | yields | ||
+ | |||
+ | <asy> | ||
+ | path u=unitcircle; | ||
+ | pen p=red+dashed; | ||
+ | draw(u,p); | ||
+ | </asy> |
Latest revision as of 19:22, 24 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:
dot((0,0));
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