Extruding curves - the Zach Lieberman

He posted this the other day and I’m wondering if we can make something similar in Vuo ;-)
I’d love to have images being drawn out in this way.


Any ideas?
It’s awesome

Look up Daniel Schiffman / the coding train on youtube. It’s not too long ago he did a double pendulum thing in processing. Should be achievable with some math and a couple hold nodes.


For those looking I think I found it, https://www.youtube.com/watch?v=uWzPe_S-RVE
So I think with a bit of time I’ll be able to recreate the double pendulum.

Any ideas on the extrude though? I’m thinking using the feedback node, any other suggestions welcome.

Thanks @MartinusMagneson

1 Like

The pendulum Youtube video looks interesting !

Regarding the 3D ribbon I started something yesterday but @smokris was faster uploading his method ;) (which didn’t show up on the Community Activity webpage so I didn’t see it until going to the Composition Gallery to post mine) : Composition: Metallic Scribbler

Decided to upload my version anyway, the idea was the same, but technique and output a little different : Calligraphy EQ

Once the pendulum math is remade it could replace the noise generated animation.


1 Like

That’s a very interesting comp @Bodysoulspirit.
Thanks for sharing ;-) I didn’t think to use a line strip mesh like that.
Very clever!

1 Like

I didn’t think to use a line strip mesh like that. Very clever!

I tried using Karl Henkel’s Make Mesh with values which could be easier but I’m not skilled enough about meshes so I can’g get the shader to apply correctly, see joined composition

1 - Colors - Parabox.vuo (12.3 KB)

Regarding the Double Pendulum man I tried to recreate that but without luck so far.
I just don’t really understand how to transpose the += sign from the processing code maybe. Or maybe I’m thinking it’s too easy and requires deeper calculations.
I either get a not really moving pendulum or a perfectly mirrored drawing esoteric butterflies pendulum ;)

Posting the files here if some math superhero want to help you achieving this :) I guess for a math/coder it should be easy.
Anyway, the code as Martinus suggested is from : Double Pendulum coding challenge #93

The code part I used is :

r1 = 125;
r2 = 125;
m1 = 10;
m2 = 10;
a1 = PI / 2;
a2 = PI / 2;
a1_v = 0;
a2_v = 0;
g = 1;

a1_a = ((-g*(2*m1+m2)*sin(a1))+(-m2*g*sin(a1-2*a2))+(-2*sin(a1-a2)*m2)*(a2_v*a2_v*r2+a1_v*a1_v*r1*cos(a1-a2)))/(r1*(2*m1+m2-m2*cos(2*a1-2*a2)))

a2_a = ((2*sin(a1-a2))*(((a1_v*a1_v*r1*(m1+m2)))+(g*(m1+m2)*cos(a1))+(a2_v*a2_v*r2*m2*cos(a1-a2))))/(r2*(2*m1+m2-m2*cos(2*a1-2*a2)))

a1_v += a1_a;
a2_v += a2_a;
a1 += a1_v;
a2 += a2_v;

x1 = r1 * sin(a1);
y1 = r1 * cos(a1);
x2 = x1 + r2 * sin(a2);
y2 = y1 + r2 * cos(a2);

// a1_v *= 0.99;
// a2_v *= 0.99;

The part I can’t get to transcode to Vuo is

a1_v += a1_a;
a2_v += a2_a;
a1 += a1_v;
a2 += a2_v;

PS : please guys don’t make fun of my code-to-vuo transcription, I’m not a coder haha ;)  

Double Pendulum Vuo.zip (12.4 KB)

1 Like

+= means take it’s existing value and add what is to the right of the operator to it.

e.g… n += 1

same as n = n+1

a1_v += a1_a

<=> a1_v = a1_v + a1_a

is that what you were asking about?  


Thanks @useful_design

Yeah that’s how I somehow understood it too when googling it.
Trying to transcode this sign to Vuo with for example a1 += a1_v I got something like :

Capture d’écran 2018-10-18 à 01.37.49.png

So basically
• take the first value of “a1”, put it the 1st port of "the Select Latest node and add this to “a1_v”
• I hold this new value of “a1”, which now becomes the latest value and add “a1_v” to it again
• etc

Joining latest comps if anybody wants to join ;) I can’t get my wrap around it, probably doing nonsense here ;)  

ABC - Normal.vuo (26 KB)

ABC + Retro Angle Normal.vuo (28.2 KB)

ABC + Retro Angle With Display Refresh.vuo (30 KB)

ABC + Retrocontrol 2 Both.vuo (30.1 KB)

I’m working with a similar constraint in my issues of understanding how to loop in Vuo ATM. Check out this simple comp I made to shuffle list values (attached). It includes a debugging method using the Console Window node and others. It allows you to see the events and values inside a loop, something show events or tooltips will not show you.

The thread was here: Problem with Process List — I need neighbour values in the list during the iteration.  

WORKING iteration with build accessing other items in list.vuo (6.29 KB)

You should be able to get by with just a Hold Value or Hold List node, don’t need Select Latest, Changed, Spin Off Event nodes in normal circumstances. The Hold node allows you to do the update on a value using its own contents in the calculation. Typically the update event going to the Hold node (allowing it to update itself) comes from a Build List or Fire Periodically node.

Will have a look at your comps when I get a chance. We’re in the same boat I think :-)  

This composition is a bit more complex, but it uses position (in polar co-ordinates), velocity and acceleration to move an autonomous car around a track. It just uses Hold Values and calculations to do the maths, most of the other nodes (grey) are additional stuff for screen printing data and converting the polar coordinates to cartesian coordinates. Unfortunately we can’t hide them away in macros just yet.

Look for the “tangerine” coloured nodes, they do all the work and there’s only three holds and three calculate nodes one of each for each variable (position (θ), Velocity and Acceleration).

You’ll need to relink to this image for the car. Or just substitute with a Vuo circle node.


Single car on a track.vuo (30 KB)  

1 Like

Thanks @useful_design will look into the comps ;)

I thought before trying to get a double pendulum I should make the single pendulum (Single Pendulum Daniel Shiffman).
Guess I pretty got it, although I don’t understand why I have to divide the angle by about 6,5 (because of the gravity values?).
Any correction welcome.

And yeah @useful_design you were right, a single hold node does the job.

PS: Still not been able to make a double pendulum yet, it spins out of control until a NAN value.  

Single Pendulum Normal.vuo (12.1 KB)

Single Pendulum Protocol.vuo (12.7 KB)

Double Pendulum Beta A 1.0.vuo (28.2 KB)

Double Pendulum Acceleration.rtf (576 Bytes)

Capture d’écran 2022-12-24 à 06.00.27.png

EDIT : Finally seem to have been able to solve the double pendulum in Vuo : Composition: Double Pendulum  

1 Like