Trekantens ydre vinkelhalveringslinjer er de linjer, som halverer supplementsvinklerne til trekantens vinkler. På tegningen ser man, hvordan to af de ydre vinkelhalveringslinjer sammen med en indre bestemmer centrum for en tilskrevet cirkel. Denne berører alle trekantens sider, men for de to siders vedkommende er det forlængelsen, der berøres. Du kan flytte trekantens hjørner, A, B og C, med musen. Læg mærke til, at de tre sæt af hver tre linjer altid har et fælles punkt.
Figure figure = Position [0,0] Size[x,y] Origin[x/3,y/2] Unit x/12 Color "white";
//Axes axes = Color "black";
//Grid grid = Color "blue";
//Units units = Color "black";
Point A = [-1,-1] Free Size 2.5 Color "red";
Point B = [2,-1] Free Size 2.5 Color "red";
Point C = [0,1.5] Free Size 2.5 Color "red";
Label laba = "A" At A Offset [20,-5] Color "black";
Label labb = "B" At B Offset [20,-5] Color "black";
Label labc = "C" At C Offset [20,-5] Color "black";
Variable orientation1 = if (B-A)*(C-A)^ < 0 then 1 else 0 endif;
Variable orientation2 = 1 - orientation1;
Angle anga1 = At A From angle(A-orientation1*C-orientation2*B)
To angle(orientation1*B+orientation2*C-A)
Size 0.3 Color "black";
Angle anga2 = At A From angle(orientation1*C+orientation2*B-A)
To angle(A-orientation1*B-orientation2*C)
Size 0.3 Color "black";
Angle angb1 = At B From angle(orientation1*A+orientation2*C-B)
To angle(B-orientation1*C-orientation2*A)
Size 0.3 Color "black";
Angle angb2 = At B From angle(B-orientation1*A-orientation2*C)
To angle(orientation1*C+orientation2*A-B)
Size 0.3 Color "black";
Angle angc1 = At C From angle(orientation1*B+orientation2*A-C)
To angle(C-orientation1*A-orientation2*B)
Size 0.3 Color "black";
Angle angc2 = At C From angle(C-orientation1*B-orientation2*A)
To angle(orientation1*A+orientation2*B-C)
Size 0.3 Color "black";
Line ab1 = Start A Dir B-A Infinite Size 0.3 Color "black";
Line bc1 = Start B Dir C-B Infinite Size 0.3 Color "black";
Line ca1 = Start C Dir A-C Infinite Size 0.3 Color "black";
Line ab = Start A Dir B-A Size 1 Color "black";
Line bc = Start B Dir C-B Size 1 Color "black";
Line ca = Start C Dir A-C Size 1 Color "black";
Variable dira = (angle(B-A)+angle(C-A))/2;
Variable dirb = (angle(A-B)+angle(C-B))/2;
Variable dirc = (angle(B-C)+angle(A-C))/2;
Line va = Start A Dir [cos(dira),sin(dira)] Infinite Size 0.8 Color "blue";
Line vb = Start B Dir [cos(dirb),sin(dirb)] Infinite Size 0.8 Color "blue";
Line vc = Start C Dir [cos(dirc),sin(dirc)] Infinite Size 0.8 Color "blue";
Line va1 = Start A Dir [-sin(dira),cos(dira)] Infinite Size 0.8 Color "blue";
Line vb1 = Start B Dir [-sin(dirb),cos(dirb)] Infinite Size 0.8 Color "blue";
Line vc1 = Start C Dir [-sin(dirc),cos(dirc)] Infinite Size 0.8 Color "blue";
Point P = intersect(A,A+[cos(dira),sin(dira)],B,B+[cos(dirb),sin(dirb)]) Size 2.5 Color "blue";
Point A1 = intersect(B,B+[-sin(dirb),cos(dirb)],C,C+[-sin(dirc),cos(dirc)]) Size 2.5 Color "blue";
Point B1 = intersect(A,A+[-sin(dira),cos(dira)],C,C+[-sin(dirc),cos(dirc)]) Size 2.5 Color "blue";
Point C1 = intersect(B,B+[-sin(dirb),cos(dirb)],A,A+[-sin(dira),cos(dira)]) Size 2.5 Color "blue";
Label labp = "P" At P Offset [10,-5] Color "black";
Label laba1 = "A1" At A1 Offset [20,-5] Color "black";
Label labb1 = "B1" At B1 Offset [20,-5] Color "black";
Label labc1 = "C1" At C1 Offset [20,-5] Color "black";
Circle circle = Center P Radius length(P-project(P,A,B)) Size 0.8 Color "blue";
Circle circlea = Center A1 Radius length(A1-project(A1,B,C)) Size 0.8 Color "blue";
Circle circleb = Center B1 Radius length(B1-project(B1,A,C)) Size 0.8 Color "blue";
Circle circlec = Center C1 Radius length(C1-project(C1,B,A)) Size 0.8 Color "blue";