Grasshopper

algorithmic modeling for Rhino

spliting 2 large lists into subset or intervals...and get the values to be synchronous ??¿¿¿

Hi all...

i have 2 large lists (200 thousand values) (img 1)....and get them sorted out and synchronous to each other with no problem (img 2).....the values from one list are in order (the other list its not in a incrising numeric order), and the "sort list" component gets the correspondent value of the other list....no problem there.....

but now i have to split them in "X" parts and maintain that correspondance like the sort component does.... :S.....

i havent found an elegant way to do it..... this method is very cool...... https://grasshopper3d.ning.com/forum/topics/splitting-list-into-mor... but often crashed rhino and the slider controls the amount of values has before creating a new subset, no directly the amount of parts i want to split the list into......

the divide interval works, but at the time I create an interval from the list values...the list that needs to stay in the original "dis-order" gets (as an interval would do) ordered (img 3)......not allowing me again to "sort" synchronically the values...

i'm all confused now....any ideas??

Views: 1265

Attachments:

Replies to This Discussion

hola yerko,
mm por lo que entendí creo que tienes una confusión con el asunto de los intervalos.. los intervalos para extraer sublistas, no son intervalos de los valores, sino que deben ser intervalos de los indices de la lista ordenada que ya tienes... es decir deben partir en 0 en adelante..
ej:

0 to 700
701 to 4970
4971 to etc...

y luego ese mismo intervalo debes ocuparlo para hacer sublistas de la otra lista que tienes desordenada pero sincronizada con la primera.
prueba esto:


la definicion esta para intervalos regulares (el slider) y a veces crea una sublista vacía al final, que puedes eliminarla con el clean tree component... la sublista vacía se ocupa en el caso de que la division de los intervalos no es exacta con el largo de las listas originales (fijate que los valores de los intervalos se pasan del largo de la lista, pero no hay problema con eso y simplemente no se toman ni se repiten mas valores de los que tiene la lista).

Si la division de las sublistas es en intervalos irregulares, es un poco mas complicado pero se haría de forma parecida.

Te subo el archivo para que lo mires, es parecido al ejemplo del post que pusiste pero a mi no me da problemas de crash ni nada y he ocupado varias veces este tipo de definiciones (supongo que estas ocupando la version 0.6.0019).

edit: leyendo de nuevo tu post, me di cuenta que entendi una parte mal y el slider que puse controla cuantos valores tiene cada sublista, por lo que vas a tener que reemplazar ese slider por un componente de division entre el largo de las listas y el numero de sublistas que quieres tener (lo que daría el slider que puse yo de cuantos elementos tendría cada sublista).
Attachments:
lo arreglé para que ahora si controles cuantas sublistas quieres... olvidate de los intervalos irregulares que te hablé antes, ya que no se aplica a lo que tú quieres.

ojo que si el valor de la division no es exacto, se va a aproximar.
ej1: 30 elementos / 9 sublistas = 3,33 elementos por lista, se va aproximar a 3 y te van a dar 10 sublistas.
ej2: en el caso de 30 elementos / 8 sublistas = 3,75 elementos por lista, se va a aproximar a 4 y te van a dar 8 sublistas, pero la ultima va a tener 2 elementos.

Parece que hay formas en grasshopper de elejir hacia adonde aproximar, pero la unica que me acuerdo (y no tanto) es convertir el valor con decimales en string y luego extraer hasta la coma o algo asi.. (ahi quedaría aproximado hacia abajo y si se quiere hacia arriba se le suma 1).

saludos y suerte en el proyecto.
Attachments:
waa...perfect....estoy ocupando la .0012.....ahora voy a ver si no me da atados la actualizacion, pero a lo mas a la 0018...

pero por lo que veo en la primera imagen, es lo que tu dices...tenia lo mismo en mis pruebas..solo que agarraba la division de intervalos como valores numericos, y no los ingresaba al intervalo que pide el sublist....


gracias, te pasaste!
la 0019 es más estable que la 0018... te recomiendo saltarte a la ultima no mas.

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service