algorithmic modeling for Rhino
Hmm ... a classic thingy that one.
Where's your definition?
Any Help?
OK ... assuming that this is an AEC related thingy:
You have a collection of spaces that are - presumably- related each other by means of a classic adjacency matrix (this means: for each space provide a measure of the connectivity required VS the rest: for instance a dining room is "connected" to the kitchen; meaning that communication [circulation] between these 2 must be the most effortless possible blah blah).
Then you want to arrange the spaces (having in mind a variety of topological - or other - restrictions; in your case these 2 "envelopes") in order to achieve the all overall "optimum" circulation (i.e. with the max efficiency).
Note: if the spaces are fixed (totally wrong approach) then a variant of the above is required: i.e. outline the most "suitable" corridors for connecting them.
This is a classic hierarchical soft cluster analysis problem (as initially outlined by Christopher Alexander in the 70's and attempted for the first time in the HARNESS hospital system initiative in UK).
I have code that does this but is classified strictly as internal (for obvious reasons) not to mention that runs in Unix O/S.
I'll try to provide some indicative hints soon (in terms of a "simple" C# that does a small portion of the above).
Hmm ... spend some time by translating some stuff (C++ to C#) ... but the bad news are that I must discuss this matter with my partners: cluster analysis is something that we've agreed that never goes out of the practice walls.
Anyway get a hint: Hard top-bottom clustering is used (process is STOPPED to the fist level of clustering for clarity: meaning flat clustering):
Cubes are abstarct (spaces, say: "rooms") centroids:
Then clusters are made; Prox K-Means is used here (other methods also available). Cyans are the abstract representation of the flat clustering (for clarity). The decision upon the number of clusters is quite complex and is based on criteria that are not used here (adjacency matrices et all):
Obviously the real thing works recursively (kinda like a fractal algo) on the clusters and stops if the predefined number of nodes is reached (say 2 or 3). Then the "flat" red connector shown connects actually (bottom to top) child to child AND child to parent clusters etc etc.
BTW: GH has a component (called quadTree) that - I guess - works "kinda" like a K-Means clustering algo but the fact that GH is a-cyclic by nature ... means that you should use Anemone - if the above are attempted via the component way (not my way anyway).
more soon
Bad news: partners said NO for making public any cluster algo.
Thus ... get this "draft" using in fact GH components (other than the 2nd C# that gets the flat QT and yields the actual points "clustering"). The left most C# can been - obviously - replaced with components very easily.
As I said that's only a hint: In order to do that properly you'll need recursion.
Thanks for your help peter , but yes that one is very similar for what i want , yet i think the above algos might be a good start , or not .... i'am a little confused about that .
The above is only doable with code, mind.
Welcome to
Grasshopper
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
Added by Parametric House 0 Comments 0 Likes
© 2024 Created by Scott Davidson. Powered by