Assorted Projects From Tom
I've always been interested in writing software; at the moment it's something
I do in the evenings and at weekends, as being more relaxing than trying
to write my thesis, and more intellectually
involving and generally socially useful than playing endless games of Dungeon Siege.
My housemate suggested that I write down something about my projects: hence
this page.
The projects
- NEW 20/09/2003 Lagrange: a simple
introduction-by-example to some techniques of finite element analysis and
to the NumArray library for Python.
- Goldbach: computing, and examining the
rather peculiar behaviour of, a function related to the Goldbach conjecture.
- Newton sets; like Mandelbrot sets but
rather more beautiful, and lending themselves to interesting animations.
Should be finished in time for fractals to become fashionable retro-chic
again. Enabling technologies: quadtree compression,
complex arithmetic in SSE2.
- Globus: texture-mapping a sphere without using hardware accelerated
3D. Enabling technology: fast SSE approximate
inverse trigonometric functions.
- Landmass: combining NASA's satellite images of the earth with topographical
models to provide attractive fly-overs. Enabling technology: least-squares
fits of multivariate polynomials, GUI for point-identification applications.
Critical missing requirements: effective multi-resolution algorithms (to
avoid drawing large areas of tiny coplanar triangles), visible-set determination
(to avoid spending time rendering regions which will be hidden behind
a foreground mountain).
- Knitting: given several pictures of the same scene, knit them together
into a single panoramic image using optimal non-linear transformations.
Enabling technology: least-squares fits of multivariate polynomials,
GUI for point-identification applications. Problems: hopeless distortion;
may turn out necessary to approximate camera viewing matrices instead.
- How files are stored on NTFS partitions,
a bit of low-level hackery occasioned by the corruption of the partition
with all my saved games on it.
"Where did you find that data set?"
- Topographic data for Earth: the best public source I've encountered
is GTOPO30, which
is 30-arcsecond (approximately 1-kilometre) resolution. It comes as 33 tiles,
stored in tar files in an FTP directory here. Better
data exists, produced by the Shuttle
Radar Topography Mission; 30-metre and 90-metre data is available for
the US-except-Alaska here, though as
1013 one-square-degree tiles of around 2 megabytes (90-metre) or around 15
megabytes (30-metre). There is a promise that 90-metre world-wide data will
be available at some point, but 30-metre data may well be too useful for
missile targetting to be released. Topographic data tends always to be headerless
collections of 16-bit integers: consider MRIcro
as a viewer.
- Topographic data for Mars: from the Mars Orbiter Laser
Altimeter is available here, at resolutions
up to 1/128-degree (28.1 arc-second; just under 500 metres). Again it's divided
into tiles, and takes up about two gigabytes. I'd be very grateful if anyone
pointed me at a high-resolution DEM of Venus: I think the Magellan probe gathered
enough information to produce such a model, but I've not yet found one on-line.
- Satellite images of the Earth: from NASA Earth Observatory
which then pointed me at the MODIS image gallery here.
The gallery has two or three thousand images in it at the moment; see
notes on grabbing galleries. MODIS
produces 250-metre-resolution images of areas up to about 1500 kilometres
on a side; I think I have something close to total cloud-free coverage
of the Earth.
Keep coming back to this page: there is much more left for me to write
and to write up.