# Circum circles of subtriangles

Let ABC be a triangle and let the incircle intersect $\displaystyle{ BC }$, $\displaystyle{ CA }$, and $\displaystyle{ AB }$ at $\displaystyle{ A' }$, $\displaystyle{ B' }$, and $\displaystyle{ C' }$, respectively.

Let the circumcircles of $\displaystyle{ AB'C' }$, $\displaystyle{ A'BC' }$, and $\displaystyle{ A'B'C }$ intersect the circumcircle of $\displaystyle{ ABC }$ (apart from $\displaystyle{ A }$, $\displaystyle{ B }$, and $\displaystyle{ C }$) at $\displaystyle{ A'' }$, $\displaystyle{ B'' }$, and $\displaystyle{ C'' }$, respectively.

Then $\displaystyle{ A'A'' }$, $\displaystyle{ B'B'' }$, and $\displaystyle{ C'C'' }$ meet in one point, $\displaystyle{ P }$.

### The underlying JavaScript code

brd = JXG.JSXGraph.initBoard('jxgbox', {boundingbox:[-1,4,12,-4], keepaspectratio:true});
p1 = brd.create('point', [0.5,-1.5] , {name:'A',fillColor:'red',strokeColor:'red'});
p2 = brd.create('point', [7.5,0.5] , {name:'B',fillColor:'red',strokeColor:'red'});
p3 = brd.create('point', [2,3] , {name:'C',fillColor:'red',strokeColor:'red'});

b1 = brd.create('segment',['A','B'],{name:''});
b2 = brd.create('segment',['A','C'],{name:''});
b3 = brd.create('segment',['C','B'],{name:''});

c1 = brd.create('circumcircle',['A','B','C'],{name:'', point: {visible: false}});
c1.setProperty('strokeColor:#AAAAAA');

l1 = brd.create('bisector',['B','A','C'],{name:'',visible:false}); // alpha
l2 = brd.create('bisector',['C','B','A'],{name:'',visible:false}); // beta

i1 = brd.create('intersection',[l1,l2,0],{name:'',visible:false});
pp1 = brd.create('perpendicularpoint',[i1,b1],{name:"C'",fillColor:'blue'});
pp2 = brd.create('perpendicularpoint',[i1,b2],{name:"B'",fillColor:'blue'});
pp3 = brd.create('perpendicularpoint',[i1,b3],{name:"A'",fillColor:'blue'});

c2 = brd.create('circumcircle',[pp1,pp2,pp3],{name:'', strokeColor: '#3CB371', point: {visible: false}});
c3 = brd.create('circumcircle',[p3,pp2,pp3],{name:'', strokeColor: '#FF8C00', point: {visible: false}});
c4 = brd.create('circumcircle',[p2,pp1,pp3],{name:'', strokeColor: '#FF8C00', point: {visible: false}});
c5 = brd.create('circumcircle',[p1,pp2,pp1],{name:'', strokeColor: '#FF8C00', point: {visible: false}});

i2 = brd.create('otherintersection',[c3,c1,p3],{name:"C''",fillColor:'blue'});
i3 = brd.create('otherintersection',[c4,c1,p2],{name:"B''",fillColor:'blue'});
i4 = brd.create('otherintersection',[c5,c1,p1],{name:"A''",fillColor:'blue'});

ll1 = brd.create('segment',[i2,pp1],{name:'',strokeColor:'#FF6347'});
ll2 = brd.create('segment',[i3,pp2],{name:'',strokeColor:'#FF6347'});
ll3 = brd.create('segment',[i4,pp3],{name:'',strokeColor:'#FF6347'});

i5 = brd.create('intersection',[ll1,ll2,0],{name:"P",fillColor:'#9932CC',strokeColor:'#9932CC'});
brd.update();