Circum circles of subtriangles

From JSXGraph Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

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

Then [math]\displaystyle{ A'A'' }[/math], [math]\displaystyle{ B'B'' }[/math], and [math]\displaystyle{ C'C'' }[/math] meet in one point, [math]\displaystyle{ P }[/math].

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();