Hallo,
gehe ich recht in der Annahme, dass die gespeicherten Werte 3D-Koordinaten sind? Wie wäre es dann, wenn Du nur die Vektoren speicherst? Dafür könntest Du Dir einen Record bilden. Es werden im Array die Records gespeichert. Diese enthalten den X/Y/Z Offset zur vorherigen Position im Koordinatensystem. Wenn Du den Maßstab und die Schrittweite geschickt wählst, könntest Du pro Wert dann sogar mit einem Byte auskommen(-128..127). Du brauchst dann nur noch den Startpunkt in "voller Auflösung" zu speichern.
Beispiel:
Delphi-Quellcode:
type
TOffset = record
XDiff, YDiff, ZDiff : shortint;
end;