Thema: Delphi Lissajous-Figuren

Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

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

Re: Lissajous-Figuren

  Alt 5. Jun 2006, 22:17
Delphi-Quellcode:
procedure TForm1.DrawLissajous(x, y, z: Single);
var
  sinX, sinY, sinZ, Pi_ : single;
  step: Integer;
begin
  GLLines1.Nodes.Clear;

  for step := 0 to 360 do
  begin
    sinX := sin(Pi * step * x / 180) * 180;
    sinY := -sin(Pi * step * y / 180) * 180;
    sinZ := sin(Pi * step * z / 180) * 180;

    GLLines1.Nodes.Add.AsAffineVector :=
      AffineVectorMake(sinX / 100, sinY / 100, sinZ / 100);
    
   if step mod 10 = 0 then // a little Speed
      Application.ProcessMessages;

    Label7.Caption := Format('X: %8.2f; Y: %8.2f; Z: %8.2f', [sinX, sinY, sinZ]);

    if CancelCalculate then Break;
  end;

  GLSceneViewer1.Refresh;
end;
So.

Einfach ein Sinus in die z-Richtung. Ob das korrekt ist bin ich noch am nachforschen.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat