ards to the number before the start number...
i.e. 9, 0, 1, 2, 3, 4, 5, 6, 7, 8
then it will need to repeat this pattern (continuing to count upwards) and the repeat number is based on a slider (for example 3 in the case illustrated below):
9, 0, 1, 2, 3, 4, 5, 6, 7, 8
19, 10, 11, 12, 13, 14, 15, 16, 17, 18,
29, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
if anyone has any ideas on how to create this series it would be great
M.…
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…
ches it with the first branch in Tree B (and then the first branch in Tree C if more than two trees are involved).
I'm planning to add better branch matching logic, but I'm not going to touch it until I have a good idea about what's needed and how it can be accomplished without breaking existing files.
So, the branch "address" is only used to sort the branches in a single tree. Thus, a tree with the following branches is always sorted in the exact same way:
{0;0}
{0;1}
{0;2}
{0;3;0}
{0;3;1}
{1;6}
If you have another tree with different branches:
{0}
{1}
{2}
{3}
{4}
{5}
Then the matching will be:
{0;0} -> {0}
{0;1} -> {1}
{0;2} -> {2}
{0;3;0} -> {3}
{0;3;1} -> {4}
{1;6} -> {5}
As long as people adhere to your advice: "it is best for the addresses of each tree branch to be in the same format", there will be no problem. But it is at the moment extremely difficult to perform complex matchings.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 9:25am on August 11, 2010
lues. What I want to do is combine them so that the structure would be something like:
{4;0}
{4;1}
{4;2}
{4;3}
{5;0}
{5;1}
{5;2}
{5;3}
I tried the method here, but it didn't give me what I wanted, it was just tacking the new values onto the end, and not maintaining their paths. Any help would be appreciated. Thanks!…
Added by Dennis Goff at 8:13am on February 10, 2016
For example.
If you have two lists of points.
List A List B
{0;0;0}(0) {0;0}(0)
{0;0;1}(0) {0;1}(0)
{0;2}(0)
{0;3}(0)
{0;4}(0)
And you want to merge the two lists so that the two points in list A are the end points.
Merge Lists Results:
{0;0}(0)
{0;0;0}(0)
{0;0;1}(0)
{0;1}(0)
{0;2}(0)
{0;3}(0)
{0;4}(0)
Because of their path structures the order is wrong from a simple merge so Flattening now is out of the question.
Path Mapper
{A;B} --> {A;B+1}
{A;B;C} --> {A;C*6}
---------------------
Results:
{0;0} --> {0;0+1} = {0;1}
{0;1} --> {0;1+1} = {0;2}
{0;2} --> {0;2+1} = {0;3}
{0;3} --> {0;3+1} = {0;4}
{0;4} --> {0;4+1} = {0;5}
{0;0;0} --> {0;0*6} = {0;0}
{0;0;1} --> {0;1*6} = {0;6}
Now with the Path Structures similar when they are re-ordered the results will have the two points of list A as the end points.
Question 2
why did the curve-line intersection lose the path structure? Both trees had 38 branches.
Both trees had 38 Paths but Tree A had more Items, 147 compared to 38 in Tree B.
So you get this happening:
{0;0;0;0;0;0}(0) compared to {0;0;0;0}(0) results: Null {0;0;0;0;0;0}(0)
Base result paths on longest
{0;0;1;0;0;0}(0) compared to {0;0;0;1}(0) results: Null {0;0;1;0;0;0}(0)
{0;0;2;0;0;0}(0) compared to {0;0;0;2}(0) results: Yes {0;0;2;0;0;0;0}(0)
Add a branch to contain result
{0;0;3;0;0;0}(0) compared to {0;0;0;3}(0) results: Yes {0;0;3;0;0;0;0}(0)
{0;0;3;0;0;0}(1) compared to {0;0;0;3}(0) results: No {0;0;3;0;0;0;1}(0)
{0;0;4;0;0;0}(0) compared to {0;0;0;4}(0) results: Yes {0;0;4;0;0;0;0}(0)
{0;0;4;0;0;0}(1) compared to {0;0;0;4}(0) results: Yes {0;0;4;0;0;0;1}(0)
{0;0;5;0;0;0}(0) compared to {0;0;0;5}(0) results: Yes {0;0;5;0;0;0;0}(0)
{0;0;5;0;0;0}(1) compared to {0;0;0;5}(0) results: Yes {0;0;5;0;0;0;1}(0)
{0;0;5;0;0;0}(2) compared to {0;0;0;5}(0) results: Yes {0;0;5;0;0;0;2}(0)
...... etc
…
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.
…