12-25-2017, 05:38 AM
Thanks micheus for responding.
>> Is that actually impossible?
> No.
Hmmm, I think you probably mean "yes" it is impossible?
> I would say that it's always screen-relative which
> Thinking in 2D screen, rotating around Y (left-right) and rotating around X (up-down).
Except that Wings3D doesn't do that. Imagine viewing a model of the earth, with earth axis = Y axis, and +Y points out of north pole. +X axis points out at 0 N 0 W, and +Z points out of 0 N 90 W (huh, near Galapagos islands!). (Hahaha, I just now saw that you have a tutorial on youtube with exactly that model! https://www.youtube.com/watch?v=RqZ-Ikn2M0g)
Now arrange the view so that Y (north) is "up" on screen, and X is to the right. I'll call this "home" position
1. Mid-mouse drag to the _right_ rotates the globe surface on screen to the _right_ ("right-handed rotation around around Y"),
Mid mouse drag _down_ rotates the globe surface on screen _down_ ("right hand rotation around X axis").
So these two rotations could be either screen relative or model relative; they agree.
2. But... from home position, if you rotate around X far enough that +Y (north) points down, now:
Mid-mouse drag to the _right_ rotates the globe surface to the _left_ (totally opposite mouse-versus-surface action, but _still_ a right-hand turn around around Y). So that's model relative, not screen relative.
Meanwhile, mid-mouse drag down continues to rotate the globe surface down on screen, so still qualifies as either screen relative or model relative.
3 If instead, from home position (Y up on screen), you rotate the model around Y so that +Z is pointing to screen right. In this position, mouse down motion still rotates the surface down on screen. Up-down rotation is no longer around X, it's around Z. So this is screen relative.
4. And the worst case is when you get the Y axis pointing out of the screen. (Say X right and Z down on screen) Now left-right mouse motion causes "spinning of the screen", because left right is still coupled to rotation around Y. And that spinning is in the reverse direction of mouse movement, on either the top or bottom half of the screen (depending on whether + or - Y points out of screen).
--------
In short, _up-down_ mouse movement is screen-relative. It is as though the mouse is literally touching the model and dragging the surface in the direction of the mouse.
But left-right mouse movement causes only rotation around Y, and it's only like touching the sphere's surface when Y is pointing up.
Compare this to mouse action in Google Earth, where the mouse always moves the surface of the earth so that the initial mouse-down point on the earth surface stays under the mouse pointer during drag.
I do realize that the Aim feature can be helpful to work with off-origin models or components. But it doesn't make any difference to the mapping of mouse-motion to rotation.
>> Is that actually impossible?
> No.
Hmmm, I think you probably mean "yes" it is impossible?
> I would say that it's always screen-relative which
> Thinking in 2D screen, rotating around Y (left-right) and rotating around X (up-down).
Except that Wings3D doesn't do that. Imagine viewing a model of the earth, with earth axis = Y axis, and +Y points out of north pole. +X axis points out at 0 N 0 W, and +Z points out of 0 N 90 W (huh, near Galapagos islands!). (Hahaha, I just now saw that you have a tutorial on youtube with exactly that model! https://www.youtube.com/watch?v=RqZ-Ikn2M0g)
Now arrange the view so that Y (north) is "up" on screen, and X is to the right. I'll call this "home" position
1. Mid-mouse drag to the _right_ rotates the globe surface on screen to the _right_ ("right-handed rotation around around Y"),
Mid mouse drag _down_ rotates the globe surface on screen _down_ ("right hand rotation around X axis").
So these two rotations could be either screen relative or model relative; they agree.
2. But... from home position, if you rotate around X far enough that +Y (north) points down, now:
Mid-mouse drag to the _right_ rotates the globe surface to the _left_ (totally opposite mouse-versus-surface action, but _still_ a right-hand turn around around Y). So that's model relative, not screen relative.
Meanwhile, mid-mouse drag down continues to rotate the globe surface down on screen, so still qualifies as either screen relative or model relative.
3 If instead, from home position (Y up on screen), you rotate the model around Y so that +Z is pointing to screen right. In this position, mouse down motion still rotates the surface down on screen. Up-down rotation is no longer around X, it's around Z. So this is screen relative.
4. And the worst case is when you get the Y axis pointing out of the screen. (Say X right and Z down on screen) Now left-right mouse motion causes "spinning of the screen", because left right is still coupled to rotation around Y. And that spinning is in the reverse direction of mouse movement, on either the top or bottom half of the screen (depending on whether + or - Y points out of screen).
--------
In short, _up-down_ mouse movement is screen-relative. It is as though the mouse is literally touching the model and dragging the surface in the direction of the mouse.
But left-right mouse movement causes only rotation around Y, and it's only like touching the sphere's surface when Y is pointing up.
Compare this to mouse action in Google Earth, where the mouse always moves the surface of the earth so that the initial mouse-down point on the earth surface stays under the mouse pointer during drag.
I do realize that the Aim feature can be helpful to work with off-origin models or components. But it doesn't make any difference to the mapping of mouse-motion to rotation.