# Sort point

**URL:** <https://it.discourse.mcneel.com/t/sort-point/3314>\
**Category:** Grasshopper\
**Created:** [17 Luglio 2020, 3:57pm UTC](https://it.discourse.mcneel.com/t/sort-point/3314 "2020-07-17T15:57:04Z")\
**Posts on this page:** 10\
**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:** [17 Luglio 2020, 3:57pm UTC](https://it.discourse.mcneel.com/t/sort-point/3314/1 "2020-07-17T15:57:04Z")

</div>

![Annotazione 2020-07-17 185350](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/7/7a2f4d3468c5a7d2707441ff51fd4b1dd9e64269.png)

come mai sort point ordina le prime due file di punti dall’alto verso il basso  
poi la terza fila continua dal basso verso l’alto?

c’è modo di regolarlo o altro componente?

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [17 Luglio 2020, 4:49pm UTC](https://it.discourse.mcneel.com/t/sort-point/3314/2 "2020-07-17T16:49:17Z")

</div>

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

---

<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:** [17 Luglio 2020, 5:03pm UTC](https://it.discourse.mcneel.com/t/sort-point/3314/3 "2020-07-17T17:03:15Z")

</div>

si Emilio l’ho avevo letto per questo chiedevo anche un’altro componente  
solo non comprendo come mai succede questo se comunque lo spazio  
tra i vari punti sono abbastanza distanzi quindi perchè cambia ordimanento. . . .

---

<div class="post-metadata">

**Author:** ![emilio](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/emilio/32/16095_2.png) [@emilio](https://it.discourse.mcneel.com/u/emilio)\
**Post date:** [17 Luglio 2020, 5:09pm UTC](https://it.discourse.mcneel.com/t/sort-point/3314/4 "2020-07-17T17:09:48Z")

</div>

> [@0904](#):
>
> non comprendo come mai succede questo

Da quanto vedo io nell’immagine postata, l’ordine e’ quello specificato nello Help.

---

<div class="post-metadata">

**Author:** ![inno](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/inno/32/22019_2.png) [@inno](https://it.discourse.mcneel.com/u/inno)\
**Post date:** [18 Luglio 2020, 8:09am UTC](https://it.discourse.mcneel.com/t/sort-point/3314/5 "2020-07-18T08:09:37Z")

</div>

il componente ordina i punti per coordinata X  
se dovesse accadere che alcuni punti avessero esattamente la stessa coordinata X, allora quei particolari punti sarebbero ordinati per coordinata Y  
e se dovesse accadere che alcuni punti con la stessa coordinata X avessero anche la stessa identica coordinata Y, allora quei particolari punti sarebbero ordinati per coordinata Z

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

nel tuo caso il componente sembra trovare per i primi 12 punti una distinta coordinata X, e quindi vengono ordinati in base a quella  
poi invece per gli ultimi 6 punti (12-17) sembra che abbiano tutti identica coordinata X e quindi passi all’ordinamento seguendo la loro coordinata Y

in questo particolare e unico caso, se davvero gli ultimi 6 punti avessero stessa coordinata X, puoi invertire l’ordine degli ultimi 6 punti fingendo di invertire la Y

**questa soluzione che ti propongo è il male assoluto e primordiale, risolve (forse) questo specifico e singolare problema in questa specifica e singolare situazione ma per il resto fa solo del casino**

(i due gruppi indicati fan la stessa identica cosa)

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

---

<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:** [18 Luglio 2020, 8:50am UTC](https://it.discourse.mcneel.com/t/sort-point/3314/6 "2020-07-18T08:50:23Z")

</div>

> [@inno](#):
>
> se dovesse accadere che alcuni punti avessero esattamente la stessa coordinata X

in effetti la terza fila come hai detto hanno una identica coordinata X

grazie della spiegazione ottima osservazione 👍

ps peccato che non esista un componente tipo pointorder dove imposto io la direzione

---

<div class="post-metadata">

**Author:** ![inno](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/inno/32/22019_2.png) [@inno](https://it.discourse.mcneel.com/u/inno)\
**Post date:** [18 Luglio 2020, 10:03am UTC](https://it.discourse.mcneel.com/t/sort-point/3314/7 "2020-07-18T10:03:10Z")

</div>

invertendo i segni desiderati delle coordinate XYZ (come nell’esempio x.Y\*-1 ) e ri-direzionando le coordinate XYZ nel [construct point XYZ] o tramite espressione, riesci a ottenere qualsiasi combinazione di _Sort Points_ possibile [_edit: Sort -\> Sort Points_]

Per esempio, se vuoi ordinare i punti per coordinata Z invertita, poi per coordinata Y, e poi per coordinata X invertita, basterà riscrivere l’espressione in {x.Z\*-1, x.Y, x.X\*-1} e usare l’output indici del componente Sort per riordinare con un List Item la lista punti originali

---

<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:** [18 Luglio 2020, 10:43am UTC](https://it.discourse.mcneel.com/t/sort-point/3314/8 "2020-07-18T10:43:27Z")

</div>

> [@inno](#):
>
> riesci a ottenere qualsiasi combinazione di sort possibile

quindi tramite espressione potrei ottenere ordinamento voluto

quindi essendo che sto lavorando nella vista frontale ZX  
e le prime due file di punti sono in ordine N “rovesciata”  
la terza fila come faccio a continuare con lo stesso ordine?

ps ho fatto delle prove ma come hai accennato all’inizio diventa un casino  
ho allegato il file gh dove stavo provando con una parte dei punti  
espressione l’ho azzerata essendo che mi sballava il tutto  
tranne quest’ultima credo di aver seguito le tue indicazioni.

[inno2.gh](https://it.discourse.mcneel.com/uploads/short-url/fWzNW2e1ZEvD5s2YlyvTL33Ctjm.gh) (8,3 KB)

---

<div class="post-metadata">

**Author:** ![inno](https://sea3.discourse-cdn.com/mcneel/user_avatar/it.discourse.mcneel.com/inno/32/22019_2.png) [@inno](https://it.discourse.mcneel.com/u/inno)\
**Post date:** [18 Luglio 2020, 3:52pm UTC](https://it.discourse.mcneel.com/t/sort-point/3314/9 "2020-07-18T15:52:26Z")

</div>

considera che questi son tutti casi particolari, non è sempre possibile ottenere l’ordinamento voluto

il principio di funzionamento di Sort Points è sempre basata sulle stesse 3 regole:

1. prima per X
2. se hanno la stessa X --\> allora per Y
3. se hanno la stessa X e la stessa Y --\> allora per Z

nel tuo caso particolare, con la regola 1) il componente Sort Points ordina correttamente solo i primi 8 punti: gli ultimi 4 punti han tutti la stessa coordinata X quindi il componente passa alla regola 2)

a te interessa che il componente ordini gli ultimi 4 punti per coordinata Z decrescente, quindi diciamo al componente che la coordinata Z dei tuoi punti in verità è la coordinata -Y (oppure da intendere che la coordinata -Y è la coordinata Z)

in questa maniera Sort Points ordina i punti della regola 2) [credendo che sia il valore Y] tramite i valori -Z

 ![image](https://global.discourse-cdn.com/mcneel/uploads/mcneel_it/original/2X/9/92814aa3c554e46a471397d24c2248a8ea4ac262.png)  
[inno\_2.gh](https://it.discourse.mcneel.com/uploads/short-url/yLUyn4YLsZfRaOwqOhKHxH5XFxl.gh) (5,0 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:** [18 Luglio 2020, 4:51pm UTC](https://it.discourse.mcneel.com/t/sort-point/3314/10 "2020-07-18T16:51:27Z")

</div>

grazie Inno ottima spiegazione (seguo il ragionamento ma da assimilare)

“quindi il mio esempio in gh era sballato 😊”

provo ad applicare il tuo esempio nel mio caso  
essendo che la lista dei punti è più ampia  
chissà cosa ne uscirà fuori . . . .

sei una forza con le liste 👍
