Gradual Change Node

john's Avatar


30 Oct, 2023 01:25 AM

Attached is a new node, gradual, which creates a list of numbers that gradually change. Although it seems to be a math-centric node, most of its uses are for visual effects: interesting curves or realistic motions.

To control the rate of change you supply a range of percentage values (e.g. 90% to 130%). Gradual will generate the specified amount of random change values within that range and apply them to a starting value and then to each successive product. So if you start at 100 and asked for six values changing at a rate between 90% and 130%, you might get 100, 127, 116, 119, 149, 159.

The first value, v0, is always your start value. Then next, v1 = v0 * r0, the next, v2 = v1 * r1, etc. where r0, r1, ... are random percentages in the specified range. Because these are successive products, the values will compound. If you set both min and max percentage to 105%, you would get a steady compound interest curve at 5% - an exponential curve. If you set a min percentage less than 100% and max greater than 100% you will get random fluctuations, up or down, with an overall positive or negative trend depending on the range.

Gradual takes five parameters:

  • Amount: The number of values
  • Start: The starting value
  • Min percent: The lower end of the range of random change
  • Max percent: The upper end of the range of random change
  • Seed: The seed value for the random number generator

A list of values that change in this way has many uses. The demo (attached - see screenshot) shows one obvious use: random sales charts that can be made to trend up or down. Here the gradual values are simply Y values in a line with X values supplied by a range node. Change the seed or the range to see how the line changes.

The demo also contains a less obvious use case: using gradual to produce a varying rate of change in an animation. Here a lower case a is rotated at a random but steadily increasing rate. I used this trick in a recent animation to create a wrench tightening a nut in a realistic series of discrete steps, first slow as the nut initially resists, then faster as the inertia breaks and the momentum increases.

My hunch is that there are many surprising uses for this simple concept. I'm curious to see what you guys will do with this!

Graudual will appear in the next release of the Cartan Node Library.

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:


Already uploaded files

  • gradual_change_screenshot.png 323 KB
  • 2.78 KB

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts


? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac

Recent Discussions

30 Nov, 2023 08:38 PM
29 Nov, 2023 01:33 PM
29 Nov, 2023 05:30 AM
28 Nov, 2023 10:03 PM
28 Nov, 2023 12:38 AM


27 Nov, 2023 04:40 AM
26 Nov, 2023 10:02 AM
22 Nov, 2023 09:33 AM
20 Nov, 2023 08:54 PM
17 Nov, 2023 01:43 AM
15 Nov, 2023 06:58 AM