So ich steig durch. Wird wirklich praktisch
jetzt fehlt nur noch eine Sache: mein Array muss nicht voll sein. Will heißen, dass das Array nicht immer alle 150 Felder beschrieben hat. Manchmal werden auch nur 50x50 gescannt - je nach eingesteller Auflösung.
Wie kommt der Apparat also damit klar, wenn ich nur ein kleineres Array habe?
das muss doch hier irgendwo passieren:
Code:
procedure TForm1.Formula(const x, y: Single; var z: Single;
var color: TColorVector; var texPoint: TTexPoint);
const
Scale = 100;
begin
z := VectorNorm(x, y);
// x & y-Pos vom Array umrechnen
z := HFData[Trunc(x * 100), Trunc(y * 100)] / Scale;
// nach Höhe einfärben
VectorLerp(clrBlue, clrRed, z, color);
end;
Wenn ich alles kapiert habe, müsste ich die Zeile so abändern:
z := HFData[Trunc(x * pos_MaxX / 1.5 ), Trunc(y * pos_MaxX / 1.5 )] / Scale;
die pos_Max-Variablen geben an, wie weit das Array beschrieben ist. Also können sie Maximal den Wert 150 haben.