Here is a bare-bones display of the Earth from any viewpoint, using JavaScript in your web browser. It works in modern browsers that support the HTML5 CANVAS tag, and does not require Java.

Type in a new value for latitude and longitude, and click Show, and the picture will update. The image is drawn with 6048 line segments every time.


This program has a long history. The original version was written in the MAD language for CTSS by either Rob Stotz or Daniel Thornhill of MIT Research Laboratory for Electronics in the late 1960s. The data for the globe was digitized and typed in by hand by a contractor for RLE. The program was often used as a demonstration for the ARDS terminal, a graphics display based on a Tektronix storage tube.

In 1971 or so, CTSS was going away, and I was working on a user interface for the Multics graphics system. I rescued the data file and translated the MAD version to Multics PL/I, and we used it for demonstrations of Multics graphics.

Sometime in the 1980s, Multics was going away at MIT, and Mark Eichin of MIT translated the program into C with calls to the X Windows display primitives.

In 1994, I rescued globe again, using Mark's code, and made it into a C++ presentation framework application for Taligent's Pink environment.

In 1996, I translated globe into a Java applet that ran inside a web browser.

In 2013, I translated globe into a JavaScript function, using the HTML5 CANVAS feature. See the JavaScript Pie Chart page for some considerations.

June 2017: modified the JavaScript code to work properly on higher pixel density displays.


A few possible future enhancements:

Here is a link to the source file: globe.js by Stotz, Thornhill, Van Vleck, and Eichin View the source of this web page to see how to invoke it. Feel free to improve on my code; please give credit to the pioneers when you use the data or algorithms. A link to this page is sufficient. It is open source, MIT license.

July 2018: Jeffrey Johnson found globe.pl1 in an archive that Chris Tavares had saved. Many thanks to both.