We analyze the problem of calculating high-frequency ground motions (>1 Hz) caused by earthquakes having arbitrary spatial variations of rupture velocity and slip velocity (or stress drop) over the fault. We approximate the elastic wave Green's functions by far-field body waves, which we calculate using geometric ray theory. However, we do not make the traditional Fraunhofer approximation, so our method may be used close to large faults. The method is confined to high frequencies (greater than about 1 Hz) due to the omisson of near-field terms, and must be used at source-observer distances less than a few source depths, due to the omission of surface waves. It is easily used in laterally varying velocity structures. Assuming a simple parameterization of the slip function, the computational problem collapses to the evaluation of a series of line integrals over the fault, with one line integral per each time ti in the observer seismogram. The path of integration corresponding to observation time ti consists of only those points on the fault which radiate body waves arriving at the observer at exactly time ti. This path is an isochron of the arrival time function. An isochron velocity may be defined that depends on rupture velocity and resembles the usual directivity function. Observed ground motions are directly dependent upon this isochron velocity. Ground velocity is proportional to isochron velocity and ground acceleration is proportional to isochron acceleration in dislocation models of rupture. Ground acceleration may also be related to spatial variations of slip velocity on the fault, using the square of isochron velocity as a constant of proportionality. We show two rupture models, one with variable slip velocity and the other with variable rupture velocity, that cause the same ground acceleration at a single observer. The computational method is shown to produce reasonably accurate synthetic seismograms, compared to a method using complete Green's functions, and requires about 0.5 per cent of the computer time. It may be very effective in calculating ground motions in the frequency band 1 to 10 Hz at observers within a few source depths of large earthquakes, where most of the high-frequency motions may be caused by direct P and S waves. We suggest a possible method for inverting ground motions for both slip velocity and rupture velocity over the fault.