# Ordinare lista punti

**URL:** <https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739>\
**Category:** Grasshopper\
**Created:** [21 Gennaio 2021, 5:19pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739 "2021-01-21T17:19:35Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [21 Gennaio 2021, 5:19pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/1 "2021-01-21T17:19:35Z")

</div>

ho alcuni punti realizzati con delle intersezioni, ora questi punti servono per realizzare una IntCrv  
che deve formare un cerchio, mentre i punti sono ordinati a zigzag. c’è una soluzione di ordine?

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [21 Gennaio 2021, 7:14pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/2 "2021-01-21T19:14:14Z")

</div>

Immagine pliiiiss?

---

<div class="post-metadata">

**Author:** ![leopoldomonzani](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/leopoldomonzani/32/17957_2.png) [@leopoldomonzani](https://it.discourse.mcneel.com/u/leopoldomonzani)\
**Post date:** [21 Gennaio 2021, 8:05pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/3 "2021-01-21T20:05:00Z")

</div>

Provo senza immagine.  
[img](https://it.discourse.mcneel.com/uploads/short-url/xFFl1X1FaaoIgcb8qgzp2hZL9RS.jpeg)  
[sort.gh](https://it.discourse.mcneel.com/uploads/short-url/dTUNR585y29A1exs7vupPJhAtMV.gh) (12,6 KB)

---

<div class="post-metadata">

**Author:** ![taldi72](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/taldi72/32/16043_2.png) [@taldi72](https://it.discourse.mcneel.com/u/taldi72)\
**Post date:** [21 Gennaio 2021, 8:07pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/4 "2021-01-21T20:07:51Z")

</div>

C’è un componente che si chiama SortAlongCurve, a memoria dovrebbe essere nel menu Vector, nel reparto Punti.  
Ordina i punti seguendo una curva, se li hai bisogno in forma circolare, un componente Circle dovrebbe risolvere il problema.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [21 Gennaio 2021, 8:45pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/5 "2021-01-21T20:45:00Z")

</div>

grazie a tutti per le risposte

per Luca:

 ![POINT](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/b/bf75e23edddd4bc25f97747449181f937d6a2809.png)

Leopoldo complimenti per la definizione, non credevo tutto questo per avere questo risultato.  
nel tuo esempio il risultato è quello, adesso cerco di capire come funzione e provo per il mio caso 👍

> [@taldi72](#):
>
> C’è un componente che si chiama SortAlongCurve

taldi72, do un’occhiata anche a questo metodo, cosi vedo se fa nel mio caso 👌

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [21 Gennaio 2021, 9:42pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/6 "2021-01-21T21:42:44Z")

</div>

meno componenti, niente script:

 ![image](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/2/292c301e4c21c570f6a24a3d0924c6f1ccd34dfa.png)

Poi se c’è qualcosa di pronto ben venga.

[salvio.gh](https://it.discourse.mcneel.com/uploads/short-url/o2LmPJNeANJMgzScNGJemrPN7Ca.gh) (14,7 KB)

ps ma la soluzione di Taldi penso sia la migliore. Non ho provato.

ps2 Leo, se il centro della regione è fuori dal gruppo di punti non funziona più, occore calcolare il centro di massa.

---

<div class="post-metadata">

**Author:** ![taldi72](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/taldi72/32/16043_2.png) [@taldi72](https://it.discourse.mcneel.com/u/taldi72)\
**Post date:** [21 Gennaio 2021, 9:59pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/7 "2021-01-21T21:59:24Z")

</div>

La tua situazione attuale rispecchia l’ordinamento standard di GH, in ordine di X, poi in ordine di Y ed eventualmente in ordine di Z, come aveva spiegato @giuseppe in un altro post.  
Se quello che ti serve è quanto raffigurato nella tua immagine, ti potrebbero servire solo 2 componenti, Circle Fit e SortPointsAlongCurve.

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [21 Gennaio 2021, 10:01pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/8 "2021-01-21T22:01:31Z")

</div>

però che succede se due punti sono sullo stesso raggio?

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [21 Gennaio 2021, 10:08pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/9 "2021-01-21T22:08:46Z")

</div>

comunque vince Taldi, ho provato, stessa curva, soli 3 componenti.  
Allego.  
[salvio.gh](https://it.discourse.mcneel.com/uploads/short-url/bs83UeJZ7oqgNC7pMjpw0KBYR7A.gh) (17,4 KB)

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [21 Gennaio 2021, 10:27pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/10 "2021-01-21T22:27:11Z")

</div>

> [@luca.filippone](#):
>
> comunque vince Taldi

Luca non sapevo che fosse una sfida 😄 😄

si comunque quello di Taldi è sicuramente più pratico

![POINT1](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/3/32567bb693ec2cb17aec5147fbee4e5291b3629c.png)

in effetti con tre componenti si riesce a portare il risultato a casa

> [@taldi72](#):
>
> Circle Fit e SortPointsAlongCurve.

usando CircleFit come suggerito vanno bene 2, anche se con la soluzione postata in foto filtro il punto sul quale creare il cerchio e questo mi torna utile essendo che poi sarà il punto inizio/fine del cerchio.

grazie Taldi ottima soluzione pratica 👍  
con calma mi vedrò anche le soluzioni di Leopoldo e Luca  
giusto per capire il ragionamento e come metterlo in pratica 👍

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [22 Gennaio 2021, 9:27am UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/12 "2021-01-22T09:27:17Z")

</div>

> [@0904](#):
>
> Luca non sapevo che fosse una sfida 😄 😄

Ma figurati… un gioco più che altro 😜

---

<div class="post-metadata">

**Author:** ![leopoldomonzani](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/leopoldomonzani/32/17957_2.png) [@leopoldomonzani](https://it.discourse.mcneel.com/u/leopoldomonzani)\
**Post date:** [22 Gennaio 2021, 12:46pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/13 "2021-01-22T12:46:25Z")

</div>

E si impara sempre qualcosa di nuovo.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [22 Gennaio 2021, 3:27pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/14 "2021-01-22T15:27:28Z")

</div>

> [@leopoldomonzani](#):
>
> E si impara sempre qualcosa di nuovo.

è io dico “per fortuna” 😃

> [@luca.filippone](#):
>
> Ma figurati… un gioco più che altro

mi collego a quanto detto sopra: giocando si impara 😉

Luca, spiegato semplicemente, il componente “Average” come funziona?  
ti è servito per trovare il centro dei punti indicati?

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [22 Gennaio 2021, 4:10pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/15 "2021-01-22T16:10:20Z")

</div>

Si Salvio, average significa media. In pratica, una popolazione di punti possiede un punto detto centro di massa (CM) rappresentante la posizione media degli stessi.  
Se lanci una pallina che ha un suo centro seguirà una traiettoria parabolica. Adesso immagina di farla esplodere in tanti pezzi durante il percorso: anche se tutti i pezzi si allontanano dal centro della pallina, il CM della stessa continuerà a fare il suo percorso parabolico. Cioè mediamente la pallina continua ad avere traiettoria parabolica.  
Con quei componenti ho trovato la media delle coordinate lungo i tre assi e quindi in CM.

Ps possibile che con esista un componente per il CM di punti?

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [22 Gennaio 2021, 5:23pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/16 "2021-01-22T17:23:07Z")

</div>

ok grazie Luca per la spiegazione 😉 ottimo escamotage per trovare il centro di punti 👍  
(in mancanza di un componente specifico)

quello che non comprendo sono i componenti vector2pt e angle:  
una volta trovato i vettori e calcolato gli angoli e alla fine riordini i punti iniziali in base all’angolazione  
com’ è che questa procedura riesce a indicare a Gh il senso rotatorio da seguire alla curva?

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [22 Gennaio 2021, 6:10pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/17 "2021-01-22T18:10:07Z")

</div>

In pratica devi spazzare un raggio vettore dopo l’altro in senso orario ad esempio a partire da un semiasse positivo, X ad esempio.  
Ad ogni raggio vettore è associato un punto e un angolo quindi se li ordini in senso orario ordini i punti. Il comando sort fa un ordinamento degli angoli, tanti quanti sono i punti e associa la stessa trasformazione alla lista di punti.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [22 Gennaio 2021, 8:05pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/18 "2021-01-22T20:05:55Z")

</div>

mmmm 🤔

nella teoria che fa un senso orario ci siamo  
ma quello che non mi torna, visualizzando l’ordine degli angoli sono dal più piccolo al più grande  
com’ è che l’ordine di grandezza fa sì che la curva vada in senso orario?

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [22 Gennaio 2021, 8:11pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/19 "2021-01-22T20:11:10Z")

</div>

Dal più piccolo al più grande non è in ordine crescente di angolo? Orario o antiorario poco cambia, i punti saranno presi in successione.

---

<div class="post-metadata">

**Author:** ![0904](https://avatars.discourse-cdn.com/v4/letter/0/b3f665/32.png) [@0904](https://it.discourse.mcneel.com/u/0904)\
**Post date:** [22 Gennaio 2021, 8:26pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/20 "2021-01-22T20:26:29Z")

</div>

![Immagine4](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/f/f5136025b4f4b952941180e7a66ae4424780a6a7.png)

la lista a Sx sono mischiate, mentre quelle a Dx sono ordinate dal più piccolo al più grande.  
quindi presumo che Sort ordina i punti del ValoreA in base all’ordine crescente dell’input Keys?

---

<div class="post-metadata">

**Author:** ![luca.filippone](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/luca.filippone/32/16173_2.png) [@luca.filippone](https://it.discourse.mcneel.com/u/luca.filippone)\
**Post date:** [22 Gennaio 2021, 8:32pm UTC](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739/21 "2021-01-22T20:32:53Z")

</div>

Si corretto

[Pagina seguente](https://it.discourse.mcneel.com/t/ordinare-lista-punti/3739.md?page=2)
