This ICE tree builds an array that holds the point IDs, sorted by their distance from a null:
Now, here’s how to move the “index in sorted array” and the “distance from null” down to per-point data.
(For clarity, I changed the Show Values to show only for tagged points.)
Here’s a simple parametric point cloud that shows the two techniques for using arrays instead of Repeats that I blogged about earlier:
Using arrays to avoid Repeat part I
Using arrays to avoid Repeat part II
I used this set of parametric equations to get a cylinder point cloud:
x = sin(u)
y = cos(u)
z = v
0 <= u <= 2*PI
-2 <= v <= 2
For this exercise, I simply used Build Interpolated Array to build arrays of U and V values, but I probably should use something like the XYZ_Grid_Generator technique described by Daniel Brassard on si-community.
Here’s a version of the ICE tree with some Show Values.
I use the Modulo technique to build an array of the XY values for all points in the cloud.
Then I use the Divide by Scalar technique (the integer result is truncated) to build an array of the Z values.
Finally, I add XY vectors to the Z vectors to get the final point positions.