nt B2[i] so B1[i]<=0 means no new connections allowed for point i ,so point i is deleted from B1, B2 updated accordingly.
Initialization:
B1: max number of connections x number of points
B2: all the points
B3: nothing (well null or something, need to create the branch)
Algo:
Get first point in B2, get his allowed number of connections N in B1, find N closest points in B2, create lines in B3, update B2 accordingly. Erase points with max connections (including the first point)
Next
Stop when no points available
At end of loop, B3 stores the created lines.
…
me in 19 different pipeline components. Marginally better, but I'll still need to do this operation approx. 80 times...gulp.
Here's a wishlist request for David: expose string inputs in the Geometry Pipeline for Layer and Name. If I had that, I could change one string to swap my whole geometry set! (My layers have names like "B1 red rail", "B1 blue rail" etc., then the next time I'll want "B2 red rail", "B2 blue rail" etc.)
BTW, I'm happy to script something in C# if it will help: maybe I could write something like the Geometry Pipeline that takes a string input for layer name? Hmmm...
…
CA, DA, DC)Two of those diagonal lengths are obviously redundant but they allow you to simply shift the array to get at different rotational permutations. This makes the search for the nearest mean a bit more straightforward since, in the context of panel clustering, you'd need to consider all rotational permutations of each one.…
Added by David Reeves at 5:26am on November 9, 2014
GH) > then define (still in GH) some instance definition (or many: case variants) > then place it according some "policy" (3d point grid and the likes). Note: Only doable with code, mind (C# in my case).
Obviously you can skip the creation part and instruct GH to deal with instance definitions already listed in the Block Manager (say: find the block named "cell666_B3" blah, blah) ... but that means that you can only use them (meaning a rather "limited" parametric approach) and not make them from scratch (meaning a true parametric approach).
But I guess that you've tried the block way in the Rhino environment already. That said I use rather solely this approach in GH and yields quite manageable object collections - I would say "real-time" response (up to 20K instances) but I use dedicated Xeon E5 1630 V3 workstations (with NVida Quadros K4200 and up for the graphic response part of the equation) so the "performance" is rather a subjective thing.
Modifications:
easily doable with GH (on instance definitions at placing time: since you need only to scale them and not vary their topology).
Anyway post a portion of the R file.…
FORE MeshMachine (rather better) or after
BTW: For a mesh with 7M points ... well... you'll need some proper CPU to deal in a reasonable amount of time (what about a Xeon E5 1630 V3?).
Alternatively find a friend who knows very well Modo ... and see first hand what the US Movie Industry is all about.…