Asymptote: CSE5
The Asymptote CSE5 package is a useful package that is supported on the AoPS forum. It is much larger than most other packages, and contains doubles of each function; a function with a full name and a function with an abbreviated name.
Function List
Mark Angle ( MA )
pair MA(real a,Label s,int f,pen p,pair B,pair A,pair C,real r,int m,pair P,pen q)
The MA() or MarkAngle() command is a competitor of the olympiad anglemark(). The usage is MA( a,s,f,p,B,A,C,r,m,S,q ) (the necessary arguments are bold and the optional ones are italic). Here
a is the angle by which you want to rotate the label in degrees (0 by default);
s is the string labelling the angle (empty string by default); the dollar (or now rather \(...\)) delimeters will be added automatically as in other cse5 labelling commands;
f is the fontsize for your label (currently 9 by default; can be also reset by the anglefontsize=... command);
p is the pen you wish to use for the label (red by default; can be also reset by the anglefontpen=... command);
B,A,C are the pairs determining the angle with the vertex . The arcs are drawn counterclockwise from the side to the side ;
r the radius of the largest arc in the anglemark;
m the number of arcs in the anglemark ( by default). Can be set to , in which case no arcs will be drawn, through , in which case arcs will be drawn, and anything in which case the sector will be filled with color;
S allows you to position the label manually with respect to the middle point of the largest arc. The automatic positioning is where you, probably, want it to be the most: on the bisector of the angle right beyond the largest arc in the anglemark.
q is the pen used for drawing the arcs or filling the sector (green by default; can be also reset by the anglepen=... command).
MA() returns the vertex of the angle.
Example of usage:
size(200); pair A=dir(-40), B=dir(0); for(int k=0;k<9;++k) { pair C=dir(40*(k+1)); D(A--D(MA(k*40+90,"\beta_{"+string(k)+"}",12,black,C,B,A,0.1,k,orange))--C); A=B;B=C; }
results in