Recursive Random Tree 3d lines

Inspired by @Luiz_Andre 's basic recursive tree I wanted to find a way to build a 3d tree.

Think I just about nailed it!
Click a mouse to build branches. Everytime you run it it should build a different tree.

Any idea how I can build in a reset function with a key press?

Kudos to @MartinusMagneson for the fractal tutorial.

Recursive Random Tree 3d lines.vuo (17.9 KB)

Screen Shot 2019-02-22 at 15.11.54.png

Screen Shot 2019-02-22 at 15.12.11.png

1 Like

Swapped the composition for an improved version, with branches getting smaller as they get further from the trunk.

1 Like

Love it Joe, nice job !

Thanks @Bodysoulspirit
Lots I’d like to improve and add to this though and I would really appreciate some help.

Firstly I’ve been trying to automate the growth rather than using a mouse click.
How can I set-up a limited queue of events?
Fire periodically and Count within range does not seem to be working for that.
I’ve been reading and re-reading the manual on the subject but having trouble understanding Build lists, Queues, and Hold lists. (I always did have issues understanding Iterators in Qtz too, it’s just an alien abstract mathematical thing my brain has issues with).

Second I’d like to add leaves or flowers to the structure and also make it a solid rather than line object, can’t work that out either yet.

For your first question you can use count within range and Allow Changes and use event-only cables.
Or even a curve if you wanna add some easing.
See comps attached


Recursive Random Tree 3d lines_2.vuo (17.9 KB)

Recursive Random Tree 3d lines_3.vuo (17.8 KB)

1 Like

Brilliant thanks for the quick reply.
It was giving me a headache. I had tried with event only cables but Allow Changes is 100% what I was missing!

As for the challenge of making it a solid and adding leaves, I have done some interesting tests with other 3D objects which build succulent/cacti type forms.
I’ll endeavour to find a way to make it work with something similar to the method that I used in Cylinder Snakes  

You can reduce the amount of nodes by calculating the line widths instead of a select 8 sizes node.

For a solid object I don’t know, according to your Cylinder Snake you’re more skilled than me regarding that :)

For flowers it depends where you want them, if only at the ends, you could do like this (see attached comp).



Recursive Random Tree 3d lines_Flowers.vuo (14.3 KB)

1 Like

That works pretty damn well with a leaf object too :D


Very interesting


Hello all, just revisiting this comp again.
Trying to find a way to save the tree scene/object.
I hoped it would work with Save Data but that does not accept the scene as an input.
Is there some conversion I need to do to format the data to be saved?

Maybe I need to make feature request to write 3d object data?

Hey @scratchpole, Export Mesh Feature Request already exists : Export 3D Mesh

If I’m right I remember I’ve been able to save some points / vertices using merge XYZ lists etc as text files, but that won’t save textures etc.

1 Like

This is all very cool!!! :)


Hello all,
I’m revisiting this again now that I’ve got a new machine (MBP M2 MAX 16").
I was expecting it to run smoothly with more iterations but sadly it’s no better.
Any idea what’s holding it back? Where is the bottleneck?
I’ve attached the most recent version with leaf object included.
tree with (10.1 MB)

Is the attached version any faster? At least on the M1 Mac we tested on, the reason your composition ran slowly was that the OpenGL function used by Make Line Strip Mesh was weirdly sluggish. Restructuring the composition to use Make Triangle Mesh instead sped it up so it ran smoothly. (Eventually the problem will be avoided when we move Vuo’s graphics to Metal, still in the works.)

Recursive_Random_Tree_3d_lines_leaves_2023-triangles.vuo (18.2 KB)

1 Like

Hi Jaymie, thanks for taking a look at this.
Done some testing and it does work better with the triangles version but only when I run it in on the M2 in Ventura.
In Mojave on the old Intel it’s still better with the line version, I guess that’s due to OS OpenGL changes.

Glad to finally see it run with more recursions all the same. It’s gets upto 13 recursions on the M2 (98298 vertices) before the framerate drops below 25fps.
Hope the Metal version brings more joy!

1 Like