Asymptote: Marking Angles

Revision as of 18:51, 4 January 2010 by Dojo (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

You can use the olympiad package to create nice marks for the angles.

Let's look at this angle.

draw((0,0)--(3,4),EndArrow);
draw((0,0)--(5,0),EndArrow);

[asy] draw((0,0)--(3,4),EndArrow); draw((0,0)--(5,0),EndArrow); [/asy]

Now we mark this angle:

import olympiad;
draw((0,0)--(3,4),EndArrow);
draw((0,0)--(5,0),EndArrow);
draw(anglemark((5,0),(0,0),(3,4)));

[asy] import olympiad; draw((0,0)--(3,4),EndArrow); draw((0,0)--(5,0),EndArrow); draw(anglemark((5,0),(0,0),(3,4))); [/asy]

(The import olympiad code is not required on the forums, but you need to use it on your home computer).

This angle is too small, so we change the scale factor:

import olympiad;
draw((0,0)--(3,4),EndArrow);
draw((0,0)--(5,0),EndArrow);
markscalefactor=0.1;
draw(anglemark((5,0),(0,0),(3,4)));

[asy] import olympiad; draw((0,0)--(3,4),EndArrow); draw((0,0)--(5,0),EndArrow); markscalefactor=0.1; draw(anglemark((5,0),(0,0),(3,4))); [/asy]

We can add properties to this:

import olympiad;
draw((0,0)--(3,4),EndArrow);
draw((0,0)--(5,0),EndArrow);
markscalefactor=0.1;
draw(anglemark((5,0),(0,0),(3,4)),red);

[asy] import olympiad; draw((0,0)--(3,4),EndArrow); draw((0,0)--(5,0),EndArrow); markscalefactor=0.1; draw(anglemark((5,0),(0,0),(3,4)),red); [/asy]

We can get fancy with this:

import olympiad;
draw((0,0)--(3,4),EndArrow);
draw((0,0)--(5,0),EndArrow);
markscalefactor=0.1;
filldraw(anglemark((5,0),(0,0),(3,4)),green,red+linewidth(1));

[asy] import olympiad; draw((0,0)--(3,4),EndArrow); draw((0,0)--(5,0),EndArrow); markscalefactor=0.1; filldraw(anglemark((5,0),(0,0),(3,4)),green,red+linewidth(1)); [/asy]