Author Topic: Una funzione per la stabilità dei pendii  (Read 47565 times)

0 Members and 4 Guests are viewing this topic.

afazio

  • Guest
Re: Re: Re: Re: Una funzione per la stabilità dei pendii
« Reply #45 on: 15 December , 2009, 23:38:15 PM »

Occorrerebbe pertanto determinarsi tali punti di intersezione. La cosa risulta alquanto ardua, poiche occorrerebbe determinarsi i punti di intersezioni di "una spezzata" con un cerchio determinando per ogni segmento costituente la polilinea, la sua posizione reciproca rispetto al cerchio e capire quele di essi interseca il cerchio se lo interseca.

Non ho trovato la soluzione di questa via.




Ciao Afazio
   non mi sembra difficile da risolvere il problema evidenziato in rosso, se ragioni intermini di distanze dal centro. Se la distanza del nodo i della polilinea è < del raggio e se la distanza del nodo i+1 è > (ovvero se accade il contrario) significa che il segmento della polilinea interseca il cerchio, o sbaglio? Dovrebbe essere abbastanza semplice il codice da scrivere. Ciao.

considera la seguente figura:




col metodo del raggio/distanza i due segmenti (i-1) i  ed i (i+1) verrebbero visti entrambi come esterni.

occorrerebbe pertanto considerare altra condizioneche potrebbe essere la distanza tra segmento e centro.


anche ricorrendo alla distanza tra cerchio e retta su cui giace il segmento non potremmo distinguere i due casi poiche in entrambi i casi abbiamo:

di>R; df>R dc<R

tempo fa avevo individuato una via che ritenevo essere risolutiva che si basava su questo ragionamento:
- i segmenti che possono intersecare il cerchio sono solo e soltanto quelli per cui la distanza della retta su cui giace il segmento e' inferiore al raggio. I rimanenti segmenti sono certamente esterni.
- quindi pensavo di fare una prima cernita tra tuti i segmenti della polilinea applicando questo criterio
- poi avevo pensato di determinare per ciascuno dei segmenti la cui retta godeva di quella caratteristica (distanza minore del raggio) i due punti di intersezione e poi applicare un criterio che poteva farmi capire se gli estremi del segmento erano entrambi esterni entrambi interni o uno interno ed uno esterno,
- la condizione di intersezione poteva essere solo se si verificava il primo ed il terzo caso.
- in ogni caso la soluzione si presentava alquanto laboriosa.

Anche perche avrei dovuto applicare tutti questi ragionamenti anche ale sottostanti superfici di separazione tra gli strati ed alla linea di falda, e poi anche avebdo individuato tuti i punti di intersezione tra varie polilinea e cerchio, la suddivisione che sarebbe partita dal primo punto di intersezione del pendio col cerhio fino al secondo punto di intersezione, non poteva tenere conto della posizione dei punti di intersezione di tutte le superfici di separazione e di tutti i vertici di tutte le polilinee.
Per questo dopo diverse settimane e diversi chili di fogli formato A4 da riciclo, abbandonai l'idea per cercare altra soluzione.
« Last Edit: 15 December , 2009, 23:42:53 PM by afazio »

afazio

  • Guest
Re: Re: Re: Una funzione per la stabilità dei pendii
« Reply #46 on: 16 December , 2009, 13:22:52 PM »

Ciao Afazio
   non mi sembra difficile da risolvere il problema evidenziato in rosso, se ragioni intermini di distanze dal centro. Se la distanza del nodo i della polilinea è < del raggio e se la distanza del nodo i+1 è > (ovvero se accade il contrario) significa che il segmento della polilinea interseca il cerchio, o sbaglio? Dovrebbe essere abbastanza semplice il codice da scrivere. Ciao.

In ogni caso mi hai dato una idea. vediamo se puo portare alla soluzione.
Ipotizziamo per adesso che non ricorra il caso che pur essendo gli estremi entrambi esterni il segmento che li unisce non intersechi il cerchio. Cioè mettiamoci nel caso in cui i due vertici siano uno interno ed uno esterno
In questa situazione vi sarà certamente un punto di intersezione tra il segmento superiore del concio e il cerchio
Trattasi di determinare proprio questo punto e poi sostutire, prima del calcolo dell'area, al valore di (xi;yi) (o di xf a seconda del caso) proprio le coordinate (x;y) del punto di intesezione.





