Nel caso della figura a fianco, in cui PU e PV sono tangenti al cerchio, e tali sono anche AB e A'B', trovo che PU = PV = 9.2195445 e che entrambi i triangoli ABP e A'B'P hanno perimetro 18.43909 = 9.2195445·2.  Prova a dimostrare che ciò può essere generalizzato.     

     Incominciamo a ragionare sui casi limite: se faccio tendere A ad U il punto B tende a P; AP tende a UP, anche AB tende a UP, mentre BP tende ad essere un punto. Quindi il perimetro di ABP tende a 2 volte UP.
Proviamo a dimostrare che questo vale in generale.  Dobbiamo osservare con calma la figura.  Chiamiamo Z il punto in cui AB tocca il cechio.  Osserviamo che AU = AZ e che BV = BZ.  Quindi PU è pari alla somma di PA e AZ, PV è pari alla somma di PB e BZ.  Dato che PU = PV e che la somma di AZ e BZ è AB, possiamo concludere che il perimetro di ABP è pari a 2 volte UP.


# Ecco come è stata realizzata la figura (e come sono
# stati fatti i calcoli) con R (vedi):
source("http://macosa.dima.unige.it/r.R")
BF=3.5; HF=2.5
PLANE(-3,11,-1,8)
circl(1,3, 4, "seagreen")
POINT(11,2, "seagreen")
Q = P_tan(11,2, 1,3, 4); Q
#  2.9492889  6.4928889  2.2190279 -0.8097206
POINT(Q[1],Q[2], "seagreen")
POINT(Q[3],Q[4], "seagreen")
line(11,2, Q[3],Q[4], "seagreen")
line(11,2, Q[1],Q[2], "seagreen")
D = -20
circleA(1,3, 4, D, "blue")   # punto in direzione D° del cerchio con centro 1,3, raggio 4
W = circleA2(1,3, 4, D); W   # e sue coordinate
# 4.758770 1.631919
tan_circl(1,3, W[1],W[2], "blue")
line(W[1],W[2], 11,2, "blue")
line_line2(11,2, dirArrow1(11,2, Q[1],Q[2]), W[1],W[2], D+90)
# 5.923825 4.832879
A1 = solut[1]; A2 = solut[2]
line_line2(11,2, dirArrow1(11,2, Q[3],Q[4]), W[1],W[2], D+90)
# 4.0877188 -0.2117801
B1 = solut[1]; B2 = solut[2]
POINT(A1,A2, "blue"); POINT(B1,B2, "blue")
Point(1,3, "red")
point_point(11,2, A1,A2)+point_point(11,2, B1,B2)+point_point(A1,A2, B1,B2)
# 18.43909
point_point(11,2, Q[1],Q[2])
# 9.219544
point_point(11,2, Q[1],Q[2])*2
# 18.43909
#
D=5
circleA(1,3, 4, D, "orange")
W = circleA2(1,3, 4, D); W
# 4.984779 3.348623
tan_circl(1,3, W[1],W[2], "orange")
line(W[1],W[2], 11,2, "orange")
line_line2(11,2, dirArrow1(11,2, Q[1],Q[2]), W[1],W[2], D+90)
# 4.800055 5.460025
A1 = solut[1]; A2 = solut[2]
line_line2(11,2, dirArrow1(11,2, Q[3],Q[4]), W[1],W[2], D+90)
# 5.2633622 0.1644003
B1 = solut[1]; B2 = solut[2]
POINT(A1,A2, "orange"); POINT(B1,B2, "orange")
point_point(11,2, A1,A2)+point_point(11,2, B1,B2)+point_point(A1,A2, B1,B2)
# 18.43909
point_point(11,2, Q[1],Q[2])
# 9.219544
point_point(11,2, Q[1],Q[2])*2
# 18.43909
#
D = -20
PLANE(-3,11,-1,8)
circl(1,3, 4, "seagreen"); Point(1,3, "red")
POINT(11,2, "seagreen")
Q = P_tan(11,2, 1,3, 4); POINT(Q[1],Q[2], "seagreen"); POINT(Q[3],Q[4], "seagreen")
line(11,2, Q[3],Q[4], "seagreen"); line(11,2, Q[1],Q[2], "seagreen")
D = -20
circleA(1,3, 4, D, "blue")
W = circleA2(1,3, 4, D); tan_circl(1,3, W[1],W[2], "blue")
line(W[1],W[2], 11,2, "blue")
line_line2(11,2, dirArrow1(11,2, Q[1],Q[2]), W[1],W[2], D+90)
A1 = solut[1]; A2 = solut[2]
line_line2(11,2, dirArrow1(11,2, Q[3],Q[4]), W[1],W[2], D+90)
B1 = solut[1]; B2 = solut[2]
POINT(A1,A2, "blue"); POINT(B1,B2, "blue")
text(3.7,6.6,"U",font=2, cex=3/4)
text(1.5,-0.5,"V",font=2, cex=3/4)
text(11.35,2.65,"P",font=2, cex=3/4)
text(5.6,5.5,"A",font=2, cex=3/4)
text(4.6,-0.5,"B",font=2, cex=3/4)
text(4.35,1.65,"Z",font=2, cex=3/4)