Code center > Bugs and fixes

Mutation Rates bug!

<< < (4/5) > >>

Numsgil:
I'll do some research in this area on how best to implement it.  Give me a few days (I'm working on some things at the moment).

PurpleYouko:
I already fixed this problem quite a while back  <_<

The way it worked after I fixed it was that friction was applied to any velocity from the previous cycle and then the new acceleration vectors were added to the resultant movement rate.

This means that all new accelerations are not effected by friction on the cycle on which they are applied so in sims with infinite friction you can still have movement, just like with the new zero momentum mode.

If this isn't working in the present version then the code must have gootten lost somewhere  :(

Numsgil:
I haven't checked the code yet, I was just quoting from memory.  Does so now...

Numsgil:
Okay, it looks like PY is right.  I'll increase the slider to give higher friction environments.

There are two different kinds of 'friction'.  If we think of the bots as on dry land, then friction comes in two varieties:

Static and Dynamic.  Static determines how hard it is to produce any motion at all.  Dynamic is how you slow down once you get moving.

It follows this law:

where Ff is the end force, Fp is the normal force (in a flat environment, we would call this the objects weight (ie: mass * gravity)) and uf is the coefficient of friction.  Dynamic and Static both have sperate coefficients, although usually coefficient of dynamic friction is less than that for static.

In fluids what we think of as 'friction' is in reality air resistance (ie: drag), which obeys an entirely different equation based on current velocity (solid surfaces just apply a constant dynamic friction force).

Here's a page I found on drag.  It can probably be simplified to some extent for DB, but you see it's an entirely different equation).

Drag is not friction.  Drag is a measure of the ability for water/air in the way to get out of the way.  (This is one of my pet peeves.  Comets do not 'burn up in the atmosphere from friction'.  They create a compression wave, which is itself hot because all gases heat as they are compressed.  This wave can become so hot that it evaporates the comet.  Many comets have been found that are cool to the touch, even icy, after impact.  This is precisely because the heating was non direct and fast.  Sort of like throwing food into a broiler for a few seconds.  The surface may be charred, but the interior can still be ice cold.)

The effects between the two types are somewhat similar, but drag means that your speed drops off faster the faster you get, while friction could care less how fast you're actually moving (but it does care if you're moving or not!)

This all implies some heavy duty slider control.

An interesting note: shape could change how drag works.  A sphere and a cube will experience different forces.  A triangle can be quite aerodynamic if it's moving right.

PurpleYouko:
In the present system initial resistance to movement is determined by the mass (size) of the robot while the existing "friction" is really more like a drag coefficient but doesn't actually follow either rule.
In reality, drag should have a greater effect when the bot is moving faster while friction may actually decrease as the bot moves faster.
It would be nice to make this follow the real laws. Shouldn't be too hard either.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version