the tree layout would be:
{0;0}(0) (first column, first point)
{0;0}(1) (first column, second point)
{0;0}(2) (first column, third point)
.....
{0;4}(8) (fifth column, ninth point)
.....
{0;9}(9) (last column, last point)
What if you want to connect every point in this grid with a point two levels higher up and one column over?
You can specify an offset like so:
{0;+1}(+2)
If we apply this offset to the list of items above, we'll get:
{0;1}(2) (second column, third point)
{0;1}(3) (second column, fourth point)
{0;1}(4) (second column, fifth point)
.....
{0;5}(0) (sixth column, first point)*
.....
{0;0}(1) (first column, second point)**
* If you overstep the list length and Item Wrap is set to false, you will not get any result. Otherwise you'll get the cycled item.
** If you overstep the number of paths and Path Wrap is set to false, you will not get any result.
At the moment it only supports whole integers, and the items in the offset are simply added to the original path+index. I'm not sure yet if I'll move towards expressions in the offset pattern. There are two components, one allows you to get relative items from the same data tree, the other from two distinct data trees.
--
David Rutten
david@mcneel.com
Seattle, WA…
Added by David Rutten at 11:25am on November 20, 2010
oning behind using the equality component to test for even numbers is flawed because of the data matching used by gh. It is testing like this:
0==0 True
2==1 False
4==2 False
6==3 False
etc
.............
Where as a Modulo 2 would work like this
0%2 = 0
1%2 = 1
2%2 = 0
3%2 = 1
4%2 = 0
5%2 = 1
6%2 = 0
7%2 = 1
8%2 = 0
9%2 = 1
......
Also I notice you have some errors in your expressions producing Nulls.
If you want it to be twice the value then you should have 2*D in the Expression and 10*D in the other
....
I attach a working version.…
I assume that branch 0;0 has N = 10 points, 0;1 N = 7 points.
In the photo the way you describe the points it is like branch 0;0 has N = 45 points, where subbranch 0;0;1 has null points, subbrach 0;0;1 has N=1 point... subbranch 0;0;9 has N= 9 points.
Most likely you need to just graft you initial data tree that has the following structure
0;0 with N = 10
0;1 with N = 7
0;2 with N = 9
0;3 with N = 5
0;4 with N = 8
without a file, or a solid description of your starting data structure all these remain assumptions.
…
cture, Rhino treats them as a single flat list. For example a surface can have 10 rows and 6 columns of control-points, resulting in a list of 60 points.
But 10 times 6 isn't the only way to get to 60. If you want to make a surface out of a list of 60 points, you'll also have to tell Rhino how those 60 points should be interpreted in terms of a grid. It could be 2*30, 3*20, 4*15, 5*12, 6*10, and all of the aforementioned products the other way around.
Sometimes there's only one way for a number of points to fit into a rectangular grid. For example if you provide 49 points, then 7*7 is the only way to make it work, but these cases are rare so we always demand you give us all the information required to actually make a rectangular grid of control-points from a linear collection.
As for "Why is it, sometimes we need to attach additional value into it?", this is usually because when you divide a domain or a curve into N segments, you end up with N+1 points. For example take the domain {0 to 5}, and divide it into 5 equal subdomains. You end up with {0 to 1}, {1 to 2}, {2 to 3}, {3 to 4} and {4 to 5}. However there are six numbers that mark the transitions between these domains 0, 1, 2, 3, 4 and 5. This is why you often have to add 1 to the UCount, because the number that controls the UCount often results in N+1 actual points.…
Added by David Rutten at 8:30am on December 25, 2014
Thanks, Chris!
I put a slider into the U-count and tried values from 1 to 60 (I have 9 input curves). I get surfaces at 2, 4, 8, 19, and 38. All are nonsensical surfaces though...
wim