  We give a comprehensive presentation of methods for calculating the Casimir
force to arbitrary accuracy, for any number of objects, arbitrary shapes,
susceptibility functions, and separations. The technique is applicable to
objects immersed in media other than vacuum, nonzero temperatures, and spatial
arrangements in which one object is enclosed in another. Our method combines
each object's classical electromagnetic scattering amplitude with universal
translation matrices, which convert between the bases used to calculate
scattering for each object, but are otherwise independent of the details of the
individual objects. The method is illustrated by re-deriving the Lifshitz
formula for infinite half spaces, by demonstrating the Casimir-Polder to van
der Waals cross-over, and by computing the Casimir interaction energy of two
infinite, parallel, perfect metal cylinders either inside or outside one
another. Furthermore, it is used to obtain new results, namely the Casimir
energies of a sphere or a cylinder opposite a plate, all with finite
permittivity and permeability, to leading order at large separation.
