Open kcajf opened 10 years ago
Cool ideas.
I think, to achieve this sort of thing, I'd implement a new motion model. Right now a point on the screen ties directly to a point on the globe (mostly, quaternions, blah, blah). Instead of doing that, I'd introduce momentum. So moving a finger introduces force along a certain vector on the sphere.
This would give you motion something like manipulating an oily sphere mounted on gimbals. There are some applications for which it would be kind of cool. It also solves a lot of problems the current motion model creates, like the north up weirdness.
It's been in the back of my mind for a while. I throw it out occasionally when a client wants something different. That's probably how it would happen, a client.
Sounds good, nice idea with the momentum - it would definitely make it much nicer on touch devices. What's wrong with the 'north up weirdness'? I've also got another question for you - I'll open a new issue.
Keeping north up with the current motion model results in some squirrelyness around the poles. It moves really fast when you're up north or down south.
Hi Steve, Currently the animateToPosition method stops the globe instantly irrespective of its motion and then moves in a straight line to the target coords. How hard would it be to make animateToPosition take into account the current velocity and spin direction of the globe, and plot a smooth trajectory from that to the target position? E.g. if it were spinning due east and the shortest distance along the great circle to the target were due west, it would slowly decelerate towards the east and then start moving west. That's a straight-line example, but one could imagine something similar for when the line to the target and the current spin-vector are not parallel - perhaps a bezier curve between the two points, of which the curvature depends on the current spin velocity and smoothly transitions between the two? Cheers, J