The year is 2516 and the Earth is under attack from aliens, intent on stripping the planet of its natural resource of gaseous oxygen. You have just experienced the worst solar flare in living memory, which has wiped out the Earth's automatic defence system . . . and that means that the buck stops with you as Chief Scientist of the Earth Defence Corps.
A lowly technician, one Adrian Clark, has just sent you a message. He says the long-range cameras on the third moon of Pluto have detected a meteor shower and he is concerned that an alien vessel is hiding amongst the meteors. The aliens have tried this kind of thing before — it is usually easy to spot alien craft as they have to manoeuvre to avoid the meteors, whereas the meteors themselves travel in straight lines. Surely it cannot be too difficult to knock together a program to identify any meteor exhibiting non-linear motion in 3D?
The trouble is that the solar flare knocked out all modern computers. Looking around, you realise with horror that the only computer that has survived the flare unscathed is one of your antiques, a 2016-vintage PC running Linux. Booting it and logging in, you see that you have support for only C, C++ and Python, so you will have to program a solution using one of those. You also have a copy of the OpenCV library from the same period, which you know will be able to handle the images from the long-range scanner.
You sigh deeply and reply to Adrian Clark: "Send me the imagery and I'll try to write some software to report anything that manoeuvres in the meteor shower."
"OK," he messages back. "We have only low-resolution imagery from two of
the cameras. The telescopes to which the cameras are attached have focal
lengths of 12 m and are arranged 3.5 km apart with their optical
axes exactly aligned. The cameras have a 10 micron pixel spacing. Our
weapons have a 50,000 km range. I have 50 frames captured simultaneously
from the left and the right cameras, which I'll put
into a zip-file and send to you. I reckon you
have until just before noon on Thursday 8
Mentally, you roll your sleeves up before turning to the keyboard and starting up Emacs. If the situation wasn't so serious, this would be fun . . .
|Submission deadline:||Thursday 8th December at 11:59:59 (i.e., noon)|
|What to submit:||
the source code of your program
the Makefile for compiling your program (unless
you've used Python)|
Do not submit the images!
|Marks returned:||at the beginning of the spring term|
|Overall marks breakdown:||according to the usual assessment criteria|
Remember to identify your work with your registration number. The coursework system allows you to upload your work as often as you like, so do keep uploading your files as you develop them.