My question is regarding how to create a branched root system that begins above ground from a stem as shown in Fig 1. (Image) Fig 2. (Plan view) Fig3. (Section).
Steps taken:
I have used Grasshopper for creating the circular plan view L-branching
I have set the parameters for the depth of the roots (3m to 6m, increasing further away from centre)
I have the line work and overall components (Fig 4.)
Where I am struggling is how to elevate the curves from a central stem and pipe the curves/roots organically to an end rootball (Fig 3.)? I attempted to create the piping with a Delaunay triangulation connecting the curves but it failed. Scouring the forums there is the usage of Cocoon to possibly create this, so I wanted to ask if anyone could assist to learn from.
For creating some sort of “realistic” result you should avoid at any cost any L-System and go the recursive way (but this requires code - if real-time results and complex solutions are required). See the “inverse” (i.e. grow in posZ that yields a tree (and a DataTree for monitoring the history of actions/recursion steps)).
Solve the problem with Lines first and if more realism is required (see 2nd image) distort them randomly (so to speak) while keeping the ends fixed.
In order to apply a proper thickness (say: tubes having axis the solution Lines) you’ll need to monitor the recursion via a DataTree (as branches grow the thickness value (R tube value) shrink). So for eack recursive Loop the candidate parent Lines (that may or may not yield child Lines) are the ones from the tree.Branch(Loop-1) etc etc.
Avoid at any cost stuff the likes of ExoW/Dendro : for big N of items (say 2-5+K ) you’ll need a day to finish.
Funnily, I used the Shortest Walk Tapered Branching Script to create the branching shown above since the L-systems weren’t working. The smoother geometry thread is exactly what I was looking for, so thank you
This looks amazing, my reasoning for going with the method I initially did is because the roots don’t have much variation in angles/root numbers. Within the Range of Degrees slider, if reduced would that factor in a simpler form such as below?
In general with a proper recursion you can anything imaginable (and if something is missing … you just add another variable). All that are very simple … provited that you know how to code (otherwise is pure Chinese).
Anyway here’s the core of the matter (1st step: just Lines, prior distortion prior thicken prior foliage):
Here some explanation on a way to have something more similar than that you want.
let say you want something in a cylinder of radius 10 and height 10, centered on 0, 0, 0
Let’s generate the roots with seed points on a disk. The points are set on 2 levels Z=0 and Z=-1.
Then some algorithm of mine allowing the smoothing of lines network. I think of others methods … quite better.
I also reuse the algorithm to calculate the radius of branch.
Then Dendro, not perfect as the radius calculation is not done with the smoothed curves.
Thank you for the explanation, I can see where I went wrong not having generated and connected the radial points with the separate trunk (and the shortest walk that connects through both). The smoothness of Dendro really is amazing despite it not being from smoothed curves. My initial piping process, came out far too clunky even when I did rebuild the curves.
Would it be rude of me to ask for the definition and play around with it further?
C# is like martial arts: you need isolation, NO Internet, NO computer, books, Karma, cigars and Vodka.
So … get this for a start and add things that you may need (for instance a ceiling option [ but why?] and/or an option to restrict the solution inside a blob and/or …).
Mastermind a way to distort the straight lines (i.e. get a Line divide randomly and do a Polyline where the middle nodes are randomly rotated and at some random dist > LOL) as shown in the pics above for a more natural effect. ALWAYS go for lines if you have lot’s of items in mind. NEVER use curves blah, blah (a real-time solution is the holly grail of things).
Mastermind a way to add cones or tubes on a per distorted Line (i.e. Polyline) basis.
Buy more Vodka and apply a Maelstrom Morph (only for the brave).
Small update, vodka has been purchased haha. Thank you aswell for your response, it was really informative and broken down well. The aim is to go for a large C# and overall coding growth for the year (and beyond)!!
It is because I let one of my library. Indeed code was in script so
you can suppress “usingLDutils;”
And suppress what is before SmoothNetorkOfLines()
The sincerest of gratitude for your responses, they were both clear and kind. I’ve managed to get it to work (small yay) and having a bit of childish fun playing around to see what else can prop up haha
Overall, from each image down the the annotations in the example script itself is very much appreciated and I hope it helps others too
Hello and welcome
I understand you are not fluent in english, but in order to help you must give more information. Read that please.
My guesses
No points provided because I put a Dam
Radius too little …
Zoom on the script to see on the error message, send your script to the community …
Dendro is very powerful but sizes are important, so it is necessary to take a setting that has a relation with the size of the object.