[Tex/LaTex] Drawing arc with coordinates in 2D in asymptote

asymptotediagramsvenn-diagrams

I've seen this post for 3D, but I cannot get this working in 2D.

Here is my code:

pair O1 = origin;
pair O2 = (1.5,0);
pair O3 = (1,-1);
pair C = (0.75,sqrt(7)/4);
pair F = (0.75,-sqrt(7)/4);
pair E = (1,0);
pair B = (0,-1);
pair D = (((1/20)*(25-2*sqrt(55))),((1/8)+(1/40)*(2*sqrt(55)-25)));
pair A = (((1/20)*(25+2*sqrt(55))),((1/8)+(1/40)*(-2*sqrt(55)-25)));

label("$C$",C,N);
label("$F$",F,E);
label("$E$",E,NE);
label("$B$",B,SW);
label("$D$",D,W);
label("$A$",A,SE);

draw(circle(O1,1));
draw(circle(O2,1));
draw(circle(O3,1));
draw(arc(O1,E,C),blue+linewidth(5));

I want to trace out a thick bold line along some of the intersections. Is there a way to do something like

draw(arc(center,coordinate1,coordinate2),linewidth(2));

to trace out a path? This is as opposed to specifying start and end angles. For instance,

draw(arc(O1,E,C),linewidth(2));

Best Answer

enter image description here

Yes, this is exactly the way to do it. Is this what you want?

// darcs.asy :
size(200);
// Drawing arc with coordinates in 2D in asymptote  

texpreamble("\usepackage{lmodern}");
pair O1 = (0,0);// origin;
pair O2 = (1.5,0);
pair O3 = (1,-1);
pair A = (((1/20)*(25+2*sqrt(55))),((1/8)+(1/40)*(-2*sqrt(55)-25)));
pair B = (0,-1);
pair C = (0.75,sqrt(7)/4);
pair D = (((1/20)*(25-2*sqrt(55))),((1/8)+(1/40)*(2*sqrt(55)-25)));
pair EE = (1,0);
pair F = (0.75,-sqrt(7)/4);

pen linePen=darkblue+1bp;
pen markPenA=red+3bp+opacity(0.8);
pen markPenB=green+3bp+opacity(0.8);


draw(circle(O1,1),linePen);
draw(circle(O2,1),linePen);
draw(circle(O3,1),linePen);
draw(arc(O1,EE,C),markPenA);
draw(arc(O1,C,EE),markPenB);

dot(new pair[]{A,B,C,D,EE,F},darkblue,UnFill);
label("$A$",A,SE);
label("$B$",B,SW);
label("$\,C$",C,N);
label("$D$",D,NW);
label("$E$",EE,NE);
label("$F$",F,E);

Note: names N,S,E,W,NE,NW,SE,SW predefined to be used in labels placements, so it is better to avoid redefinition and use, for example, EE instead of E.

Related Question