Pagina 1 di 1

Problema geometrico/matematico - Inter....

Inviato: 30 mag 2008, 16:42
da G.B.Teo
...oppure c'è qualche altro esperto in matematica/geometria che mi può dare una mano?

Devo fare un programma parametrico per un tornio cnc (ma questo non vi interessa) e devo trovare una formuletta che mi risolva le relazioni fra le distanze di questi elementi.

Allora supponiamo di avere una semicirconferenza C di raggio R e una circonferenza c di raggio r
dove per prima cosa R è sempre maggiore di r
Immagine
Io ho bisogno di inserire c dentro C in varie posizioni senza mai farlo sbordare, quindi devo arrivare al massimo al punto di tangenza fra le due circonferenze.
Immagine
Quello che voglio sapere è, in funzione dei raggi r e R e in funzione della profondità di inserimento P quanto vale lo spostamento massimo S del centro di c. Ovviamente c si deve spostare dentro C in linea retta orizzontale da un punto di tangenza sinistro al punto di tangenza destro
Immagine
Insomma dite che c'è il modo per ricavare una formuletta che mi calcoli questo spostamento?
Mi sembra di essere stato chiaro, ma se non si capisce qualcosa non esitate a chiedere
Ringrazio in anticipo chiunque abbia voglia di scervellarsi per me 

Inviato: 30 mag 2008, 19:47
da interforever
Adesso son stanchissimo, ti prometto che nel fine settimana lo guardo..
W FILIPPO!!!!!!!!!
Questa notte splendida darà i colori al nostro stemma: il nero e l'azzurro sullo sfondo d'oro delle stelle. Si chiamerà Internazionale, perchè noi siamo fratelli del mondo.
Ps: Visto che la diarrea non è stata sufficiente, tra poco inizierò ad augurare malattie veneree a chi tocca la mia firma...

Inviato: 30 mag 2008, 19:54
da G.B.Teo
figurati, mica ho fretta...... e senza problemi, se non puoi non fa nulla.
Mi hanno già passato una possibile soluzione ma vorrei conferma da qualcuno più esperto :)

Inviato: 30 mag 2008, 23:08
da TheGib
Sono sotto l'effetto della birra, quindi meglio aspettare che il prof. controlli... :wink:

Nel seguito:
SQRT = "radice quadrata"
^2 = "al quadrato"

Ci sono 3 casi:

A) Se il centro del cerchio piccolo si muove all'interno della semicirconferenza, cioè R >= (r+p), allora:
S = 2*SQRT(p*(2R-2r-p))

B) Se invece si muove sotto il bordo, ma senza scappare, cioè p <= R < (r+p), allora:
S = 2*(R-SQRT(2rR+2Rp-R^2-p^2-2rp))

Nel caso limite R = r+p le due soluzioni A) e B) coincidono in S = 2*(R-r), segnale confortante ::p:


C) Se p > R la circonferenza piccola schizza fuori, e non c'è niente da limitare :lol:
La nostra vera nazionalità è l'umanità. H.G.Wells
...siamo tutti un po' Garak

Inviato: 31 mag 2008, 0:28
da G.B.Teo
mmm guarda, sono appena tornato dal bar anch'io.... comunque... io non posso avere 3 casi...
devi considereare che devo poi creare un progrmma che vada sempre bene... mmmm vabeh, facciamo così, magari ne riparliamo dopo il wichend? :)

Inviato: 31 mag 2008, 6:42
da TheGib
Probabilmente ti interessa solo il caso A) :wink:
La nostra vera nazionalità è l'umanità. H.G.Wells
...siamo tutti un po' Garak

Inviato: 1 giu 2008, 18:45
da G.B.Teo
beh non direi perchè homa condizione in cui il cerchio piccolo si infila solo leggermente dentro il semicerchio.
Guarda la figura centrale delll'immagine con 3 disegni

Inviato: 1 giu 2008, 20:53
da TheGib
In tal caso ti servono sia A) sia B); non credo che la risposta possa essere univoca: nel primo caso le due circonferenze sono obbligatoriamente tra loro tangenti, nel secondo no, a meno che tu non voglia comunque avere come limite la semiretta di prolungamento tangente della semicirconferenza: in questo caso, una volta "sceso", il limite non cambia: S= 2*(R-r).
La nostra vera nazionalità è l'umanità. H.G.Wells
...siamo tutti un po' Garak

Inviato: 2 giu 2008, 10:45
da G.B.Teo
sì è vero devoper forza usare due casi, possoine effett far fare al programma una verifica della condizione p+r <= R allora uso il caso A
mentre se p+r>R allora uso il caso B

io il caso B però credo di averlo trovato più semplicemente facendo
S = 2*(R- sqrt(r^2 - (P+r-R)^2))

Perchè quando il cerchio piccolo tocca uno dei punti estremi del diametro del semicerchio, il suo centro è distante da quel punto di r che è l'ipotenusa di un triangolo che ha come cateto P+r-R. Quindi trovo l'altro cateto e lo sottraggo al raggio del semicerchio

ti risulta?

Inviato: 2 giu 2008, 11:45
da TheGib
Certo: è la stessa formula da cui sono partito io, solo che l'ho poi sviluppata per cercare di semplificarla... con scarsi risultati :lol:
La nostra vera nazionalità è l'umanità. H.G.Wells
...siamo tutti un po' Garak

Inviato: 2 giu 2008, 13:31
da interforever
Ma non puoi usare un ciclo del tipo if.. then ...else...
Ps: Ho tre pacchi di compiti di correggere, e domani altri due. non credo riuscirò a dargli un'occhiata in tempi rapidi...
W FILIPPO!!!!!!!!!
Questa notte splendida darà i colori al nostro stemma: il nero e l'azzurro sullo sfondo d'oro delle stelle. Si chiamerà Internazionale, perchè noi siamo fratelli del mondo.
Ps: Visto che la diarrea non è stata sufficiente, tra poco inizierò ad augurare malattie veneree a chi tocca la mia firma...

Inviato: 2 giu 2008, 20:51
da G.B.Teo
Inter purtroppo non il linguaggio con cui devo programmare non è così avanzato...
operazionali cme IF ELSE ci sono ma non ci sono i cicli...
Comunque ci dovrei arrivare ugualmente, se domani al lavoro mi lasciano un po' in pace ci provo