The best way is to use a C# or a VB component to transpose these
lists. I think in C# you can use transpose directly. You can ask this
on the VB/C# forum on our new website, www.grasshopper3d.com
- Scott
On May 27, 3:56 am, Tonsgaard wrote:
> Being a long time user of Generative Components trying to use
> grasshopper i miss the "transpose" command.
> I have a point list like this:
>
> 0, 1, 2, 3, 4, 5
> 0, 1, 2, 3, 4, 5
> 0, 1, 2, 3, 4, 5
> 0, 1, 2, 3, 4, 5
> 0, 1, 2, 3, 4, 5
>
> and a want to transpose dimensions to:
>
> 1, 1, 1, 1, 1
> 2, 2, 2, 2, 2
> 3, 3, 3, 3, 3
> 4, 4, 4, 4, 4
> 5, 5, 5, 5, 5
>
> Surely I am not the first in need of this...
> how would i go about and do this...? I suppose its quite easy in VB
> script, but being used to GC's C# like language, I kinda dont know how
> to do this...
>
> thanks...
>
> Tonsgaard…
in the desired order.
0 = 0
1 = 1
2 = 6
3 = 7
4 = 8
5 = 9
6 = 12
7 = 13
8 = 2
9 = 3
10 = 4
11 = 5
12 = 10
13 = 11
Where the first number is the index and the second number is the actual sorting key. Then you sort these keys while sorting your curves in parallel using the A input of the Sort component.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
ep is to understan the logics of what you want to do, in your case, build 4 point surfaces (u also need to know the right direction to build the surfaces). Then you can write an hipotetic list (by hand in a paper) of what you want. In your case the list was (0, 1, 3, 2) (2, 3, 5, 4) (4, 5, 7, 6), etc... if you can imagine building 2 lists, each one with the sequences (0, 2, 4, 6, etcc) and (1, 3, 5, 7, etc..) then you can manage with shift and graft to finally have four lists. A( 0 1 2 3 ...) B (1 3 5 etc..) C(3 5 7 etc..) D (2 4 6 etc..). And to achieve the 2 first lists, you need to get the odd and the pair numbers. The cull pattern does that amazingy well. With a pattern True-False you get de pair numbers, and with the False-True pattern you get de odd numbers.
Hope it was clear enough…
Added by Pep Tornabell at 5:32am on November 19, 2009
points 0, X-1, (2*x)-1, (3*X)-1, (4*X)-1, (5*X)-1 and then
1, X, (2*x), (3*X), (4*X), (5*X)
2, X+1, (2*x)+1, (3*X)+1, (4*X)+1, (5*X)+1
and so on till
5, X+4, (2*x)+4, (3*X)+4, (4*X)+4, (5*X)+4
How can I do this best?
Thanks,
Niels…