Slightly off topic, but I was so surprised how steep the Axial tilt is (http://en.wikipedia.org/wiki/Axial_tilt) I had always known that it was 23º but never actually visualized it.
Try putting γ=23º in the Euler angles and rotate the earth with λ.
Firefox you're breaking my heart. This performs terribly in FF, fine in Chrome.
Isn't this also called "Arcball rotation"? The biggest advantage over the naïve implementation is no un-intuitive "sideways" rotation after a few sequences of rotation.
This is like 100 times faster in Chromium than in Firefox (on Linux). Any idea why? Is JS in FF really that much slower?
As an experiment I used this D3 geo stuff to visualize my last year or so across the globe:
http://dalyons.github.io/where-is-dave/index.html?use_cached...
Works much better on chrome than FF unfortunately.
I thought it turned out pretty cool, as a practical example of what you can use this stuff for. It was super fun to build, D3 is pretty awesome.
You can also load your own photos from FB if you want to see your own track, its just static html/js, i dont store anything anywhere.
Another way of doing this (without versors):
Let u and v be the unit vectors of the initial and final click location. We want an R s.t. Ru = v. Create an orthonormal basis ON(u) and ON(v) (you can use the QR decomposition for the vector concatenated with I).
R = ON(v) ON(u)^-1 = ON(v) ON(u)^T
I've been writing accelerometer coordinate system rotation code for the whole day. Almost melted my brain; trying to imagine 3D rotation is hard, especially when you lack the proper tools and have very little experience with it. Finally got the thing working; decided to have one last look at HN before going to bed. It was then when I saw "Rotate the world" and thought to myself: "well this better not be about Euler angles!"
Yup. Thanks pjan, you made my day brighter :)
India is distorted - Kashmir and all. You better be careful about the borders that are under dispute. I took into consideration that it's a low-res border, even then it's way off.
I dont know if the details of map itself are important or not, because I understand it's an exhibition of the interface itself. Just my opinion.
Anyone else tried this on Linux? On Mint 15 and Ubuntu 13.04 FF25 is has >1 second lag. Chrome 30 is fine.
Very nice. Makes me think of http://aladin.u-strasbg.fr/AladinLite/app/?survey=P/Mellinge...
Please Please Please include "show the shortest path between points A and B".
Unless I missed it, where does one get the continent shapes and country outlines?
I have a couple of questions, and I'm unfamiliar with the Javascript frameworks so I struggle a bit to find the answers in the source:
Are the globes drawn with perspective?
And can it suffer from gimbal lock?
Wow, that's _exactly_ what I needed yesterday. Thanks a lot.
.. however, some more explanation for how the improved rotation works would have been useful.
Are the scale of continents right? Because Australia looks almost bigger than Europe, and Africa looks many times bigger than Europe.
Brilliant stuff! Would've been better if it had the names of the places. Kinda like a virtual globe. ;)
Rotating maxed out my cpu in both chrome and firefox but only chrome didn't stutter.
Great work! This is a really nice use of d3 and a great visualization tool.
It's more useful when you keep the north at north.
Man oh man, do I hate Euler angles...
This is just my personal preference, but I believe the naive implementation is miles ahead of the improved ones.
The improved version needs at least two movements to go to the other side of the world, doesn't follow the rotation if the cursor is too fast and worse than all, performs a gamma rotation for each non-equatorial point of the sphere.
Since we have two degrees of freedom on the screen, I expect to use them to drive the two most used rotations, and maybe have another control for the roll. In addition, we are used to have maps with North pointing up (and sometimes pointing South), so the roll is almost never used.