Tre rette si intersecano formando un triangolo.  Quanti e quali sono i punti equidistanti da esse?
 
     
    Lì per lì si può pensare che ci sia un unico punto: il centro del cerchio inscritto nel triangolo (vedi la figura qui a sinsitra);  i tre lati distano dal centro tanto quanto il raggio del cerchio.  Ma, riflettendo, si capisce che ci sono altri cerchi che sono tangenti alle rette su cui stanno i tre lati.

Si veda la figura seguente.

Detti A, B e C i tre punti in cui le rette si intersecano, ci sono altri tre cerchi esterni al triangolo ABC e tangenti alle rette a cui appartengono i suoi lati. Il centro di ciascuno di questi cerchi è l'intersezione di una delle bisettrici del triangolo con la bisettrice di un angolo supplementare ad uno degli altri due angoli.
In definitiva, i punti equidistanti dalle rette sono i 4 punti segnati in blu.


# Come è stata fatta la figura? È stata realizzata con R (vedi):
#
source("http://macosa.dima.unige.it/r.R")
BF=4.4; HF=4.4
PLANEww(-2,10, -1,11)                        # Per veder la griglia usa PLANE(-2,10, -1,11)
Ax=4; Ay=4; Bx=7; By=5; Cx=6; Cy=7                                  # I tre punti  (unici
polyC(c(Ax,Bx,Cx),c(Ay,By,Cy),"yellow")                             #       dati iniziali)
Point(Ax,Ay, 1); Point(Bx,By, 1); Point(Cx,Cy, 1)                   # 1 equivale a "black"
l2p(Ax,Ay, Bx,By, 1); l2p(Cx,Cy, Bx,By, 1); l2p(Cx,Cy, Ax,Ay, 1)    # le rette AB, BC e AC
C0 = incentre(c(Ax,Bx,Cx),c(Ay,By,Cy))                              # l'incentro
l2p(Bx,By, C0[1],C0[2],"red"); l2p(Ax,Ay, C0[1],C0[2],"red"); l2p(Cx,Cy, C0[1],C0[2],"red")
R = point_line(C0[1],C0[2], Ax,Ay, Bx,By)                           # raggio cerchio inscr. 
circl(C0[1],C0[2], R, "blue")
text(4.4,3.6,"A",cex=0.8); text(6.6,4.6,"B",cex=0.8); text(5.6,6.78,"C",cex=0.8)
dirA = dirArrow1(Ax,Ay, C0[1],C0[2]); dirA                          # la direz. AC0
# 37.37244^
CBA=angle(c(Cx,Cy),c(Bx,By), c(Ax,Ay))
dir1 = dirArrow1(Bx,By, Cx,Cy)-(180-CBA)/2; dir1                    # la direz. BC1
# 67.5^
point_incl(Bx,By, dir1, "seagreen")                                 # la retta BC1
line_line2(Ax,Ay, dirA, Bx,By, dir1)                                # C1
# 7.782461  6.889028
C1x = solut[1]; C1y = solut[2]
text(7.5,7.5, "C1",cex=0.8)
R1 = point_line(C1x,C1y, Bx,By, Cx,Cy); circl(C1x,C1y, R1, "blue")  # il 2^ cerchio
dirC = dirArrow1(Cx,Cy, C0[1],C0[2]); dirC                          # la direz. CC0
line_line2(Cx,Cy, dirC, Bx,By, dir1)                                # C2
# 5.676568 1.804953
C2x = solut[1]; C2y = solut[2]
text(6.2,1.6, "C2",cex=0.8)
R2 = point_line(C2x,C2y, Bx,By, Ax,Ay); circl(C2x,C2y, R2, "blue")  # il 3^ cerchio
ACB=angle(c(Ax,Ay),c(Cx,Cy), c(Bx,By))
dir2 = dirArrow1(Bx,By, Cx,Cy)+(180-ACB)/2; dir2                    # la direz. CC3
point_incl(Cx,Cy, dir2, "seagreen")                                 # la retta CC3
dirB = dirArrow1(Bx,By, C0[1],C0[2]); dirB                          # la direz. BC0
line_line2(Bx,By, dirB, Cx,Cy, dir2)                                # C3
# 1.494359 7.280511
C3x = solut[1]; C3y = solut[2]
text(1.5,6.8, "C3",cex=0.8)
R3 = point_line(C3x,C3y, Cx,Cy, Ax,Ay); circl(C3x,C3y, R3, "blue")  # il 4^ cerchio
Point(C0[1],C0[2], "blue")
Point(C3x,C3y, "blue"); Point(C2x,C2y, "blue"); Point(C1x,C1y, "blue")
text(-1,2,"r1"); text(10,0,"r2"); text(7.7,10.5,"r3")
text(C0[1]-0.25,C0[2]+0.37,"C0",cex=0.7)
l2p(Ax,Ay, Bx,By, 1); l2p(Cx,Cy, Bx,By, 1); l2p(Cx,Cy, Ax,Ay, 1)    # ripasso le rette