[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