is created for each point (25 paths, N=1 for each) which is feed into [Pull Point] for the pull geometry [G].
Correspondingly for the 4 source points a branch is created for each point and duplicated 25 times (4 paths, N=25 for each). This tree then needs to be inverted with [Path Mapper] so the structure will correspond to the format of the pull geometry. The mapping {A;B;C}(i) > {i}(B) produces (25 paths, N=4 for each) the structure to feed into the search point [P].
The [Pull Point] boolean toggle [C] needs to get set to False to obtain all the distances between all search and pull points (4 x 25 = 100 values).
Simultaneously there is also an index being created to correspond to the list of the 4 source points. This index is the integers 0 to 3 which are branched and inverted similar to the source points (25 paths, N=4 for each).
The distance output [D] from [Pull Point] is then sorted synchronously with the source point index for each branch. From the following screengrab branch {0;0} corresponds to a point in the 5 x 5 grid and the shortest distance between that point and a referenced source point index is 5.261. The index of the referenced source point is 3.
For each following sorted branch the first sorted index value will correspond to the closest source point (first [List Item] shown). This index value is then used to select from the original list of duplicated and inverted points and this is done for each of the 25 branches (second List Item shown).
Draw a line or whatever an away we go!…
Is it like this:
If a beam is connected from nod 0 to 1 and from 1 to 4. Another from 2 to 3 and from 3 to 5.
Node 1 and 3 have the same coordinates, but are they rigidly connected or not?
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
ee 3)
{5}
0 15
{6}
0 16
And I want to place points at every possible combination of these coordinates, treating Tree 1 as X coordinates, Tree 2 as Y coordinates, and Tree 3 as Z coordinates. Also, I would like the list of points to be a tree with paths corresponding to the coordinates. Wouldn't it be nice if I could plug these trees into a Point XYZ, with a new "branch cross reference" method, and get the following result?
{0:3:5}
0 {10.0, 13.0, 15.0}
{0:3:6}
0 {10.0, 13.0, 16.0}
{0:4:5}
0 {10.0, 14.0, 15.0}
{0:4:6}
0 {10.0, 14.0, 16.0}
{1:3:5}
0 {11.0, 13.0, 15.0}
{1:3:6}
0 {11.0, 13.0, 16.0}
{1:4:5}
0 {11.0, 14.0, 15.0}
{1:4:6}
0 {11.0, 14.0, 16.0}
{2:3:5}
0 {12.0, 13.0, 15.0}
{2:3:6}
0 {12.0, 13.0, 16.0}
{2:4:5}
0 {12.0, 14.0, 15.0}
{2:4:6}
0 {12.0, 14.0, 16.0}
In this form of cross referencing, every combination of individual branches from the different lists is used as separate input, and the output for each combination is put onto a branch in the result whose path is the concatenation of the input branch paths used.…
Added by Andy Edwards at 7:03pm on November 3, 2009
r itself is compiled against .NET 3·5.
I recommend you use Rhino4, .NET 3·5 and VS 2008 as a debugging platform.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…