inizio pertanto col determinare le due distanze di e df

di=radq[ (xc-xi)² + (yc-yi)² ]
df=radq[ (xc-xf)² + (yc-yf)² ]

nel caso in cui si abbia:
di>R e df<R , che e' il caso della figura, fisso un punto generico (x;y) interno al segmento superiore del concio e mi determino la distanza d

d=radq[ (xc-x)² + (yc-y)² ]

e confronto questa distanza col raggio. Variero il punto (x;y) finche non ottengo l'uguaglianza

radq[ (xc-x)² + (yc-y)² ] =R

la coppia (x;y) che soddisfa la precedente equazione e' quella del punto di intersezione.

Posso procedere secondo il metodo della bisezione:
- scelgo il punto medio del segmento superiroe del concio:

x= (xf-xi)/2
Y= (yf-yi)/2

determino d e la cofronto con R. Se d e' maggiore di R, allora fisso come punto iniziale del tratto superiore il punto medio precedente e procedo nuovamente seguendo la procedura, se invece e' minore del raggio, allora fisso come estremo finale il punto medio e procedo con la successiva bisezione.
Ovviamente occorrerà fissare una tolleranza quindi il confronte sarà in base alla:

if radq[ (xc-x)² + (yc-y)² ] - R < epsilon
oppure nel caso inverso

if radq[ (xc-x)² + (yc-y)² ] - R > epsilon

alla fine avrò ottenuto le coordinate del punto di intersezione e gli estremi della parte superiore del concio che ricadono uno sul cerchio e l'altro all'interno.



afazio

  • Guest
Re: Re: Re: Re: Una funzione per la stabilità dei pendii
« Reply #47 on: 16 December , 2009, 13:35:55 PM »


In ogni caso mi hai dato una idea. vediamo se puo portare alla soluzione.
Ipotizziamo per adesso che non ricorra il caso che pur essendo gli estremi entrambi esterni il segmento che li unisce non intersechi il cerchio. Cioè mettiamoci nel caso in cui i due vertici siano uno interno ed uno esterno
In questa situazione vi sarà certamente un punto di intersezione tra il segmento superiore del concio e il cerchio
Trattasi di determinare proprio questo punto e poi sostutire, prima del calcolo dell'area, al valore di (xi;yi) (o di xf a seconda del caso) proprio le coordinate (x;y) del punto di intesezione.





inizio pertanto col determinare le due distanze di e df

di=radq[ (xc-xi)² + (yc-yi)² ]
df=radq[ (xc-xf)² + (yc-yf)² ]

nel caso in cui si abbia:
di>R e df<R , che e' il caso della figura, fisso un punto generico (x;y) interno al segmento superiore del concio e mi determino la distanza d

d=radq[ (xc-x)² + (yc-y)² ]

e confronto questa distanza col raggio. Variero il punto (x;y) finche non ottengo l'uguaglianza

radq[ (xc-x)² + (yc-y)² ] =R

la coppia (x;y) che soddisfa la precedente equazione e' quella del punto di intersezione.

Posso procedere secondo il metodo della bisezione:
- scelgo il punto medio del segmento superiroe del concio:

x= (xf-xi)/2
Y= (yf-yi)/2

determino d e la cofronto con R. Se d e' maggiore di R, allora fisso come punto iniziale del tratto superiore il punto medio precedente e procedo nuovamente seguendo la procedura, se invece e' minore del raggio, allora fisso come estremo finale il punto medio e procedo con la successiva bisezione.
Ovviamente occorrerà fissare una tolleranza quindi il confronte sarà in base alla:

if radq[ (xc-x)² + (yc-y)² ] - R < epsilon
oppure nel caso inverso

if radq[ (xc-x)² + (yc-y)² ] - R > epsilon

alla fine avrò ottenuto le coordinate del punto di intersezione e gli estremi della parte superiore del concio che ricadono uno sul cerchio e l'altro all'interno.

alla fine dovremmo pervenire ad una situazione simile a quella raffigurata sotto



