das meinte ich ja mit Delta x und Delta y.
Annahme Shape 2 liegt rechts und unterhalb Shape 1
Delphi-Quellcode:
dx := (Shape1.Left - Shape2.Left) / Schrittweite;
dy := (Shape1.Top - Shape2.Top) / Schrittweite;
Shape2.Left := Shape1.Left + dx;
Shape2.Top := Shape2.Top + dy;