salve a tutti, scusate il disturbo ho la necessità di creare la linea perpendicolare di una linea presente sul mio db oracle spatial. In realtà ne vorrei creare tre, 2 che passano sui 2 punti delle linea e una terza che passa sul centroide della linea.
Non sono riuscito a trovare una funzione che lo fà. Potete dirmi qual'è l'algoritmo matematico per favore, così lo scrivo in python o in plsql ? (l'estrazione dei punti iniziali, finali e il centroide non sono un problema) P.S. la linea perpendicolare dovrebbe essere lunga 50 metri nella maggiorparte dei casi, per alcune eccezioni 30 metri. Grazie mille a tutti in anticipo Saluti Davide _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
On Sat, 21 Feb 2015 11:27:38 +0100, Davide Petrucci wrote:
> Non sono riuscito a trovare una funzione che lo fà. Potete dirmi > qual'è l'algoritmo matematico per favore, così lo scrivo in python o > in plsql ? > http://it.wikipedia.org/wiki/Perpendicolarit%C3%A0 ciao Sandro _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
In reply to this post by donpetros
Il giorno Sat, 21 Feb 2015 11:27:38 +0100
Davide Petrucci <[hidden email]> ha scritto: > salve a tutti, ciao Davide; > .... scusate il disturbo ho la necessità di creare la linea > perpendicolare di una linea presente sul mio db oracle spatial... premesso che: 1) non so se è esattamente quello che vuoi 2) non posso garantire che non sia bacata 3) ... .) ... n-2) non è certamente scritta sufficientemente bene per essere autodocumentata n-1) probabilmente è meglio scriversela da soli piuttosto che .. n) .... .) .... 2n) se trovi errori e me li segnali te ne sono grato 2n+1) idem se la migliori e me lo segnali 2n+1) .... (*) sotto trovi una bozza di funzione python per calcolare il piede della perpendicolare da n0 al segmento n1-n2 (c'è anche se il piede cade nel segmento o fuori ma a te adesso questo non interessa): def EdgeNormalFromPoint(n0,n1,n2): """ Calcola il piede della perpendicolare dal punto N0 al segmento N1-N2; f(lag)int indice che il piede è interno o meno al segmento. """ x0,y0 = n0.x(),n0.y() x1,y1 = n1.x(),n1.y() x2,y2 = n2.x(),n2.y() # calcolo del punto con metodo vettoriale dux = x0 - x1 duy = y0 - y1 dx = x2 - x1 dy = y2 - y1 mw = math.sqrt(dx**2+dy**2) a = (dux*dx + duy*dy) / mw x = x1 + a*dx/mw y = y1 + a*dy/mw if (a/mw) >= 0 and (a/mw) <= 1: fint = True else: fint = False return fint,x,y da quì dovresti poter costruire tutto quello che ti serve; > Grazie mille a tutti in anticipo > Saluti > Davide ciao, giuliano (*) sto leggendo un bel libro di Wallace sui numeri transfiniti di Cantor: spero ti fiderai sulla parola che il numero delle premesse potrebbe raggiungere aleph con zero :-) :-) _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
In reply to this post by donpetros
On Sat, Feb 21, 2015 at 11:27:38AM +0100, Davide Petrucci wrote:
> salve a tutti, scusate il disturbo ho la necessità di creare la linea > perpendicolare di una linea presente sul mio db oracle spatial. In realtà > ne vorrei creare tre, 2 che passano sui 2 punti delle linea e una terza > che passa sul centroide della linea. > Non sono riuscito a trovare una funzione che lo fà. Potete dirmi qual'è > l'algoritmo matematico per favore, così lo scrivo in python o in plsql ? > (l'estrazione dei punti iniziali, finali e il centroide non sono un > problema) > P.S. la linea perpendicolare dovrebbe essere lunga 50 metri nella > maggiorparte dei casi, per alcune eccezioni 30 metri. > Grazie mille a tutti in anticipo > Saluti Visto che parli pitonese, dai una occhiata qua: https://bitbucket.org/flovergine/transects/src/648e9c8f4f2578af6862f047354e10dee0db6a41/transects.py?at=master in particolare a riga 298, e nota relativa. Ottenere la linea perpendicolare è meno scontato di quello che sembra ;-) -- Francesco P. Lovergine _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
Il giorno Fri, 27 Feb 2015 16:16:56 +0100
"Francesco P. Lovergine" <[hidden email]> ha scritto: ciao Frankie, > On Sat, Feb 21, 2015 at 11:27:38AM +0100, Davide Petrucci wrote: > > salve a tutti, scusate il disturbo ho la necessità di creare la > > linea perpendicolare ...... > > Visto che parli pitonese, dai una occhiata qua: > > https://bitbucket.org/flovergine/transects/src/648e9c8f4f2578af6862f047354e10dee0db6a41/transects.py?at=master > > in particolare a riga 298, e nota relativa. Ottenere la linea > perpendicolare è meno scontato di quello che sembra ;-) il problema (generale, non specifico) interessa anche a me; ho cercato di leggere la tua nota ma il mio inglese è alquanto zoppicante (*) e ho colto solo la segnalazione di un problema numerico "instabile" senza spiega: qual'è il motivo della instabilità, oltre al fatto che occorre qualche cautela(**) quando il punto è sul segmento? grazie, ciao, giuliano (*) così gli amici della lista traduzioni capiranno anche il motivo del mio scarso impegno a partecipare ai loro lavori da qualche tempo in qua .... :-( (**) @Davide: questo è un caso che mi sembra di non aver previsto nello spezzone di codice che ti ho inviato; in realtà l'instabilità dovrebbe presentarsi solo nel caso in cui il punto coincide con il primo estremo del segmento, in ogni caso qualche supplemento di attenzione per i casi di punto lungo il segmento e di segmento orizzontale/verticale non guasta :-) _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
On Fri, Feb 27, 2015 at 05:11:16PM +0100, giulianc51 wrote:
> > il problema (generale, non specifico) interessa anche a me; ho cercato > di leggere la tua nota ma il mio inglese è alquanto zoppicante (*) e > ho colto solo la segnalazione di un problema numerico "instabile" senza > spiega: qual'è il motivo della instabilità, oltre al fatto che occorre > qualche cautela(**) quando il punto è sul segmento? > L'instabilità numerica, derivante dall'uso di aritmetica a precisione finita, rende problematica l'implementazione delle equazioni standard della geometria analitica: i numeri floating point sono solo una approssimazione del campo dei numeri reali, bisogna tenerne conto. Senza gli accorgimenti indicati nel codice, i transetti del mio codice deviano dalla perpendicolare molto visibilmente. E' lo stesso motivo per cui la soluzione di una equazione di secondo grado non si implementa con le formulette della scuola media, per farla breve. L'implementazione di un algoritmo numerico per questi motivi è non raramente apparente magia nera. -- Francesco P. Lovergine _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
Il giorno Sat, 28 Feb 2015 15:03:37 +0100
"Francesco P. Lovergine" <[hidden email]> ha scritto: ciao Frankie; > On Fri, Feb 27, 2015 at 05:11:16PM +0100, giulianc51 wrote: > > > > il problema (generale, non specifico) interessa anche a me;...... > > L'instabilità numerica, derivante dall'uso di aritmetica a precisione > finita, .... oops, questo è un problema che non ho ancora affrontato .... sono ancora fermo alla definizione dei numeri reali: non riesco a decidermi tra la sezioni di Dedeking e le successioni regolari di Cantor; alla rappresentazione in virgola mobile credo mi manchino un paio di secoli: devo aspettare ancora un pò :-) grazie, ciao, giuliano _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
Scusate se disturbo le dissertazioni accademiche sul calcolo differenziale :) , ma mi sembra che il problema posto all'inizio chieda la normale al punto centrale di una linea, e non il contrario.
Sbaglio ? R Il giorno 28/feb/2015, alle ore 21:11, giulianc51 <[hidden email]> ha scritto: > Il giorno Sat, 28 Feb 2015 15:03:37 +0100 > "Francesco P. Lovergine" <[hidden email]> ha scritto: > > ciao Frankie; > > >> On Fri, Feb 27, 2015 at 05:11:16PM +0100, giulianc51 wrote: >>> >>> il problema (generale, non specifico) interessa anche a me;...... >> >> L'instabilità numerica, derivante dall'uso di aritmetica a precisione >> finita, .... > > oops, questo è un problema che non ho ancora affrontato .... sono > ancora fermo alla definizione dei numeri reali: non riesco a decidermi > tra la sezioni di Dedeking e le successioni regolari di Cantor; > alla rappresentazione in virgola mobile credo mi manchino un paio di > secoli: devo aspettare ancora un pò :-) > > > grazie, ciao, > giuliano > > > _______________________________________________ > [hidden email] > http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss > Questa e' una lista di discussione pubblica aperta a tutti. > I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. > 666+40 iscritti al 5.6.2014 [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
Si sbagli non è cosi semplice... Il 28/Feb/2015 21:47 "Geodrinx" <[hidden email]> ha scritto:
Scusate se disturbo le dissertazioni accademiche sul calcolo differenziale :) , ma mi sembra che il problema posto all'inizio chieda la normale al punto centrale di una linea, e non il contrario. _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
In reply to this post by geodrinx
Il giorno Sat, 28 Feb 2015 21:47:03 +0100
Geodrinx <[hidden email]> ha scritto: ciao Roberto, > Scusate se disturbo le dissertazioni accademiche sul calcolo > differenziale :) , ma mi sembra che il problema posto all'inizio > chieda la normale al punto centrale di una linea, e non il contrario. > Sbaglio ? ehmmm ... sì, non stavamo parlando di calcolo differenziale, ma di semplice "geometria analitica" (Frankie), "(elementare) calcolo vettoriale" io; senonchè Frankie ha calato un carico da 11 con il problema della aritmetica finita dei processori....(*); > R ciao, giuliano PS: già altri, che non cito, avevano sollevato tempo fa in lista analogo problema: non sarebbe male un ripasso dell'argomento (almeno per me :-) _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
Inviato da iPhone Il giorno 28/feb/2015, alle ore 22:30, giulianc51 <[hidden email]> ha scritto: > Il giorno Sat, 28 Feb 2015 21:47:03 +0100 > Geodrinx <[hidden email]> ha scritto: > > ciao Roberto, > > >> Scusate se disturbo le dissertazioni accademiche sul calcolo >> differenziale :) , ma mi sembra che il problema posto all'inizio >> chieda la normale al punto centrale di una linea, e non il contrario. >> Sbaglio ? > > ehmmm ... sì, non stavamo parlando di calcolo differenziale, anche un ripasso di calcolo ironico non sarebbe male. :) Simpaticamente Roberto _______________________________________________ [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 666+40 iscritti al 5.6.2014 |
Free forum by Nabble | Edit this page |