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) updated the task description. (Show Details)
ju val (mp3butcher) raised the priority of this task from to Needs Triage.
ju val (mp3butcher) set Type to 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