# [ODE] velocity constraints vs. acceleration constraints

George Birbilis birbilis at kagi.com
Wed Jan 12 12:54:07 MST 2005

```> In the meantime, one issue with acceleration constraint is friction - from
http://www.math.umbc.edu/~potra/fulltext.pdf

btw,
are there methods arround that use a non-fixed timestep? sorry for my
ignorance on the subject

while making some simple energy-conservation simulation (ball accelerated by
a spring, going up a slope, reaching some max height, coming down and
hitting spring again etc. since there was no friction) in the past for
E-Slate (http://e-slate.cti.gr, see the physics microworld), I was thinking
that instead of stepping at the time axis and calculating (analytically in
that easy case) the new velocities etc. at the next time position, I could
instead solve the other way arround and find the timestep that it would take
for the body with the max velocity to do an important step (some fixed
constant for displacement) on the display (if all bodies are to move a too
small step why should I care to solve in that time frame).

In general this could be some other thing than position, could be velocity
or acceleration for example. That is solve the other way arround and find
the next important time at which some non-ignorable change occurs (at the
thing we care to meter mostly - in my animation case it was the objects'
positions on the screen since I wanted a smooth movement). Then jump at that
time and either solve analytically there (if you can) or do dead-reckoning
between the last time and that new time position

that is have a variable timestep, which gets smaller as velocities increase
(if you care about the position) and bigger as velocities decrease (we take
in mind either the average velocity of all objects or better about the
object with the biggest velocity). If we don't monitor position but say
velocity we could do the same logic with acceleration and increase time step
when acceleration drops or decrease it when acceleration gets bigger.

The increase/decrease could also be done with some heuristic function
instead of solving inversely, not that it's hard to do the inverse solution
(since we suppose objects move with fixed acceleration [or speed if we were
monitoring the position instead]) during the timestep

am I saying something totally crazy? cause that's what I had been told by
some Physics-teachers at the time (they were teaching at highschool level
mind you, not at the university level)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
George Birbilis <birbilis at kagi.com>
Microsoft MVP J# for 2004, 2005
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ QuickTime controls (Delphi & ActiveX: VB, PowerPoint, .NET)
+ Plugs (InterProcess/Internet communication)
+ TranXform (VB6 form to ASP.net WebForm convertion)
http://www.kagi.com/birbilis
+ Robotics
http://www.mech.upatras.gr/~robgroup
........................................................................

```