Open jleonard-r7 opened 2 years ago
I'm curious about this. Wouldn't it also work by changing the sign of alpha? Could be nice to prototype in a notebook.
As I mentioned, all arithmetic operations need to be reversed (addition to subtraction) and the reciprocals of the multipliers taken and used instead (including those for alpha).
Can anyone say if a pull request for this functionality would be accepted?
It would certainly be considered! My question about prototyping is also a way to ask how this could be used in a concrete application.
I could imagine the tick being tied to a mouse wheel; up to go forward in time and down to go backward in time. This was our intended use case for a demo animation we are working on.
In fact, such live demos exist on the internet now (attached to a slider control rather than the mouse wheel) but they are either memoizing the computed frames or recomputing from the beginning (neither of which is optimal since they waste either CPU or memory).
See the “frame” sliders on this example: https://observablehq.com/@ben-tanen/a-tutorial-to-using-d3-force-from-someone-who-just-learned-ho
This would be a fairly trivial change to: https://github.com/d3/d3-force/blob/main/src/simulation.js#L39-L61
Reverse the arithmetic operations (+= => -=) and decays to excitements (via 1/x).
Would there be any chance you'd be willing to accept a PR for this change?