in cui si tratta di determinare l'area campita, lo sviluppo dell'arco segnato in rosso e l'angolo di inclinazione della tangente al punto medio dell'arco.

cosa che sappiamo fare senza dover modificare nulla di quanto gia scritto.

Prima di trasferire in codice il tutto, occorre pero' esaminare tutti i casi diversi possibili, catalogarli e vedere se possono compattarsi le procedure



Se vi ho annoiato, ditemelo, continuerò le mie divagazioni geometriche per conto mio.

saluti
« Last Edit: 16 December , 2009, 13:40:19 PM by afazio »

Offline IngTinda

  • Semi Esperto
  • **
  • Posts: 86
  • Karma: 1
  • Neo - Laureato
Re: Una funzione per la stabilità dei pendii
« Reply #48 on: 16 December , 2009, 13:44:13 PM »
qual noia, io mi sto facendo una cultura, grande afazio :clap: :ook:
Ingegneria nuove gravemente alla salute!

afazio

  • Guest
Re: Una funzione per la stabilità dei pendii
« Reply #49 on: 16 December , 2009, 14:09:04 PM »
Qualcuno potrebbe obiettare, a ragione, che con l'ultimo procedimento ho praticamente contraddetto quanto gia espresso precedentemente in merito al metodo delle intersezioni.
Pero' le situazioni sono diverse, poichè nel primo caso si trattava di determinare le intersezioni tra i segmenti costituenti il pendio o le superfici di separazione, mentre in quest'ultimo ragionamento si tratta di determinare l'intersezione tra il segmento superiore di un concio e il cerchio.

Nel primo caso i singoli tratti della polilinea possono avere uno sviluppo maggiore del diametro, poichè nessuno vieta di analizzare un pendio con superficie topografica costituita da parti ad una o due pendenze e nessuno vieta che la superficie di separazione tra due strati non possa essere un unica retta. Quindi potremmo avere a che fare con segmenti la cui ordine di grandezza e' quella del diametro del cerchio.
Nel secondo caso, invece, stiamo parlando di segmenti il cui sviluppo e' in ogni caso una piccola parte del diametro,  dipendente dalla suddivisione in conci. Quindi abbiamo a che fare con segmenti che, mal ci vada, sono di un ordine di grandezza inferiori a quella del diametro del cerchio.
« Last Edit: 16 December , 2009, 14:12:04 PM by afazio »

Offline ferrarialberto

  • Semi Esperto
  • **
  • Posts: 137
  • Karma: 26
Re: Re: Re: Re: Una funzione per la stabilità dei pendii
« Reply #50 on: 16 December , 2009, 14:20:21 PM »


considera la seguente figura:




col metodo del raggio/distanza i due segmenti (i-1) i  ed i (i+1) verrebbero visti entrambi come esterni.

occorrerebbe pertanto considerare altra condizioneche potrebbe essere la distanza tra segmento e centro.


anche ricorrendo alla distanza tra cerchio e retta su cui giace il segmento non potremmo distinguere i due casi poiche in entrambi i casi abbiamo:

di>R; df>R dc<R

Ciao Afazio,
   hai ragione, mi era sfuggito, ma col controllo sulla distanza centro cerchio/punto medio puoi spezzare la polilinea inserendo un punto in corrispondenza del punto medio del segmento, e poi procedere.

Ciao.
ing. FERRARI Alberto - www.ferrarialberto.it

afazio

  • Guest
Re: Re: Re: Re: Re: Una funzione per la stabilità dei pendii
« Reply #51 on: 16 December , 2009, 14:43:14 PM »
Siamo sempre li, Alberto.
Anche considerando il punto medio, quindi operando gia una sorta di suddivisione dei singoli tratti della polilinea in macroconci (quindi si potrebbe pensare di inserire due punti in corrispondenza dei terzi, oppure 4 o 5), in relazione alla lunghezza del segmento, il punto medio puo' risultare essere sia interno che esterno.


Edit By Gilean: Se i post sono consecutivi evitare di quotare l'intero messaggio, il post diverrà così più leggibile.
« Last Edit: 16 December , 2009, 14:58:39 PM by Gilean »

afazio

  • Guest
Re: Una funzione per la stabilità dei pendii
« Reply #52 on: 16 December , 2009, 20:38:41 PM »
continuo con l'analisi dei vari casi possibili

