Opened 5 years ago

Last modified 5 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.

Change History (1)

comment:1 Changed 5 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4
Note: See TracTickets for help on using tickets.