Hallo, ich versuche es zu beschreiben.
Kreis berechnen, da habe ich mir eine eigene Routine geschrieben.
GLLine1 bis 3 sind die Achsenanzeige rot gelb grün
GLLines4 ist meine schwarzer Kreis
Button12 drücken => schwarzer Kreis wird gezeichnet.
Button12 drücken => vor Sleep(500) gelb / grün / rot Linien werden gelöscht
aber schwarzer Kreis bleibt
In Procedure TForm1.G2_Fahrt; ist nichts mit Grafik GLLine oder so
da werden nur die Punkte berechnet
Delphi-Quellcode:
Procedure TForm1.G2_Quadrant_1;
Begin
//Quadrant = 1 X+ Y+
if Quadrant = 1 then
begin
if (G2_StepX = true) then
Begin
//X
GLLines4 := TGLLines(GLXYZGrid1.AddNewChild(TGLLines));
GLLines4.LineWidth := 2;
GLLines4.LineColor.AsWinColor := clBlack;
GLLines4.AddNode(X_Steppen,0, Y_Steppen);
y_Steppen:= y_Steppen + 0.1;
GLLines4.AddNode(X_Steppen, 0, Y_Steppen);
G2_StepX:= false;
end;
if G2_StepY = true then
Begin
//Y
GLLines4 := TGLLines(GLXYZGrid1.AddNewChild(TGLLines));
GLLines4.LineWidth := 2;
GLLines4.LineColor.AsWinColor := clBlack;
GLLines4.AddNode(X_Steppen,0, Y_Steppen);
x_Steppen:= x_Steppen + 0.1;
GLLines4.AddNode(x_Steppen, 0, Y_Steppen);
G2_StepY:= false;
end;
end;
end;
Procedure TForm1.G2_Fahrt;
begin
for i:= 1 to usw // immer einen neuen Punkt berechnen und in G2_Quadrant_1 anzeigen
G2_Quadrant_1;
bla.. bla..
end;
//=> Button12 start
procedure TForm1.Button12Click(Sender: TObject);
begin
GLLines1.Nodes.Clear;
GLLines2.Nodes.Clear;
GLLines3.Nodes.Clear;
GLLines4.Nodes.Clear;
GLSceneViewer1.repaint;
Form1.Update;
sleep(500);
GLLines1 := TGLLines(GLXYZGrid1.AddNewChild(TGLLines));
GLLines1.NodesAspect := lnaInvisible;
GLLines1.LineWidth := 4;
//X Achse Gelb
GLLines1.LineColor.AsWinColor := clYellow;
GLLines1.AddNode(0,0,0);
GLLines1.AddNode(20,0,0);
GLLines2 := TGLLines(GLXYZGrid1.AddNewChild(TGLLines));
GLLines2.NodesAspect := lnaInvisible;
GLLines2.LineWidth := 4;
//Y Achse Rot
GLLines2.LineColor.AsWinColor := clRed;
GLLines2.AddNode(0,0,0);
GLLines2.AddNode(0,0,20);
GLLines3 := TGLLines(GLXYZGrid1.AddNewChild(TGLLines));
GLLines3.NodesAspect := lnaInvisible;
GLLines3.LineWidth := 4;
//Z Achse Grün
GLLines3.LineColor.AsWinColor := clGreen;
GLLines3.AddNode(0,0,0);
GLLines3.AddNode(0,20,0);
G2_Fahrt;
mfg schuby