ho gia visto il caso in cui il segmento superiore del concio interseca il cerchio "in salita"



qui ricorrendo al metodo della bisezione determinavo il punto di intersezione e quindi potevo applicare il metodo gia descritto per il calcolo dell'area senza avere dubbi di commettere errori per il semplice fatto che la retta orizzontale condotta dal punto medio del segmento in rosso sta tutta dentro il cerchio

Nel caso in cui invece il tratto spueriore del concio intersecasse il cerchio "in discesa" come nella figura che segue



ci puo venire il dubbio che il metodo descritto per il calcolo dell'area sottesa dal concio residuo [dopo esser passati dal punto (xfo;yfo) al punto (xf;yf) ] non ci fornisca il valore corretto dell'area per il fatto che l'orizzontale passante per il punto medio interseca anch'essa il cerchio.

E' dimostrabile pero' che l'area della parte ABC e' uguale all'area della parte DBE con semplici considerazioni geometriche che per illutrarledovrei postare almeno tre figure. Conducete da voi la verifica se lo ritenete necessario.

se ne conclude che in qualsiasi caso in cui il segmento superiroe interseca il cerchio, "in salita a sx" in salita a dx" in "discesa a sx" ed in "discesa a dx" il metodo descritto nella parte iniziale di questo 3d ci fornisce valori corretti e mai approssimati. Cio' significa che non abbiamo necessita di modificare quella parte di codice che ci calcola l'area ma solo aggiungere una parte di codice che ci controlla se il segmento interseca il cerchio e nel caso positivo ci determini i nuovi estremi del concio.

... segue...

afazio

  • Guest
Re: Una funzione per la stabilità dei pendii
« Reply #53 on: 16 December , 2009, 20:53:32 PM »
Tuttavia dobbiamo porre particolare attenzione sul valore dello sviluppo dell'arco da prendere in considerazione, per intenderci quello che hochiamato con B all'inizio e che ci serve per determinarci la parte di resistenza a taglio dovuta alla coesione.
 Infatti, nel caso in cui la polilinea a cui stiamo facendo riferimento e' quella delal superficie topografica siamo certo che non vi sono altre superfici che intersecano il cerchio, mentre nelcaso in cui il segmento in esame fosse quello di una supercicie di separazione tra due strati, allora lo sviluppo complessivo dell'arco e' quello riferito agli estremi originari e non a quelli ottenuti attraverso il processo di bisezione.
In questo caso dovremmo applicare la coesione del primo strato alla parte B-B' e la coesione dello strato inferiore alla parte B', in cui con B' ho indicato lo sviluppo dell'arco riferito al concio ridotto.

Con una immagine successiva illustrerò l'evenienza.

Offline ferrarialberto

  • Semi Esperto
  • **
  • Posts: 137
  • Karma: 26
Re: Re: Re: Re: Re: Re: Una funzione per la stabilità dei pendii
« Reply #54 on: 16 December , 2009, 21:40:42 PM »
Siamo sempre li, Alberto.
Anche considerando il punto medio, quindi operando gia una sorta di suddivisione dei singoli tratti della polilinea in macroconci (quindi si potrebbe pensare di inserire due punti in corrispondenza dei terzi, oppure 4 o 5), in relazione alla lunghezza del segmento, il punto medio puo' risultare essere sia interno che esterno.


Edit By Gilean: Se i post sono consecutivi evitare di quotare l'intero messaggio, il post diverrà così più leggibile.

Pardon, nella fretta ho scritto una sciocchezza. Dunque: devo ottenere i punti di insersezione tra una polinea definita da n punti ed un cerchio con centro C(xc, yc) e raggio r.
1) l'equazione della circonferenza è (x-xc)^2+(y-yc)^2=r^2;
2) l'equazione della retta appartenente al generico segmento della polilinea è (y-yi)/(yf-yi)=(x-xi)/(xf-xi), salvo le singolarità (xi=xf o yi=yf): i ed f sono i punti iniziale e finale del segento considerato della polilinea;
E' un sistema di secondo grado con 2 incognite. Le soluzioni sono direttamente i punti di intersezione (se le radici sono reali e distinte). Se le radici coincidono ho un punto di tangenza.
Per sostituzione diventa un po' lunga ma ce la si fa abbastanza bene.
3) se le radici esistono devo vedere se sono interne o esterne al segmento considerato. Se sono interne ho beccato i punti d'intersezione (magari 1 sola è interna), se sono esterne le scarto e passo all'analisi del segmento successivo. La condizione affinché la radice sia interna è del tipo " xi<x and x<xf " (se sono interne le ascisse lo sono anche le ordinate essendo una retta, quindi mi limito a questo solo controllo).
Così dovrebbe funzionare anche se è un po' laborioso da implementare.

