[Gfoss] calcolo linea perpendicolare
giulianc51
giulianc51 a gmail.com
Dom 22 Feb 2015 14:27:34 CET
Il giorno Sat, 21 Feb 2015 11:27:38 +0100
Davide Petrucci <davide.petrucci78 a gmail.com> 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 :-) :-)
Maggiori informazioni sulla lista
Gfoss