Came across a funny book titled 5000 years of UFOs (1997) last weekend. The author claims that a number of ancient astronomical records from Chinese history books are actually about UFOs. Here’s one example, where the author cites the chronicle Zizhi Tongjian (1084):

In the 9th lunar month of the year 415, Mars looped the loop in the constellation Gemini, sometimes forward, sometime backward, sometimes left, sometimes right.

The author questions “how can Mars move like this”1 and suspects a UFO.

Well, Mars can move like this. That’s why Mars is called a planet (“wandering stars” in Greek). Here’s the last retrograde motion of Mars in 2011–2012, plotted using D3.js (JavaScript+SVG required) and data from NASA.

Compare it with the actual photos from NASA, and you can see how Mars brakes, changes its direction, and moves forward again. Mars appears to move backward in the sky when Earth overtakes Mars, since Earth moves faster around the sun (see more explanations from NASA and BBC).

However, according to either my plots or other historical records, Mars did not loop the loop in Gemini in late 415 at all. In fact, it is nowhere near Gemini at that time. I suspect that the actual date of this record is late 414 or early 415; the chronicle Zizhi Tongjian may make a mistake here. I’ll explain this later.

Plotting the night sky

Here are some technical details. The x-y coordinates of my plots are right ascension (RA) and declination (dec), “longitude” and “latitude” of the celestial sphere, respectively. For stars, I got their RA/dec data (see stars.txt) from Wikipedia (e.g., Gemini), which are assumed not to change.

The key part is to get the RA/dec of Mars over time. There are a few options:

  • Use Stellarium, but it’s hard to export the coordinates from there;
  • Calculate the coordinates using lower accuracy formulae;
  • NASA’s HORIZONS provides a nice web service for generating coordinates, but it doesn’t work for dates earlier than 1900.

I ended up with writing a small program (see coordgen.c) using NASA’s SPICE toolkit, along with the ephemeris data DE431 that covers dates back to 13210BC.

$ ./coordgen "MARS BARYCENTER" 2011-SEP-01 2012-AUG-31
2011-SEP-01 00:00 110.18800  22.84568
2011-SEP-02 00:00 110.87321  22.77037
2012-AUG-31 00:00 212.12717 -13.52374

Now we have the RA/dec of Mars for that time span (see mars2011.txt). Similarly, we can get those of Mars in the year 415 (and even those of other planets such as Saturn), as I’ll show later.

Note that these coordinates may not be exactly the same as seen from Earth. They are of the Mars barycenter, not the mass center. Also, they don’t take into account atmospheric refraction nor the light time from Mars to an observer on Earth. They are accurate enough for our purpose though.

I wrapped up my plotting code in ti.js. To generate a plot, simply call ti.load() with your data and configuration. See the source code of this webpage for details.

The fall of a kingdom

Mars in the year 415 played an interesting role in history. According to Zizhi Tongjian, in the 9th lunar month of 415, an astronomical officer of the Northern Wei dynasty reported that Mars was “gone,” which was a serious issue at that time. The emperor then called for a meeting. A high-level official Cui Hao predicted that another kingdom, Later Qin, would fall soon, as indicated by the motion of Mars, though others didn’t believe him. About 80 days later, Mars appeared looping the loop in Gemini. The emperor of Later Qin, Yao Xing, died the next year (416), and Later Qin did collapse the year after (417).2

Let’s plot the motion of Mars from late 415 to early 416.

Clearly, Mars was traveling between Virgo and Aquarius, way far away from Gemini.

I also looked up the astronomical records from Book of Jin (648), which mentioned the following:

  • Jul 13th, 415, Mars moved to Virgo.3 (Note that all the dates in this article are converted from the original lunar dates and should be considered approximate.)

We can confirm the accuracy of this record using the plot above. Based on this record, since Mars was in Virgo around July, we can also infer that it wouldn’t reach Gemini soon.

415 or 414?

So, what went wrong?

Later, I found one record for the previous year 414, also from Book of Jin (648):

  • Aug 19th, 414, Mars approached Gemini and Saturn approached Cancer, looping the loop.4

Hmm, let’s plug in the data.

This plot shows Mars (in Gemini) and Saturn (in Cancer) in late 414 and early 415, both in retrograde motion. This is consistent with the ancient records.

So, is it possible that Zizhi Tongjian (1084) made a mistake on the actual date?

From Book of Wei (554), I found an earlier version of the story that Cui Hao predicted the fall of Later Qin based on the motion of Mars. It is basically the same story, but the date recorded in that book is “qian sui” before Yao Xing, the emperor of Later Qin, died in 416.5

Well, “qian sui” is a confusing term in Chinese. It could mean one year before (415), two years before (414), or even several years before. Based on the plot above, I suspect the actual date of the story is 414, while the author of Zizhi Tongjian misread the date, possibly due to the ambiguity of the term “qian sui.”

To sum up, this is what I believe happened:

  • Aug 414, Mars started retrograde motion in Gemini.
  • Late 414, Cui Hao predicted the fall of Later Qin.
  • Early 415, Mars ended retrograde motion and moved out of Gemini.
  • 416, Yao Xing, the emperor of Later Qin, died.
  • 417, Later Qin collapsed.
  • 554, Book of Wei was published; it says the prediction was made “qian sui” before Yao Xing died.
  • 1084, Zizhi Tongjian was published; it says the prediction was made in late 415, which should have been late 414.


  1. Excerpts from 5000 years of UFOs: “415年,《資治通鑑》「東晉安帝十一年九月,熒惑出東井(雙子座),留守句己,久之乃去。去而復來,乍前乍後,乍左乍右」,熒惑火星會如此飛來飛去嗎?” While the first half of the cited piece does appear in Zizhi Tongjian, the second half doesn’t. It is actually from Book of Jin (晉書·志第二·天文中), talking about observing Mars in general. The author mixed them up, probably due to using a commented version of Zizhi Tongjian

  2. 資治通鑑·卷第一百一十七·晉紀三十九: “義熙十一年…九月…魏太史奏…” 

  3. 晉書·志第三·天文下: “義熙…十一年三月…己卯 熒惑入輿鬼… 五月癸卯 熒惑入太微…” 

  4. 晉書·志第三·天文下: “義熙…十年…七月庚辰…熒惑犯井鉞 填星犯輿鬼 遂守之…” 

  5. 魏書·列傳第二十三·崔浩: “初 姚興死之前歲也…”