fcurve cleaning
Open, NormalPublic

Description

In the Graph Editor
My opinion is that end user can be frustrated by the curve cleaning behavior:
it only remove doublons without any further process
A good behavior would be to remove more points
My purposal is to base thresholding not on difference between neighboor points but on a an integration...:
To know if i add a point i check its influence on the integral of the cleaned curve
Don't know how to explain this so i post my code

Details

Type
Patch
ju val (mp3butcher) added a comment.EditedMay 20 2014, 1:36 PM

sorry, the code is dirty because I don't know if it's worth while as curve_simplify.py (for blender<=2.59) features are much more elaborated

Not sure whats suggested.

I think the term cleaning is a bit vague.

Suggest:

  • rename "Remove Doubles"
  • add a tool "Simplify" - can port code from ./release/scripts/addons/curve_simplify.py which reduces density of overly complicated curves.
ju val (mp3butcher) added a comment.EditedMay 20 2014, 1:56 PM

Sorry campbellbarton , I can't edit the task....

My point is from a end user perspective:
In graph editor:

  • When he presses Shift+O : the curve is sampled on a regular basis
  • So when he presses O: he expects to have the inverse behavior but doublon removal is not the inverse of sampling so he's frustrated

This inverse behavior should be a simplifier (with a default low threshold) rather than a doubles removal
Moreover, double removal is pretty the same thing as simplification with very low threshold isn't it?
And according python documentation:

bpy.ops.action.clean(threshold=0.001)
Simplify F-Curves by removing closely spaced keyframes

For me it sound obvious and doesn't require semantic argues on the meaning of "cleaning"...

I attached a picture of the behavior of my patch

An other problem is that /scripts/addons/curve_simplify.py is not working anymore with BF>=2.6

Campbell Barton (campbellbarton) triaged this task as "Normal" priority.May 28 2014, 2:19 PM