[Gfoss] verifica senso digitalizzazione geometria

Luca Sigfrido Percich sigfrido a tiscali.it
Mer 15 Giu 2011 15:46:29 CEST


Scusa, lo so, mi sono espresso frettolosamente.

Se p[0]..p[n] è la matrice dei punti che compongono il poligono ordinata
secondo il verso geometrico,

bound[0]..bound[3] è una matrice che contiene 4 indici numerici tali
che:

p[bound[0]] è il punto a ordinata massima (p[bound[0]].y = y_min)
p[bound[1]] è il punto ad ascissa massima
p[bound[2]] è il punto as ordinata minima
p[bound[3]] è il punto ad ascissa minima

bound[] va determinata con una scansione di p da 0 a n (n - 1 se il
primo e l'ultimo punto del linearring coincidono), confrontando ascisse
e ordinate dei singoli punti con quelle di due punti max.x, max.y,
min.x, min.y. 

I p[bound] sono i punti in cui il poligono tocca il bounding box.
L'algoritmo funziona anche se ho più punti che intersecano lo steso lato
del bbox, in questo caso viene sempre preso l'ultimo trovato.

Dati dati tre indici a, b, c con 
	a >= 0
	c > b > a
	c < 4

se bound[a] < bound[b] < bound[c]

allora il ring è digitalizzato in senso orario.


Scusami ma sono appena agli inizi con python, non so fornirti un esempio
sintatticamente corretto.

Sig


Il giorno mer, 15/06/2011 alle 15.24 +0200, G. Allegri ha scritto:

> 
> non ho capito cosa contiene la matrice dei 4 indici....
>  




Maggiori informazioni sulla lista Gfoss