A method is presented for designing motion-compensated gradients in a progressive manner. The method is easily applicable to many types of waveforms, and can compensate for any order of motion. It can be implemented graphically or numerically. Underlying theory and examples of its application are provided.