» Oscillator (Animation Advanced)
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Oscillator (Animation Advanced)

Help Pendulum style oscillator with some advanced features
Author vvvv group

Here you are supposed to see an image (rendered with SVG) describing the pins of this node. However, this does not work with Internet Explorer. You may want to consider using another browser, like FireFox, Chrome, Safari or Opera that do support SVG.

Credits
Warnings
Bugs

related discussions

start a forum thread about this node

about Oscillator (Animation Advanced)

see also Oscillator (Animation) and Damper (Animation)

FAQ

What are the equations/algorithms used by the VVVV Damper node?

like in this thread: thread ]
the mathematical details are in here: mathematica notebook] (by gregsn).
it can be opened with the freely avaliable mathematica player app.
the document was the actual working notebook to develop the formulas and is not embedded into a explaining paper.

so a few words to main idea here:

  • Develop an damped oscillating system where you can specify the position to go to with some intuitive parameters for the behaviour of the system.
  • The main requirement was like in Newton (Animation) or DeNiro (Animation): respect the current position AND VELOCITY to get smooth transition when the new destination is picked in the middle of a running animation. This can frequently occur in interactive systems...
  • So we have an intial position p0, an initial velocity v0, a position to go to: p1.
  • Since all the people outside tell that a springs behaviour can be expressed by a differential equation, where acceleration at time t is dependend from velocity and position at that time t. mathematica seems to be a good option to the hard work. And it works: you can work with equations like that without having studied them.

this is the setup of the differential equation. it should be a curve going up and down around p1 (the goal). so p1 - p[t] is a kind of normalization.

we want that that curve starts at the current position and current velocity. we want to be able to specify them. lets name them p0 and v0. so at time t=0:

    • p[0] == p0
    • p'[0] == v0
  • we get a function t] and v[t describing the position and velocity over time. so we need to store those two functions in a way that we can sample the functions in the future at time t.
  • at the end of the document we have developed some simple imperative commands / terms which deconstruct the complicated functions into some simple functions depending on variables which only need to be calculated once (when a new curve is generated).
  • at the end we need to get a new funtion curves each time a parameter or the destination position is changed.

anonymous user login

Shoutbox

~3d ago

joreg: vvvvTv S02E01 is out: Buttons & Sliders with Dear ImGui: https://www.youtube.com/live/PuuTilbqd9w

~9d ago

joreg: vvvvTv S02E00 is out: Sensors & Servos with Arduino: https://visualprogramming.net/blog/2024/vvvvtv-is-back-with-season-2/

~10d ago

fleg: hey there! What's the best tool for remote work? Teamviewer feels terrible. Thanks!

~23d ago

joreg: Last call: 6-session vvvv beginner course starting November 4: https://thenodeinstitute.org/courses/ws24-5-vvvv-beginners-part-i/

~1mth ago

joreg: Missed the last meetup? You can rewatch it here: https://www.youtube.com/live/MdvTa58uxB0?si=Fwi-9hHoCmo794Ag

~1mth ago

theurbankind: When is the next big event, like node festival ?

~1mth ago

~1mth ago

joreg: Join us for the next vvvv meetup on Oktober 17th: https://visualprogramming.net/blog/2024/25.-vvvv-worldwide-meetup/

~2mth ago

joreg: 6 session beginner course part 2 "Deep Dive" starts January 13th: https://thenodeinstitute.org/courses/ws24-5-vvvv-beginners-part-ii/