Opened 7 years ago
Last modified 6 years ago
#16654 new enhancement
Choose common coordinate system for animations
Reported by: | gagern | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-6.4 |
Component: | graphics | Keywords: | animate |
Cc: | Merged in: | ||
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
As #16570 demonstrates, choosing a suitable coordinate system for all frames of an animations can be a non-trivial task. Quite often one will explicitely specify xmin
, xmax
, ymin
and ymax
to set a fixed range for all frames, which may require some trial and error and is therefore more work that I'd like, particularly given the fact that creating animations may be a rather time-consuming process.
What I'd like to see instead is an automatic choice of coordinate system based on the content of all frames. I haven't looked at the implementation yet, but conceptually I imagine the following: create a dummy Graphics group containing all the frames suprtimposed over one another. Then do the auto-layout magic for that whole thing to determine suitable ranges for the axes. Then pass these to the individual frames.
Since there are situations where one specifically wants the coordinate system to move, I'd like this automatic adjustment to be configurable. But catering for the most common application, I'd make it opt-out, not opt-in. So animate()
could have some boolean flag, called common_system
or common_ranges
or even common_coordinate_system
, which defaults to True
but could be explicitely set to False
.
Of course, choosing a default different from what we have so far would mean breaking backwards compatibility. But since there is no way to deprecate a given default setting, I see no way to avoid that unless we want to pass that option as a part of red tape boilerplate to every call in practical applications, just for the sake of compatibility.