Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#33

Re: Facharbeit - 3D Topographie anzeigen

  Alt 12. Jan 2006, 10:05
Also eigentlich ist das Programm für dich schon vorbereitet, du musst nur noch das Array füllen...

Delphi-Quellcode:
procedure TForm1.SetMyArray;
var x, y: Integer;
begin

  for x := 0 to 150 do
    for y := 0 to 150 do
      HFData[x, y] := ...

  GLHeightField1.StructureChanged; // HeightField neu zeichnen
end;
Dabei sollte beachtet werden dass die Werte 1,5 nicht überschreiten sollten. Also eine Scalierung durchfüren:

Delphi-Quellcode:
// Datenwerte an HeightField ubergeben
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;
max. 150 : 100 = max 1,5


Wegen dem "Fehler" musst du noch die Unit VectorTypes mit einbinden:
Code:
[b][color=#0000AF]uses[/color][/b]
  Windows, ..., GLScene, ..., [b][color=#df0000]VectorTypes[/color][/b];
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat