Snow Globe: Part One, Cheap DIY Spherical Projection

Earth in Snow Globe

Since reading Snow Crash, I’ve been drawn to the idea of having my own personal Earth.  Because I’m stuck in reality and the virtual version of it is always 5 years away, I’m building a physical artifact that approximates the idea: an interactive spherical display.  This is of course something that exists and can likely be found at your local science center.  The ones they use are typically 30-100″ in diameter and cost enough that they don’t have prices publicly listed.  Snow Globe is my 8″ diameter version that costs around $200 to build if you didn’t buy a Microvision SHOWWX for $600 when they launched like I did.

Lens mount

The basic design here is to shoot a picoprojector through a 180° fisheye lens into a frosted glass globe.  The projector is a SHOWWX since I already have one, but it likely works better than any of the non-laser alternatives since you avoid having to deal with keeping the surface of the sphere focused.  Microvision also publishes some useful specs, and if you ask nicely, they’ll email you a .STL model of their projector.  The lens is an Opteka fisheye designed to be attached to handheld camcorders.  It is by far the cheapest 180° lens I could find with a large enough opening to project through.  The globe, as in my last dome based project is for use on lighting fixtures.  This time I bought one from the local hardware store for $6 instead of taking the one in my bathroom.

I’ve had a lot of fun recently copying keys and people, but my objective in building a 3D printer was to make it easier to do projects like this one.  Designing a model in OpenSCAD, printing it, tweaking it, and repeating as necessary is much simpler than any other fabrication technique I’m capable of.  In this case, I printed a mount that attaches the lens to the correct spot in front of the projector at a 12.15° angle to center the projected image.  I also printed brackets to attach the globe to the lens/projector mount.  The whole thing is sitting on a GorillaPod until I get around to building something more permanent.

Snow Globe

Actually calibrating a projector with slight pincushion through a $25 lens into a bathroom fixture attached together with some guesswork and a 3D printer is well beyond my linear algebra skill, so I simplified the calibration procedure down to four terms.  We need to find the radius in pixels of the circle being projected and the x and y position of the center of that circle for starters.  The more difficult part, which tested my extremely rusty memory of trigonometry is figuring out how to map the hemisphere coming out of the fisheye lens to the spherical display surface.  For that, we have a single number for the distance from the center of the sphere to the lens, in terms of a ratio of the projected radius.  The math is all available in the code, but the calibration script I wrote is pretty simple to use.  It uses pygame to project longitude lines and latitude color sections as in the image above.  You use the arrow keys to line up the longitude lines correctly to arrive at the x and y position, plus and minus keys to adjust the radius size until it fits the full visible area of the sphere, and 9 and 0 to adjust the lens offset until the latitudes look properly aligned.  What you end up with is close enough to correct to look good, though as you can see in the images, the projector doesn’t quite fit the lens or fill the sphere.  The script saves the calibration information in a pickle file for use elsewhere.

Projected sphere

Going back to the initial goal, I wrote a script to turn equirectangular projected maps of the Earth into roughly azimuthal equidistant projected images calibrated for a Snow Globe like the one above.  There are plenty of maps of the former projection available freely, like Natural Earth and Blue Marble. Written in python, the script is quite slow, but it serves as a proof of concept.  The script, along with the calibration script and the models for the 3D printed mounts are all available on github.  I’ve finally fully accepted git and no longer see a point in attaching the files to these posts themselves.  I put a Part One in the title to warn you that this blog is going to be all Snow Globe all the time for the foreseeable future.  Up next is writing a faster interface to interactively display to it in real time, and if I think of a good way to do it, touch input is coming after that.

Download from github:
git://github.com/nrpatel/SnowGlobe.git

Related Posts

116 Replies to “Snow Globe: Part One, Cheap DIY Spherical Projection”

  1. Along with giving you the Cricket ID, we also promise that your safety will be our full responsibility for the safety of your money, that is, you just have to take your ID from our agency Mr. Shyam Cricket ID and bet on cricket according to your wish.

  2. We are one of India’s Top Betting ID Providers, offering Online Cricket ID right away. In this, you can spend money, win big, and make many times more. As we are guiding you, there is no risk of losing in this situation, so call right away to speak with our online betting ID provider and take pleasure in the game.

  3. I’ve been a customer of BestVapeMart for a few years now, and I’ve always been happy with their service. They have a wide selection of vapes and pods, and their prices are very reasonable. Recently I had bought Mana Stick Pro 1500 Puffs and it gave me a great experience. I also appreciate their quick shipping and their excellent customer service. I would definitely recommend BestVapeMart, an Online Vape Store in Pakistan to anyone looking to buy vapes or pods.

  4. I am so grateful for the amazing backlinks that I got from Blog Commenting. The backlinks are always fruitful, helpful in the increasing of my website authority and traffic. Muhammad Muneeb has a way of making me feel like I am not alone in my journey, and they always offer me valuable advice. I am so glad to use his services of blog commenting for backlinks.

  5. Kudilo Chandigarh Escorts Service Call today Independent Chandigarh Escorts are in touch with you 24×7 available near hotels. Genuine Escort Service in Chandigarh

  6. Are you looking for an easy-to-access place to keep your household items, memorable things, and sports equipment? Or are you looking for a storage space for rent in Dubai to store goods for business? Do you need to rent a unit for a season or until the redecoration in your flat is over? In any case, there is no need to look any further. SpaceHub provides high-quality storage facilities in and offers modern, fully-equipped, CCTV-enabled warehouses. A wide range of secure and trusted self-storage services in Dubai is here to fit any requirements.

  7. Multiwood furniture is not only stylish but also practical. I recently purchased a bookshelf for my home office, and it’s perfect for organizing my books and files. The shelves are spacious and sturdy, and the design is modern and sleek. I’m extremely satisfied with my purchase and will definitely be shopping with Multiwood again in the future.

  8. Forex BlogThe Forex trading market is dominated by the US dollar. More than 8 out of every 10 Forex trades occur with the US dollar, most of which are paired with the Euro. EUR/USD trades account for nearly 30% of all the Forex trading on the market. After this, USD/JPY and GBP/USD are the next most popular trades in the foreign currency exchange market. These 3 currency pairs are more stable than the currencies of smaller countries or certain regions. Some currency pairs are associated with a specific commodity. For example, AUD/USD is linked to the gold commodity and USD/CAD is linked to the oil commodity.
    https://prof-fx.blogspot.com/

Leave a Reply to Bike On Rent Cancel reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.