Difference between revisions of "Asymptote: Useful commands and their Output"

(Add end arrow example)
m
Line 1: Line 1:
 
{{Asymptote}}
 
{{Asymptote}}
  
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  
+
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  
 
  <tt>dot((0,0),blue);</tt>
 
  <tt>dot((0,0),blue);</tt>
 
In addition, a comment after a line such as <tt>//math - extension</tt> indicates that the command (in this case <tt>extension</tt>) used in that line is defined in the <tt>math</tt> package, thus motivating the <tt>import math;</tt> (or other appropriate package) line at the top of the example.
 
In addition, a comment after a line such as <tt>//math - extension</tt> indicates that the command (in this case <tt>extension</tt>) used in that line is defined in the <tt>math</tt> package, thus motivating the <tt>import math;</tt> (or other appropriate package) line at the top of the example.
Line 71: Line 71:
  
 
'''Example 7:'''
 
'''Example 7:'''
import olympiad;
+
<pre><nowiki>
unitsize(50);
+
import olympiad;
pair A,B,C,O,I;
+
unitsize(50);
A=origin; B=2*right; C=1.5*dir(70);
+
pair A,B,C,O,I;
O=circumcenter(A,B,C); // olympiad - circumcenter
+
A=origin; B=2*right; C=1.5*dir(70);
I=incenter(A,B,C); // olympiad - incenter
+
O=circumcenter(A,B,C); // olympiad - circumcenter
draw(A--B--C--cycle);
+
I=incenter(A,B,C); // olympiad - incenter
dot(O);
+
draw(A--B--C--cycle);
dot(I);
+
dot(O);
draw(circumcircle(A,B,C)); // olympiad - circumcircle
+
dot(I);
draw(incircle(A,B,C)); // olympiad - incircle
+
draw(circumcircle(A,B,C)); // olympiad - circumcircle
label("<math>I</math>",I,W);
+
draw(incircle(A,B,C)); // olympiad - incircle
label("<math>O</math>",O,S);
+
label("$I$",I,W);
 +
label("$O$",O,S);
 +
</nowiki></pre>
  
 
'''Output 7:'''
 
'''Output 7:'''
Line 96: Line 98:
 
  draw(circumcircle(A,B,C)); // olympiad - circumcircle
 
  draw(circumcircle(A,B,C)); // olympiad - circumcircle
 
  draw(incircle(A,B,C)); // olympiad - incircle
 
  draw(incircle(A,B,C)); // olympiad - incircle
  label("<math>I</math>",I,W);
+
  label("$I$",I,W);
  label("<math>O</math>",O,S);</asy>
+
  label("$O$",O,S);</asy>
  
 
----
 
----

Revision as of 14:10, 25 March 2008

Asymptote (Vector Graphics Language)
Getting Started - Basics - Drawing - Reference - Examples - Macros and Packages - Advanced Asymptote - 3D Graphics - Help

Useful functions - 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 - extension indicates that the command (in this case extension) used in that line is defined in the math package, thus motivating the import math; (or other appropriate package) line at the top of the example.


Example 1:

dot((20,0));

Output 1: [asy]dot((20,0));[/asy]


Example 2:

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

Output 2: [asy] size(75);draw((0,0)--(50,0),BeginArrow);  draw((0,-10)--(50,-10),MidArrow);  draw((0,-20)--(50,-20),EndArrow);  draw((0,-30)--(50,-30),Arrows);[/asy]


Example 3:

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

Output 3: Figure4.gif


Example 4:

import 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);  // math - extension
// extension(A,B,C,D) 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:

import graph;
draw(Circle((0,0),20)); // graph - Circle

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:

import olympiad;
unitsize(50);
pair A,B,C,O,I;
A=origin; B=2*right; C=1.5*dir(70);
O=circumcenter(A,B,C); // olympiad - circumcenter
I=incenter(A,B,C); // olympiad - incenter
draw(A--B--C--cycle);
dot(O);
dot(I);
draw(circumcircle(A,B,C)); // olympiad - circumcircle
draw(incircle(A,B,C)); // olympiad - incircle
label("$I$",I,W);
label("$O$",O,S);

Output 7: [asy]size(75);  pair A,B,C,O,I;  A=origin; B=2*right; C=1.5*dir(70);  O=circumcenter(A,B,C); // olympiad - circumcenter  I=incenter(A,B,C); // olympiad - incenter  draw(A--B--C--cycle);  dot(O);  dot(I);  draw(circumcircle(A,B,C)); // olympiad - circumcircle  draw(incircle(A,B,C)); // olympiad - incircle  label("$I$",I,W);  label("$O$",O,S);[/asy]


Example 8:

import three;
unitsize(1cm);
size(50);
currentprojection=orthographic(1/2,-1,1/2); // three - currentprojection, orthographic
draw((0,0,0)--(1,0,0)--(1,1,0)--(0,1,0)--cycle3,red); //three - cycle3
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:

 import three;
 unitsize(1cm);
 size(50);
 currentprojection=orthographic(1/2,-1,1/2); // three - currentprojection, orthographic
 draw((0,0,0)--(1,0,0)--(1,1,0)--(0,1,0)--cycle3,red); //three - cycle3
 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); (Error compiling LaTeX. 37aae4b97c114d16f3e1b6442573f2c38308292a.asy: 7.42: no matching variable 'cycle3')

See Also

Many more Asymptote examples

Next: Macros and Packages

Invalid username
Login to AoPS