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
middle index, and choose that point with List Item. If even, for example 4 points (0, 1, 2, 3), you'll get 2, so subtract one and choose those two indices, 1 and 2. I only had a few minutes to play with this, so it isn't a fully-baked solution, but it should take you a little further.…
3} N=2
....
{527} N=4
What I want to do is figure out the same the item in group A and retrieve their branch index so that I can get the corresponding item in group A. Is there any way to make it?…
≈ 4.8 " as " x= 4.8 ± a ", do you know what is the min and max for "a"?
and second, i had tried the "round" function, but i faced problem with it too! for example:
if the input is a series as {0.0, 0.5, 1, 1.5, 2, 2.5, ...}
the output for Round(x, 0.5) is : {0, 0, 1, 2, 2, 2, 3, 4, 4, 4, 5, 6, 6, 6, ... }
and for Round(x, 2) the output is : {0.0, 0.5, 1, 1.5, 2, 2.5, ... }
i can't understand the logic that lies behind this function, i think
for Round(x, 0.5) the output must be {0.0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, ... }
and for Round(x, 2) it must be {0.0, 0.0, 2, 2, 2, 2, 4, 4, 4, 4, ... }
so, is there any problem with it, or I misendestood the logic ?…
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…