Il giorno Sat, 21 Feb 2015 11:27:38 +0100
Davide Petrucci <[email protected]> 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 :-) :-)
_______________________________________________
[email protected]
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

Rispondere a