Ciao.
ing. FERRARI Alberto - www.ferrarialberto.it

Offline ferrarialberto

  • Semi Esperto
  • **
  • Posts: 137
  • Karma: 26
Re: Una funzione per la stabilità dei pendii
« Reply #55 on: 16 December , 2009, 21:44:44 PM »
Eddai. Mi sono dimenticato un'altra roba.
Se xi=xf o se yi=yf (più prababile) beh l'equazione della retta si semplifica (tipo y=yi=yf) e le intersezioni (reali o complesse) col cerchio sono immediate (tipo x=xc+radq(r^2-(yi-yc)^2)).

Ciao.
ing. FERRARI Alberto - www.ferrarialberto.it

afazio

  • Guest
Re: Re: Una funzione per la stabilità dei pendii
« Reply #56 on: 16 December , 2009, 21:45:36 PM »
Tuttavia dobbiamo porre particolare attenzione sul valore dello sviluppo dell'arco da prendere in considerazione, per intenderci quello che hochiamato con B all'inizio e che ci serve per determinarci la parte di resistenza a taglio dovuta alla coesione.
 Infatti, nel caso in cui la polilinea a cui stiamo facendo riferimento e' quella delal superficie topografica siamo certo che non vi sono altre superfici che intersecano il cerchio, mentre nelcaso in cui il segmento in esame fosse quello di una supercicie di separazione tra due strati, allora lo sviluppo complessivo dell'arco e' quello riferito agli estremi originari e non a quelli ottenuti attraverso il processo di bisezione.
In questo caso dovremmo applicare la coesione del primo strato alla parte B-B' e la coesione dello strato inferiore alla parte B', in cui con B' ho indicato lo sviluppo dell'arco riferito al concio ridotto.

Con una immagine successiva illustrerò l'evenienza.



come e' possibile vedere, alla funzione noi passiamo sempre gli estremi di suddivisione in conci, ed in quei casi in cui c'e' l'intersezione del segmento superiore, la funzione per le finalita del calcolo dell'area riduce l'ampiezza del concio determinandosi il punto di intersezione e stabilendo nuovi limiti del concio ridotto.
Correttamente dovremmo determinarci sia lo sviluppo dell'arco di base del concio intero che lo sviluppo dell'arco di base del concio ridotto, in modo da applicare la coesione dei due strati ai tratti di loro competenza.
Ma i casi possono complicarsi considerando il fatto che abbiamo anche previsto la possibilita di un vertice posto all'interno del concio e puo anche capitare il caso che se il vertice e' di uno strato di separazione, questo possa uscire fuori dal cerchio



le cose si complicano abbastanza e se fino ad adesso non abbiamo fatto alcuna approssimazione, per evitare di arrovellarci il cervello e per evitare di appesantire eccessivamente la nostra funzione, decidiamo di attribuire all'intero sviluppo B dell'arco di base, la coesione dell'ultimo strato interessato.

L'errore che si commette e' tanto piu piccolo tanto piu fitta e' la suddivisione in conci.
E poi non e' detto che si debba per forza incorrere nell'errore, seppur piccolo e trascurabile, poiche in genere il modello di suddivisione stratigrafica non preveda un eccessivo frastagliamento delle superfici di separazione, dato che esso viene fissato sulla base dei risultati ottenuto in un numero discreto di sondaggi.

afazio

  • Guest
