On Wed, 15 Jun 2011 15:46:29 +0200 Luca Sigfrido Percich <sigfr...@tiscali.it> wrote:
> > 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 > ........ ciao Luca, 0) mi sembra che il tuo algoritmo si basi sul fatto che per passare con un orientamento ORARIO dall'ordinata max a quella min occorre passare prima per l'ascissa max (o per passare dall'ascissa max a quella min occorre prima passare dall'ordinata min): questo e' il senso dell'ordine crescente richiesto per i dati secondo i tre indici 0,1,2 o 1,2,3; 1) mi sembra che l'algoritmo quindi funzioni solo per poligoni non intrecciati (non ho un background geografico - cartografico, per cui ne parlo in termini puramente geometrici); 2) non e' robusto: mi sembra che nel caso di un poligono antiorario (1,1), (3,2), (4,4), (2,3), (1,1) o orario (1,1), (2,3), (4,4), (3,2), (1,1) non sia in grado di determinarne il senso; 3) curiosita': quale la fonte di questo algoritmo? 4) il metodo dell'area proposto da Giovanni e' basato sulla somma algebrica delle aree sottese ad ogni lato (cosi' mi sembra di ricordare nelle versioni che ho visto pubblicate: Newmann/Sproull? Foley/VanDam? Knuth? se e' importante cerco di trovarlo) quindi dovrebbe dare comunque il valore dell'area; il segno sara' positivo o negativo a seconda del senso di percorrenza (dovrebbe funzionare anche per poligoni intrecciati); 5) un concetto analogo e' quello del momento statico di una forza (un lato) rispetto ad un punto che puo' destrogiro o sinistrogiro, ma occorre verificare e inoltre il calcolo probabilmente e' molto vicino a quello fatto con il metodo dell'area; ciao, giuliano _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione Gfoss@lists.gfoss.it http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 518 iscritti al 3.6.2011