Problema sull'intersezione di due circonferenze
Salve a tutti, mi è stato posto questo simpatico problema, che ho provato ad affrontare utlizzando vari metodi, ma arrivo sempre ad un vicolo cieco,
i dati del mio problema sono i raggi delle due circonferenze e l'area dell'intera intersezione ( quella tratteggiata) e devo ricavare la lunghezza del segmento L
L'immagine dovrebbe chiarire i dati del problema.
Avete qualche idea?
i dati del mio problema sono i raggi delle due circonferenze e l'area dell'intera intersezione ( quella tratteggiata) e devo ricavare la lunghezza del segmento L
L'immagine dovrebbe chiarire i dati del problema.
Avete qualche idea?

Risposte
Sia $A$ l'area tratteggiata. Mi domando se possa sussistere la proporzione $\pir^2-A:r-L=\piR^2-A:R-L$...
purtroppo non funziona, ho verificato sperimentalmente con un cad inpostando r=10 R=50 e la distanza L = 3 si ottiene un area di 18.605 mentre provando ad inserire gli stessi dati nella proporzione da te proposta si ottiene un area di -1005.309
Secondo me, il problema è risolubile solo numericamente, con metodi approssimati.
Nomenclatura: [tex]A,B[/tex] sono le intersezioni delle circonferenze; nella circonferenza di raggio [tex]r[/tex], [tex]O[/tex] è il centro e [tex]\alpha[/tex]l'angolo [tex]A \hat O B[/tex]; nell'altra circonferenza, gli analoghi sono [tex]O_1[/tex] e [tex]\beta[/tex]; [tex]H[/tex] è l'intersezione di [tex]AB[/tex] con [tex]OO_1[/tex].
Poiché AH è cateto di due triangoli rettangoli, possiamo scrivere
(1) $r sin (alpha/2)=R sin (beta/2)$
AB divide l'area S in due segmenti circolari; da un buon libro di geometria (o da facili calcoli) si ricava che l'area di un segmento circolare di raggio r ed angolo al centro $alpha$ radianti è $r^2/2(alpha-sin alpha)$; quindi
(2) $S=r^2/2(alpha-sin alpha)+R^2/2(beta-sin beta)$
Le equazioni (1) e (2) formano un sistema da cui ricavare le incognite [tex]\alpha[/tex] e [tex]\beta[/tex]; lo si risolve e poi si calcola $l$ dalla formula
$r+R-l=rcos (alpha/2)+Rcos (beta/2)$.
Purtroppo le incognite compaiono sia in funzioni goniometriche che al di fuori di esse, e questo esclude una soluzione in formula.
Nomenclatura: [tex]A,B[/tex] sono le intersezioni delle circonferenze; nella circonferenza di raggio [tex]r[/tex], [tex]O[/tex] è il centro e [tex]\alpha[/tex]l'angolo [tex]A \hat O B[/tex]; nell'altra circonferenza, gli analoghi sono [tex]O_1[/tex] e [tex]\beta[/tex]; [tex]H[/tex] è l'intersezione di [tex]AB[/tex] con [tex]OO_1[/tex].
Poiché AH è cateto di due triangoli rettangoli, possiamo scrivere
(1) $r sin (alpha/2)=R sin (beta/2)$
AB divide l'area S in due segmenti circolari; da un buon libro di geometria (o da facili calcoli) si ricava che l'area di un segmento circolare di raggio r ed angolo al centro $alpha$ radianti è $r^2/2(alpha-sin alpha)$; quindi
(2) $S=r^2/2(alpha-sin alpha)+R^2/2(beta-sin beta)$
Le equazioni (1) e (2) formano un sistema da cui ricavare le incognite [tex]\alpha[/tex] e [tex]\beta[/tex]; lo si risolve e poi si calcola $l$ dalla formula
$r+R-l=rcos (alpha/2)+Rcos (beta/2)$.
Purtroppo le incognite compaiono sia in funzioni goniometriche che al di fuori di esse, e questo esclude una soluzione in formula.
Anche io ero giunto alla stessa conclusione, sì.
Numericamente non dovrebbero esserci grosse difficoltà...
Numericamente non dovrebbero esserci grosse difficoltà...
Anche io ero giunto alla stessa conclusione, o meglio allo stesso punto, cosa intendi per soluzione numerica?
"robertom":
Anche io ero giunto alla stessa conclusione, o meglio allo stesso punto, cosa intendi per soluzione numerica?
Devi avere una funzione che ti da l'area della regione di piano in funzione di un solo parametro, p. es. $alpha$ ( $A(alpha)$ ).
Per ottenere questa $A(alpha)$ - prendendo abusivamente in prestito le formule di Giammaria, che spero non mi lanci qualche anatema - basta esplicitare $beta$ dalla (1) e sostituirlo in (2).
Poi devi calcolare quanto misura $alpha$ se l'area è quella dei dati del problema (chiamala $D$ ).
Allora devi risolvere - penso numericamente - l'equazione $A(alpha) = D$
penso tu intenda dire
$ D=r^2/2*(a -sin a) + R^2/2*(2*sin^-1(r/R *sin (a/2))- sin(2*sin^-1(r/R* sin(a/2)) $
spero di averla riportata correttamente
mi resta sempre il dubbio di cosa intendi con soluzione numerica
$ D=r^2/2*(a -sin a) + R^2/2*(2*sin^-1(r/R *sin (a/2))- sin(2*sin^-1(r/R* sin(a/2)) $
spero di averla riportata correttamente
mi resta sempre il dubbio di cosa intendi con soluzione numerica
"robertom":
penso tu intenda dire
$ D=r^2/2*(a -sin a) + R^2/2*(2*sin^-1(r/R *sin (a/2))- sin(2*sin^-1(r/R* sin(a/2)) $
spero di averla riportata correttamente
mi resta sempre il dubbio di cosa intendi con soluzione numerica
Come credi di poter risolvere analiticamente, esplicitando una soluzione "perfetta" da questa equazione orrida?
Devi trovare una soluzione approssimata.
perfetto grazie , non ti innervosire, mi serviva una conferma al risultato che avevo raggiunto ( per questo non avevo proposto nessun tipo di soluzione all'inizio) vai per approssimazioni sucessive con un algoritmo tipo ripple fino ad avvicinarti quanto basta alla tua area richiesta noto l'angolo calcoli la L.
Grazie e ciao
Grazie e ciao
Esatto.
Non mi sono innervosito; volevo essere chiaro. Quale miglior modo?
Non mi sono innervosito; volevo essere chiaro. Quale miglior modo?
Concordo con le ultime osservazioni e, ad occhio, direi che l'area cresce al crescere di $alpha$ e quindi la soluzione è unica; volendosene accertare, si può dare ad $alpha$ numerosi valori e considerare il grafico dell'area in funzione di $alpha$.
Robertom, toglimi una curiosità: fra tutte le lettere dell'alfabeto, perché indichi l'area proprio con D?
Robertom, toglimi una curiosità: fra tutte le lettere dell'alfabeto, perché indichi l'area proprio con D?
comunqe ho provato a razionalizzare un po' l' equazione ottendo
$D= cos^-1((r^2+p^2-R^2)/(2*r*p))*r^2+cos^-1((R^2+p^2-r^2)/(2*R*p))*R^2-p*r*sqrt(1-((r^2+p^2-R^2)/(2*r*p))^2)$
dove
$p=r+R-L$
l'equazione esce dal teorema di carnot in quanto
$ cos(a/2)= (r^2+p^2-R^2)/(2*r*p)$
scrivendo poi un programmino in Vb è stato abbastanza semplice ricavare un area sufficientemente precisa
L'uso di D per l'area è legata al semplice fatto che non riuscendo a scrivere alfa ho usato a per l'angolo e quindi per non confodere a con A ho usato D nulla di più
Grazie a tutti per l'aiuto, in effetti alla fine trovando conferma dell'impossibilità di trovare un equazione perfetta, la soluzione è stata abbastanza semplice
(edit 14-11-2010 errore di battitura sull'esponente del cos)
$D= cos^-1((r^2+p^2-R^2)/(2*r*p))*r^2+cos^-1((R^2+p^2-r^2)/(2*R*p))*R^2-p*r*sqrt(1-((r^2+p^2-R^2)/(2*r*p))^2)$
dove
$p=r+R-L$
l'equazione esce dal teorema di carnot in quanto
$ cos(a/2)= (r^2+p^2-R^2)/(2*r*p)$
scrivendo poi un programmino in Vb è stato abbastanza semplice ricavare un area sufficientemente precisa
L'uso di D per l'area è legata al semplice fatto che non riuscendo a scrivere alfa ho usato a per l'angolo e quindi per non confodere a con A ho usato D nulla di più
Grazie a tutti per l'aiuto, in effetti alla fine trovando conferma dell'impossibilità di trovare un equazione perfetta, la soluzione è stata abbastanza semplice
(edit 14-11-2010 errore di battitura sull'esponente del cos)
Mi riesce nuova la scritta $cos^1(x)$; io ho sempre usato $arccos(x)$ o $cos^(-1) (x)$. Si tratta di un problema di scrittura al computer, o qualcuno la utilizza? A parte questo, avevo trovato la stessa formula; solo, avevo preferito dare denominatore comune nella radice e portarlo fuori, semplificandolo. Avevo anche notato che la radice così ottenuta è, a meno di potenze di 2, l'area del triangolo $OO_1A$.
Partendo dalle equazioni che ho scritto, ho trovato anche un'altra formula carina: ponendo $x=rsin(alpha/2)=R sin (beta/2)$ si ottiene
$S=D=r^2 arcsin (x/r)-x sqrt(r^2-x^2)+R^2 arcsin (x/R)-x sqrt(R^2-x^2)$
Per i moderatori: si può evitare di vedere la parentesi, per esempio in $arcsin (x/r)$ ? Se la tolgo, risulta diviso per $r$ l'intero arcoseno.
Partendo dalle equazioni che ho scritto, ho trovato anche un'altra formula carina: ponendo $x=rsin(alpha/2)=R sin (beta/2)$ si ottiene
$S=D=r^2 arcsin (x/r)-x sqrt(r^2-x^2)+R^2 arcsin (x/R)-x sqrt(R^2-x^2)$
Per i moderatori: si può evitare di vedere la parentesi, per esempio in $arcsin (x/r)$ ? Se la tolgo, risulta diviso per $r$ l'intero arcoseno.
"giammaria":
Per i moderatori: si può evitare di vedere la parentesi, per esempio in $arcsin (x/r)$ ? Se la tolgo, risulta diviso per $r$ l'intero arcoseno.
[tex]arcsin\frac{x}{r}[/tex]
Puoi farlo con tex usando i tag e \frac{numeratore}{denominatore}
Il suggerimento di arghlal funziona anche in ASCIIMathML:
\$arcsin frac{x}{r}\$ - $arcsin frac{x}{r}$.
P.S.: Le parentesi graffe si fanno con AltGr + "è", AltGr + "+".
\$arcsin frac{x}{r}\$ - $arcsin frac{x}{r}$.
P.S.: Le parentesi graffe si fanno con AltGr + "è", AltGr + "+".
Grazie a entrambi.
E' interessante la tua equazione gian, solo che se non ho capito male hai relazionato l'area alla semicorda, quindi devi poi fare altri calcoli per determinare la L, correggimi se sbaglio.
Comunque grazie a tutti allego a seguito un pezzo di codice VB che pemette di fare il calcolo di cui abbiamo parlato con un algoritmo di tipo ripple, fermandosi quando il delta è minore di 0.001
Comunque grazie a tutti allego a seguito un pezzo di codice VB che pemette di fare il calcolo di cui abbiamo parlato con un algoritmo di tipo ripple, fermandosi quando il delta è minore di 0.001
Public Function CalcDist(R1 As Double, R2 As Double, Area As Double) As Double Dim OldStep As Double Dim Q1 As Double Dim Q2 As Double Dim D As Double Dim R1q As Double Dim R2q As Double Dim CurStep As Double Dim NewStep As Double Dim TempArea As Double R1q = R1 * R1 R2q = R2 * R2 NewStep = 1 Do OldStep = CurStep CurStep = NewStep D = R1 + R2 - CurStep Q1 = (R1q + D ^ 2 - R2q) / (2 * R1 * D) Q2 = (R2q + D ^ 2 - R1q) / (2 * R2 * D) TempArea = ArcCos(Q1) * R1q + ArcCos(Q2) * R2q - D * R1 * Sqr(1 - Q1 ^ 2) NewStep = CurStep * 2 Loop While TempArea < Area Do CurStep = OldStep + (NewStep - OldStep) / 2 D = R1 + R2 - CurStep Q1 = (R1q + D ^ 2 - R2q) / (2 * R1 * D) Q2 = (R2q + D ^ 2 - R1q) / (2 * R2 * D) TempArea = ArcCos(Q1) * R1q + ArcCos(Q2) * R2q - D * R1 * Sqr(1 - Q1 ^ 2) If TempArea > Area Then NewStep = CurStep ElseIf TempArea < Area Then OldStep = CurStep Else Exit Do End If Loop While (NewStep - OldStep) > 0.001 CalcDist = CurStep End Function
"robertom":Non sbagli, ma non sono calcoli difficili: si ha $L=r-sqrt(r^2-x^2)+R-sqrt(R^2-x^2)$
se non ho capito male hai relazionato l'area alla semicorda, quindi devi poi fare altri calcoli per determinare la L, correggimi se sbaglio.
Hai ragione i calcoli non sono difficili, solo che per la computazione con calcolatore ti trovi 2 funzioni trigonometriche e quattro radici che hanno parecchio peso
ciao
ciao
Bè, le due funzioni trinometriche ci sono anche nella tua formula; quanto alle quattro radici, sono uguali a due a due, quindi possono essere ridotte a due soltanto. Nella tua formula ce n'è una sola, ma abbondano altri calcoli; concluderei per un sostanziale pareggio. Piuttosto, la tua formula ha il pregio che la variabile è lineare rispetto ad L e la mia no.