Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi GLscene Kreise (https://www.delphipraxis.net/206541-glscene-kreise.html)

Schuby 3. Jan 2021 10:02

GLscene Kreise
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guten morgen,
gibt es eine andere Nöglichkeit mit GLScene halb Kreise zu Zeichnen ?

im mom mache ich es per Pixel.

Delphi-Quellcode:
    if Quadrant = 1  then        
    begin
         if (G2_StepX = true) then
         Begin
              GLLines3 := TGLLines(GLXYZGrid1.AddNewChild(TGLLines));
              GLLines3.NodesAspect := lnaInvisible;
              GLLines3.LineWidth := 2;
              //X
              GLLines3.LineColor.AsWinColor := clBlack;
              GLLines3.AddNode(X_Steppen,0, Y_Steppen);
              y_Steppen:= y_Steppen + 0.1;
              GLLines3.AddNode(X_Steppen, 0, Y_Steppen);

           G2_StepX:= false;
         end;
         if G2_StepY = true then
         Begin
              GLLines3 := TGLLines(GLXYZGrid1.AddNewChild(TGLLines));
              GLLines3.NodesAspect := lnaInvisible;
              GLLines3.LineWidth := 2;
              //Y
              GLLines3.LineColor.AsWinColor := clBlack;
              GLLines3.AddNode(X_Steppen,0, Y_Steppen);
              x_Steppen:= x_Steppen + 0.1;
              GLLines3.AddNode(x_Steppen, 0, Y_Steppen);

           G2_StepY:= false;
         end;
    end;

mfg schuby

mmw 3. Jan 2021 10:35

AW: GLscene Kreise
 
hallo,

eine Möglichkeit wäre DirecopenGL

Delphi-Quellcode:
procedure TForm34.GLDirectOpenGL1Render(Sender: TObject; var rci: TGLRenderContextInfo);

var start_winkel,
    end_winkel,
    laenge_x,
    laenge_y,
    radius,
    xm,
    ym:Real;

begin
 start_winkel:=0;
 end_winkel:=360;
 radius:=0.20;
 xm:=0;
 ym:=0;

 gllinewidth(1);
// glcolor3f(farbe.rot,farbe.gruen,farbe.blau);

 glBegin(GL_LINE_STRIP);
    while start_winkel <= end_winkel do
       begin
        laenge_x := radius * cos(start_winkel * pi / 180);
        laenge_y := radius * sin(start_winkel * pi / 180);
         glvertex3f(xm + laenge_x, ym + laenge_y,0);    //<--------hier ggf. anpassen
       start_winkel:=start_winkel+1;
      end;
 GLEnd;
end;
dazu muss man von hier
https://wiki.delphigl.com/index.php/dglOpenGL.pas

die dglopengl.pas runterladen.

Schuby 3. Jan 2021 11:48

AW: GLscene Kreise
 
@mmv

upsss das ist openGL und ich habe GLScene

Aber Danke für Antwort. :-)


mfg Schuby

Uwe Raabe 3. Jan 2021 11:48

AW: GLscene Kreise
 
Delphi-Quellcode:
GLLines3.Nodes.AddXYArc

mmw 3. Jan 2021 11:54

AW: GLscene Kreise
 
Zitat:

Zitat von Schuby (Beitrag 1480249)
@mmv

upsss das ist openGL und ich habe GLScene

Aber Danke für Antwort. :-)


mfg Schuby

wenn man mit GLScene arbeitet, gehoert OpelGL dazu :-D

GRuß

Schuby 3. Jan 2021 12:16

AW: GLscene Kreise
 
Hallo Uwe,
könntest du mir bitte helfen was ich genau schreiben müsste ?
Ich bekomme nur error

Delphi-Quellcode:
  public
    MyVec3f : TVector3f;

...
GLLines3.Nodes.AddXYArc(,,,,,MyVec3f);


mfg Schuby

mmw 3. Jan 2021 13:54

AW: GLscene Kreise
 
hallo,

nur zur Info

die dglopengl.pas wie in #2 angegeben funktiomiert nicht (jedenfalls nicht bei mir). Dafür funktinoiert die mitegelieferte.

Gruß

Schuby 3. Jan 2021 15:58

AW: GLscene Kreise
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe es doch noch geschafft, es haben paar units gefehlt.
Aber es wird immer nur hochkannt angezeigt, drehen kann man den Kreis nicht ?


Delphi-Quellcode:
uses
  GLS.Nodes,
  GLS.VectorGeometry,
  GLS.VectorTypes;


....
    GLLines3 := TGLLines(GLXYZGrid1.AddNewChild(TGLLines));
    GLLines3.NodesAspect := lnaInvisible;
    GLLines3.LineWidth := 2;
    GLLines3.LineColor.AsWinColor := clblack;


    MyVec3f.X:= 0;
    MyVec3f.Y:= 0;
    MyVec3f.Z:= 0;
    GLLines3.Nodes.AddXYArc(30,15,90,0, 500, MyVec3f);


mfg schuby

mmw 3. Jan 2021 17:36

AW: GLscene Kreise
 
hallo,
vielleicht hilft das weiter

https://de.wikibooks.org/wiki/Spiele...ne:_Bewegungen

Gruß

Uwe Raabe 3. Jan 2021 18:30

AW: GLscene Kreise
 
Zitat:

Zitat von Schuby (Beitrag 1480260)
Aber es wird immer nur hochkannt angezeigt, drehen kann man den Kreis nicht ?

Der Bogen wird, wie aus dem Namen AddXYArc abzuleiten ist, in der XY-Ebene des GLLines-Objekts gezeichnet. Das kannst du natürlich beliebig drehen. Vermutlich musst du dann aber auch deine Linien so zeichnen, dass sie in dieser XY-Ebene liegen. Sonst passen sie halt nicht zu dem Bogen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:59 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz