Dati i due cerchi rispettivamente di centro (3, 3) e raggio 2.5 e di centro (6, 5.5) e raggio 1, calcolare e tracciare (utilizzando opportunamente del software) le due rette tangenti ad entrambi. | ![]() |
![]() |
Non č possibile tracciare con un programma la tangente senza conoscere i due punti di tangenza, o altre informazioni che mi consentano di scriverne l'equazione. Posso ragionare come č spiegato nella figura qui a sinistra, dove t è la tangente che tocca i cerchi nelle parti superiori (ragionamento analogo potrei farlo per l'altra tangente). Sia r la retta passante per i due centri C1 e C2. t ed r si incontrano in un punto P; per trovare P tengo conto che per P passa anche la retta s passante per gli estremi sinistri dei due cerchi, che posso trovare facilmente. Quindi, trovato P, traccio la retta per P tangente ad uno dei due cerchi. |
Procedendo cosė trovo che P è (8, 7.1666 ) = (8, 43/6).
Grafici col software online WoframAlpha:
tangent to (x-3)^2+(y-3)^2-2.5^2=0 passing through (8,43/6)
y = 0.309877 x + 4.68765
y = 1.91234 x - 8.13209
plot {(x-3)^2+(y-3)^2-2.5^2=0,(x-6)^2+(y-5.5)^2-1=0,y=0,x=0,y=0.309877x+4.68765,y=1.91234x-8.13209}, -1<x<10,-1<y<10
# Ecco come posso realizzare il calcolo ad es. con R source("http://macosa.dima.unige.it/r.R") PLANE(0,10,0,10) C1=c(3,3); R1=2.5; C2=c(6,5.5); R2=1 circle(C1[1],C1[2], R1,"brown"); circle(C2[1],C2[2], R2,"brown") # ho ottenuto la figura del testo dell'esercizio POINT(C1[1],C1[2], "blue"); POINT(C2[1],C2[2], "blue") l2p(C1[1],C1[2], C2[1],C2[2], "blue") POINT(C1[1]-R1,C1[2], "blue"); POINT(C2[1]-R2,C2[2], "blue") l2p(C1[1]-R1,C1[2], C2[1]-R2,C2[2], "blue") line_line(C1[1],C1[2],C2[1],C2[2], C1[1]-R1,C1[2],C2[1]-R2,C2[2]) P=c(solut[1],solut[2]); POINT(P[1],P[2], "seagreen") # ho ottenuto la figura sopra a sinistra # PLANE(0,10,0,10) circle(C1[1],C1[2], R1,"brown"); circle(C2[1],C2[2], R2,"brown") POINT(P[1],P[2], "seagreen"); fraction(P) # 8 43/6 Q=P_tan(P[1],P[2], C1[1],C1[2], R1) l2p(Q[1],Q[2], P[1],P[2], "seagreen"); l2p(Q[3],Q[4], P[1],P[2], "seagreen") # ho ottenuto la figura a destra # # la figura che illustra le motivazioni del procedimento # PLANE(0,10,0,10) C1=c(3,3); R1=2.5; C2=c(6,5.5); R2=1 circle(C1[1],C1[2], R1,"brown"); circle(C2[1],C2[2], R2,"brown") POINT(C1[1],C1[2], "blue"); POINT(C2[1],C2[2], "blue") l2p(C1[1],C1[2], C2[1],C2[2], "blue") POINT(C1[1]-R1,C1[2], "blue"); POINT(C2[1]-R2,C2[2], "blue") l2p(C1[1]-R1,C1[2], C2[1]-R2,C2[2], "blue") line_line(C1[1],C1[2],C2[1],C2[2], C1[1]-R1,C1[2],C2[1]-R2,C2[2]) P=c(solut[1],solut[2]); POINT(P[1],P[2], "seagreen") Q=P_tan(P[1],P[2], C1[1],C1[2], R1); Q l2p(Q[1],Q[2], P[1],P[2], "seagreen"); l2p(Q[3],Q[4], P[1],P[2], "seagreen") POINT(Q[1],Q[2], "seagreen"); POINT(Q[3],Q[4], "seagreen")