Asymptote: Useful commands and their Output

Revision as of 17:21, 3 February 2007 by Hmmm (talk | contribs)
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

For each of the following, we have put a blue dot at the origin in order to indicate relative location of the output on the coordinate plane. In other words, assume that before each of the examples below is the command

dot((0,0),blue);

In addition, a comment after a line such as //math indicates that the command used in that line is defined in the math package, thus motivating the include math; (or other appropriate package) line at the top of the example.


Example 1:

dot((20,0));

Output 1: Figure2.gif


Example 2:

draw((0,0)--(50,0),BeginArrow);
draw((0,-10)--(50,-10),MidArrow);
draw((0,-30)--(50,-30),Arrows);

Output 2: Figure3.gif


Example 3:

draw((0,0)--(50,0));
arrow((30,0),dir(180),green);

Output 3: Figure4.gif


Example 4:

include math;
pair A,B,C,D,E;
A=(0,0); C=(50,0); B=(10,10); D=(40,20);
E=extension(A,B,C,D);  // extension is a command from the math package 
// that returns the intersection of lines AB and CD
draw(A--B); draw(C--D);
draw(B--E--D,orange);

Output 4: Figure5.gif


Example 5:

include graph;
draw(Circle((0,0),20));

Output 5: Figure6.gif


Example 6:

path p=(0,0)..(20,15)..(40,-5)..(50,0);
draw(p);
draw(rotate(90)*p,green);
draw(rotate(180,(-5,0))*p,orange);
draw(shift((5,20))*p,magenta);
draw(shift((0,-25))*yscale(1.4)*p,red);

Output 6: Figure7.gif


Example 7:

include olympiad;
pair A,B,C,O,I;
A=origin; B=2*right; C=1.5*dir(70);
O=circumcenter(A,B,C); // circumcenter is a command in the Olympiad package
I=incenter(A,B,C); // incenter is a command in the Olympiad package
draw(A--B--C--cycle);
dot(O);
dot(I);
draw(circumcircle(A,B,C));
draw(incircle(A,B,C));
label("$I$",I,W);
label("$O$",O,S);

Output 7: Figure8.gif


Example 8:

import three;
unitsize(1inch);
currentprojection=orthographic(1/2,-1,1/2);
draw((0,0,0)--(1,0,0)--(1,1,0)--(0,1,0)--cycle3,red);
draw((0,0,0)--(0,0,1));
draw((0,1,0)--(0,1,1));
draw((1,1,0)--(1,1,1));
draw((1,0,0)--(1,0,1));
draw((0,0,1)--(1,0,1)--(1,1,1)--(0,1,1)--cycle3,green);

Output 8: Figure9.gif