PHYS 5770 General Relativity Spring 2001: Texts
PHYS 5770 Spring 2001 Homepage
The suggested text for this course is
B. F. Schutz `A First Course in General Relativity' (Cambridge, 1985).
This book gets positive ratings from everyone who uses it.
A highly readable set of notes
at about the right level for this course is
Lecture Notes on General Relativity.
The notes do not cover special relativity,
and do not get as far as rotating black holes (the Kerr metric).
However, Blau does an incomparable job of
exploring the various subtle features of general relativity
from many complementary points of view.
If you ask yourself,
why does the Riemann tensor have the symmetries it has,
Blau will give you not one but several answers,
among which you will probably find an answer that fits
the deep question you had in mind.
One of the best relativity resources on the web is Chris Hillman's
Relativity on the World Wide Web,
which amongst other things contains links to
Lecture Notes at both
Books on General Relativity.
Did you know that the best, and definitely the coolest, way to
implement Lorentz transformations is as complex quaternions?
Discover this and more amazing mathematics in
How to Program Lorentz Transformations on a Computer (gzip'd PostScript, 204K; version of 11 Feb 2001).
S. Gull, A. Lasenby & C. Doran's
`Imaginary Numbers are not Real - the Geometric Algebra of Spacetime'
A. Lasenby & C. Doran's
Lecture Course in Geometric Algebra.
Falling into a Black Hole.
The world of computer graphics is developing at a bewildering pace.
The definitive guide to OpenGL is
M. Woo, J. Neider, T. Davis & D. Shreiner
(OpenGL Architecture Review Board),
`OpenGL Programming Guide, 3rd Edition',
(Addison Wesley, 1999, $49.95 paperback).
Simple DirectMedia Layer (SDL).
Java 3D, an extension of the
Java 2 SDK.
Stuff you should know about
Dewey Anderson's experimental c++ code
for applying a black-hole-like warp to a background,
such as the Lund Observatory's
Panorama of the Milky Way,
or Axel Mellinger's
Milky Way Panorama.
Whatever other language or library you may use,
underneath will be
Open Graphics Library,
which has become the de facto standard for cross-platform computer graphics.
OpenGL provides 3-dimensional texturing, rendering,
lighting (but not ray-tracing), fogging, and hidden object removal.
Despite its power, OpenGL is a fairly low level library,
offering no windowing system, no user interface,
and no built-in widgets such as buttons and menus.
There are now many graphic libraries
that are built on top of OpenGL,
and that offer higher level capabilities missing in OpenGL.
Undoubtedly you will want to use some of these libraries.
Since you will want your interactive animations to run fast,
you may find that a useful layer on top of OpenGL is the
Simple DirectMedia Layer (SDL),
which offers fast access to the graphics framebuffer, audio device,
SDL has the merits of being free,
There is also a nice set of
Another possibility is to use Sun's
an extension of their
Java 2 SDK (Software Development Kit).
Java 3D is built on top of OpenGL.
The advantage of Java is that it offers a vast number of high level features,
and the automatic memory management is what every programmer dreams of.
My own experience with Java 1.1 in 1998
(making the BHFS whose screenshot appears on the course homepage)
was somewhat disappointing:
the language was slow and buggy,
and it proved nigh impossible to make animations run smoothly.
One would hope that many of those problems have been solved or alleviated
in the last two years.
PHYS 5770 Spring 2001 Homepage
Updated 5 Feb 2001