Re: Re: Re: Re: Re: Re: Re: Una funzione per la stabilità dei pendii
« Reply #57 on: 16 December , 2009, 21:53:38 PM »
Siamo sempre li, Alberto.
Anche considerando il punto medio, quindi operando gia una sorta di suddivisione dei singoli tratti della polilinea in macroconci (quindi si potrebbe pensare di inserire due punti in corrispondenza dei terzi, oppure 4 o 5), in relazione alla lunghezza del segmento, il punto medio puo' risultare essere sia interno che esterno.


Edit By Gilean: Se i post sono consecutivi evitare di quotare l'intero messaggio, il post diverrà così più leggibile.

Pardon, nella fretta ho scritto una sciocchezza. Dunque: devo ottenere i punti di insersezione tra una polinea definita da n punti ed un cerchio con centro C(xc, yc) e raggio r.
1) l'equazione della circonferenza è (x-xc)^2+(y-yc)^2=r^2;
2) l'equazione della retta appartenente al generico segmento della polilinea è (y-yi)/(yf-yi)=(x-xi)/(xf-xi), salvo le singolarità (xi=xf o yi=yf): i ed f sono i punti iniziale e finale del segento considerato della polilinea;
E' un sistema di secondo grado con 2 incognite. Le soluzioni sono direttamente i punti di intersezione (se le radici sono reali e distinte). Se le radici coincidono ho un punto di tangenza.
Per sostituzione diventa un po' lunga ma ce la si fa abbastanza bene.
3) se le radici esistono devo vedere se sono interne o esterne al segmento considerato. Se sono interne ho beccato i punti d'intersezione (magari 1 sola è interna), se sono esterne le scarto e passo all'analisi del segmento successivo. La condizione affinché la radice sia interna è del tipo " xi<x and x<xf " (se sono interne le ascisse lo sono anche le ordinate essendo una retta, quindi mi limito a questo solo controllo).
Così dovrebbe funzionare anche se è un po' laborioso da implementare.

Ciao.

Prendo atto di questo tuo intervento.
Intanto penso di continuare sulla via che ho gia intrapreso, che non e' detto mi porti alla conclusione. Nel caso dovessi registrare il fallimento posso pensare di reiniziare tutto basandomi su qunto mi hai detto.

In ogni caso mi sto divertendo.

Grazie, ciao

Offline ferrarialberto

  • Semi Esperto
  • **
  • Posts: 137
  • Karma: 26
Una funzione per la stabilità dei pendii
« Reply #58 on: 16 December , 2009, 22:05:52 PM »

Prendo atto di questo tuo intervento.
Intanto penso di continuare sulla via che ho gia intrapreso, che non e' detto mi porti alla conclusione. Nel caso dovessi registrare il fallimento posso pensare di reiniziare tutto basandomi su qunto mi hai detto.

In ogni caso mi sto divertendo.

Grazie, ciao


Bene, è un tema interessante quello che stai affrontando.
Io non ho ancora avuto il tempo di analizzarlo anche se è parecchio tempo che ci sto pensando: seguirò con attenzione gli sviluppi.

Ciao.

x Gilean: non è possibile togliere di default tutti 'sti "Re: Re: Re:  ..." che si generano automaticamente nel testo del topic quando ci si risponde in continuo? Ciao.
ing. FERRARI Alberto - www.ferrarialberto.it

Offline Gilean

  • Administrator
  • Bisnonno Veterano
  • *****
  • Posts: 3292
  • Karma: 202
Re: Una funzione per la stabilità dei pendii
« Reply #59 on: 17 December , 2009, 01:24:45 AM »
Bene, è un tema interessante quello che stai affrontando.Io non ho ancora avuto il tempo di analizzarlo anche se è parecchio tempo che ci sto pensando: seguirò con attenzione gli sviluppi.Ciao.x Gilean: non è possibile togliere di default tutti 'sti "Re: Re: Re:  ..." che si generano automaticamente nel testo del topic quando ci si risponde in continuo? Ciao.
Alberto, Bug dei re: re: corretto.
« Last Edit: 17 December , 2009, 19:06:38 PM by Gilean »
Il calcolo è come la pelle delle @@, lo tiri dove vuoi tu.
Esempio di programmazione a Loop:
L'enunciato che segue è falso
L'enunciato precedente è vero.

Nonostante la consapevolezza dei rischi che si corrono dopo aver visto le prestazioni da 3° dan

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24