SONAR-INFO-p67




Geometria analitica (7°)
Calcolo dei punti di contatto tra due circonferenze comunque disposte



1)Generalità
Per venire incontro a numerose richieste per l'estensione dei file eseguibili, dei tipi già utilizzati in p55 e p57, per la soluzione di altri problemi di geometria analitica, si illustrano alcune routine di calcolo per la soluzione di casi diversi che possono essere utili a chi deve cimentarsi in questa interessante parte della matematica.
Una premessa è necessaria prima del prosieguo della pagina: gli algoritmi utilizzati non sono dimostrati ma soltanto implementati, a favore del calcolo automatico, in apposite routine in Visual Basic; per le dimostrazioni si rimanda agli innumerevoli testi di geometria analitica in commercio.

2)Algoritmi in V.B. per calcolo punti di contatto tra due circonferenze
Le coordinate dei punti di contatto tra due circonferenze comunque disposte nel piano cartesiano , siano tangenti che secanti, si calcolano mediante la soluzione di un sistema di secondo grado che vede coinvolte l'equazioni delle due curve.
La soluzione del sistema menzionato presenta senibili difficoltà di manipolazione dei dati con il rischio di banali, ma deleteri, errori nel suo sviluppo.
Con l'aiuto del programma eseguibile che andiamo ad illustrare è possibile risolvere i problemi relativi a due circonferenze con estrema rapidità e sicurezza dei risultati.
La struttura del programma prevede la grafica e la soluzione del problema con riferimento al sistema delle due equazioni sotto riportate:

X^2 + Y^2 + aX + bY + c = 0
X^2 + Y^2 + a1X + b1Y + c1 = 0

Entrambe le equazioni sono relative a circonferenze con i centri comunque collocati:
pc(Xc;Yc) e pc1(Xc1;Yc1) con R, R1.
Tutti i dati sono inseriti con impostazione su P.C.
Gli algoritmi implementati, scritti in linguaggio V.B. sono:

-coordinate dei centri e raggi : (Xc; Yc) ; (Xc1;Yc1) ; R ; R1

-calcolo dei coefficienti a; b; c dell'equazione del cerchio X^2 + Y^2 + aX + bY + c = 0 secondo:
a = -2 * Xc
b = -2 * Yc
c = ((Xc / 2) ^ 2) + ((Yc / 2) ^ 2) - R ^ 2

-calcolo dei coefficienti a1; b1; c1 dell'equazione del cerchio X^2 + Y^2 + a1X + b1Y + c1 = 0 secondo:
a1 = -2 * Xc1
b1 = -2 * Yc1
c1 = ((Xc1 / 2) ^ 2) + ((Yc1 / 2) ^ 2) - R1 ^ 2

-soluzione del sistema di secondo grado:
k1 = ( a1 - a )
k2 = ( b1 - b )
k3 = ( c1 - c )
z1 = -(k1 / k2)
z2 = -(k3 / k2)
k4 = (1 + z1 ^ 2)
k5 = (2 * z1 * z2 + a + b * z1)
k6 = b * z2 + c + z2 ^ 2
If (k5 ^ 2 - 4 * k4 * k6) < 0 salta il calcolo "nessun punto di cntatto"
X1 = (-k5 + Sqr(k5 ^ 2 - 4 * k4 * k6)) / (2 * k4)
X2 = (-k5 - Sqr(k5 ^ 2 - 4 * k4 * k6)) / (2 * k4)
Y1 = z1 * X1 + z2
Y2 = z1 * X2 + z2

3)Come si presenta la schermata del file eseguibile
La schermata del file eseguibile, al lancio sul P.C, si presenta come mostrato in figura 1, in essa s'individuano:

-il tracciato cartesiano

-la sezione per l'inserzione dati comprendente 7 TextBox ed un pulsante di comando.
nella parte sinistra si digitano i dati, indicati in rosso, relativi alla prima circonferenza.
nella parte destra si digitano i dati, indicati in blu, relativi alla seconda circonferenza.

-la casella per l'inserimento del valore di scala relativo al tracciato cartesiano



4)Esempio d'utilizzo del programma di calcolo
In questo paragrafo sono proposti due esercizi grafico numerici la cui risoluzione è basata sul file eseguibile (eserc.C2eqlib) .
Primo esercizio, "curve secanti", è relativo a due circonferenze individuate dalle due terne:
curva rossa: pc(Xc = 3 ; Yc = -4 ); R = 6
curva blu: pc1(Xc1 = -5 ; Yc1 = -3 ); R1 = 3.
Dopo la digitazione dei dati e l'impostazione scala a : fondo scala = 10, si preme il pulsante calcolo e si ottiene la schermata di figura 2 che indica:
-valori dei coefficienti
curva rossa: a = -6 ; b = 8 ; c = -11
curva blu: a = 10 ; b = 6 ; c = 25 -coordinate dei due punti di contatto tra le curve

p1( X1 = -2.43 ; Y1 = -1.45 ) ; p2( X2 = -2.89 ; Y2 = - 5.13 )



Una volta presentati i dati questi possono essere cambiati e , dopo la pressione del pulsante calcolo ottenenere una presentazione completamente diversa.

Secondo esercizio, "curve tangenti", è relativo a due circonferenze individuate dalle due terne:
curva rossa: pc(Xc = 5 ; Yc = 5 ); R = 2.82
curva blu: pc1(Xc1 = 1 ; Yc1 = 1 ); R1 = 2.85
Dopo la digitazione dei dati e l'impostazione scala a : fondo scala = 10, si preme il pulsante calcolo e si ottiene la schermata di figura 3 che indica:
-valori dei coefficienti
curva rossa: a = -10 ; b = -10 ; c = 42.05
curva blu: a = -2 ; b = -2 ; c = -6.07 -coordinate dei due punti di contatto tra le curve

p1( X1 = 3.07 ; Y1 = 1.94 ) ; p2( X2 = 3.07 ; Y2 = 1.94 )

l'uguaglianza delle coordinate evidenzia la condizione di tangenza.



Si deve osservare che il caso ora trattato ha richiesto piccoli aggiustaggi nel dimensionamento dei raggi delle due circonferenze al fine di ottenere punti di contatto coincidenti (tangenza).
Senza messa a punto delle misure è difficile realizzare la condizione "numerica" di tangenza se pur la condizione grafica la giustificherebbe; ciò perche i numeri elaborati dal P.C. sono decimali e il più delle volte la dove dovrebbe esserci un punto di tangenza figurano due punti se pur molto vicini.

5)Note
-Generalmente i problemi scolastici di geometria analitica mostrano, in tutti i casi, l'impiego di numeri razionali (frazioni numeriche) o irrazionali (radici quadrate) per l'eleganza formale del testo; è naturale quindi che per il controllo dei risultati di un problema di tipo scolastico con l'analogo sviluppato con le nostre routine si dovranno trasformare i valori razionali o irrazionali esposti per il primo in valori decimali per il confronto con il secondo.

-Il controllo software del file eseguibile è stato eseguito al meglio; è possibile però che qualche particolare anomalia sia sfuggita all'esame.
Si prega pertanto chi dovesse riscontrare qualche difetto nell'impiego del programma di renderlo noto tramite " Contatti con l'autore"; si provvederà all'aggiustaggio in rete.



Home

Stampa immagine grafica o descrizione testuale