now I want to combine some branches together ,the rule is : For path{2} contain number 2 and 5, then conbine the two paths together ,and for path{5} includes only 2&5,no other number ,so it's end .For path{3}, includes number 3&6 ,so we go to path{6}, path{6} includes 3&6&18, then wo go to path{18} , path{18} contains a new number 27, so we check path{27} ,path{27} includes only 27&18, no new numbers ,so it is end.
With this logic, path{2}&{5} become one tree finally , the contains is 2&5 ,and so path{3}&{6} &{18} &{27}(the contents is 3,6,18,27), and so others .
so what I want is:
{2}(2,5)+{5}(2,5)={2/5/anything}(2,5) ## the new path index doesnot matter{3}(3,6)+{6}(3,6,18)+{18}(18,27)+{27}(27,18)={3/6/18/27/?}(3,6,18,27) ``````etc
I tried path mapper, but I donot think it can do the trick this time. may be I just miss something very visible?? Awaiting for your kind help~Thanks in advance.…
ems in the same way. Lofting was particularly difficult, you had to have a separate loft component for every lofted surface that you wanted to generate because the component would/could only see one large list of inputs. Then came along the data structures in GH v0.6 which allowed for the segregation of multiple input sets.
If you go to Section 8: The Garden of Forking Paths of the Grasshopper Primer 2nd Edition you will find the image above describing the storing of data.
Here you will notice a similarity between the path {0;0;0;0}(N=6) and the pathmapper Mask {A;B;C;D}(i). A is a placeholder for all of the first Branch structures (in this case just 0). B is a place holder for all the second branch structures possibly either 0, 1 or 2 in this case. And so forth.
(i) is a place holder for the index of N. If you think of it like a for loop the i plays the same role. For the example {A;B;C;D}(i) --> {i\3}
{0;0;0;0}(0) --> {0\3} = {0}
{0;0;0;0}(1) --> {1\3} = {0}
{0;0;0;0}(2) --> {2\3} = {0}
{0;0;0;0}(3) --> {3\3} = {1}
{0;0;0;0}(4) --> {4\3} = {1}
{0;0;0;0}(5) --> {5\3} = {1}
{0;0;0;1}(0) --> {0\3} = {0}
{0;0;0;1}(1) --> {1\3} = {0}
{0;0;0;1}(2) --> {2\3} = {0}
{0;0;0;1}(3) --> {3\3} = {1}
{0;0;0;1}(4) --> {4\3} = {1}
{0;0;0;1}(5) --> {5\3} = {1}
{0;0;0;1}(6) --> {6\3} = {2}
{0;0;0;1}(7) --> {7\3} = {2}
{0;0;0;1}(8) --> {8\3} = {2}
...
{0;2;1;1}(8) --> {8\3} = {2}
I'm not entirely sure why you want to do this particular exercise but it goes some way towards describing the process.
The reason for the tidy up: every time the data stream passes through a component that influences the path structure it adds a branch. This can get very unwieldy if you let it go to far. some times I've ended up with structures like {0;0;1;0;0;0;3;0;0;0;14}(N=1) and by remapping the structure to {A;B;C} you get {0;0;1}(N=15) and is much neater to deal with.
If you ever need to see what the structure is there is a component called Param Viewer on the first Tab Param>Special Icon is a tree. It has two modes text and visual double click to switch between the two.
Have a look at this example of three scenarios in three situations to see how the data structure changes depending on what components are doing.
…
another example could be:
index 3 value 6
index 4 value 6
index 5 value 6
flipped and branched:
branch 6 index 0 value 3
branch 6 index 1 value 4
branch 6 index 2 value 5
Added by Ante Ljubas at 12:50pm on October 22, 2010
0, 5, 10, 15, 20
1, 6, 11, 16, 21
2, 7, 12, 17, 22
3, 8, 13, 18, 23
4, 9, 14, 19, 24
and if i'm here is because i'm not able... :)
can you help me?
thank you
…
Let's say first curve is divided by 1, the second one by 3, the third one by 9, then by 27 and etc. I tried to raise (i+start) to the power of 3: 3**(i+start). It kinda worked, but not sure if it's the correct way.…
I have this :
list 3 : 0 1 2 3 4 5 6
list 2 : 0 1 2 3 4 5 6
list 1 : 0 1 2 3 4 5 6
list 0 : 0 1 2 3 4 5 6
and I want to group the points of index 0 in a branch, the points of index 1 in another branch and so on.
I attached a file in which I generated the points.
Thank you in advance for your help !
Regards
Red…