object changes drawing locations

artydent shared this problem 2 years ago
Not a Problem

If I have a function and an implicit curve depending on this function then, whenever the function is changed in a way that changes the type of the implicit curve (linear, polynomial, etc.), the drawing locations of the implicit curve are completely reset, purely based on the currently active Graphics window:

  • If Graphics 1 or 3D Graphics is active, then the implicit curve is drawn both in Graphics 1 and in 3D Graphics .
  • If Graphics 2 is active, then the implicit curve is drawn only in Graphics 2 .

Other object properties (e.g. colour) don't seem to be affected, they stay as they were before.


small example to play around

Comments (4)

photo
1

Sorry, I don't see what you mean. Please say

  • what you did exactly
  • what happened
  • what should have happened

photo
1

Example:

  1. Define

    g(x,y)=x+y
    gg: 2=g(x,y)
    
  2. Change the drawing location to Graphics (if necessary).
  3. Click the Graphics 2 window so it is "active" (or "selected" or how you want to call it).
  4. Set g(x,y) to x^2+y.

What happens: gg is now redrawn in Graphics 2.

What I would expect: gg is redrawn in Graphics where it was before.


What I figured out so far:

  • This reset of the drawing location only happens when the underling type of gg changes. For example, if you had changed g from x+y to 2x-3y, then gg would have only changed from -x-y=-2 to -2x+3y=-2 which is of the same type, and the drawing location would not have changed.
  • When gg changes its type then the new drawing location is completely independent of what the location was before, but is determined purely based on which Graphics window was last selected. It either redrawn in both Graphics and 3D Graphics (if one of those was selected last) but not in Graphics 2, or it is redrawn in Graphics 2 (if that one was selected last) but not in the other two.
  • It seems to be relevant in some way that gg is a dependent object that changes implicitly. For example, if hh is defined by "hh: x+y=1" and drawn somewhere, and it's then redefined by "hh: x^2+y=1", the drawing locations of hh remain unchanged.

photo
1

That's deliberate. Redefining an object is a very "powerful" operation - effectively the object gets re-created (and so gets in the "active" view)

photo
1

Hm....that means I can't really work with user-defined functions (via Input Box) that way without having some (possibly unnecessary) drawings in the window where the Input Box is located.


Edit: And why is the behaviour different when I redefine a free object directly?

photo
© 2023 International GeoGebra Institute