Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 04, 2025 07:45

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Code für Kreis
BeitragVerfasst: So Nov 03, 2002 00:31 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
hi,

suche einen "manuellen" Code für einen Kreis (nicht gluDisk()!)...
hab schon mit einer Schleife und x-sin(x) irgendwie etwas "Kreisähnliches" hinbekommen. Aber wie stimmt der Source denn genau? [Danke an SoS im Vorraus(fragt nicht, warum)]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 03, 2002 00:46 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Wie meinste das mit etwas Kreisähnlichem? Was fehlt denn?

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 03, 2002 00:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
nun ja, oben, unten, links u. rechts sind zacken und noch dazu überschneidet sich der kreis irgendwie....


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 03, 2002 00:59 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Ich bin mir nicht ganz sicher, aber kann es sein, dass du mit "x" einen Winkel angeben wolltest? Die Delphi - Sinus - Funktion verlangt aber ein Bogenmaß... das bedeutet: wenn du einen Winkel angeben willst, musste ihn erst in ein Bogenmaß umwandeln:

sin(degtorad(x));

Bin mir nicht sicher, aber daran könnte es liegen.......

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 03, 2002 01:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
hmmm... könnte was dran sein. aber ich meinte eigentlich die x und y - koordinaten


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 03, 2002 11:23 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Also ich ahbe mal nen sehr einfachen Kreisalgo geschrieben ... sieht zumindest extrem nach Kreis (Scheibe) aus (Annäherung durch ein 360 Eck) .... das ganze sogar mit TEX - Koords:

Code:
  1.  
  2.  
  3. procedure kreis;
  4.  
  5. var
  6.  
  7. winkel : integer;
  8.  
  9. begin
  10.  
  11. glbegin(gl_polygon);
  12.  
  13. for winkel := 0 to 360 do
  14.  
  15. begin
  16.  
  17. gltexcoord2f(sin(degtorad(winkel)),cos(degtorad(winkel)));
  18.  
  19. glvertex3f(sin(degtorad(winkel)), cos(degtorad(winkel)),0);
  20.  
  21. end;
  22.  
  23. glend;
  24.  
  25.  
  26.  
  27. end;
  28.  
  29.  


Aufrufen kann man das dann etwa so:

Code:
  1.  
  2.  
  3. procedure render;
  4.  
  5. begin
  6.  
  7. glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  8.  
  9. glLoadIdentity;
  10.  
  11. glcolor3f(0,0,1);
  12.  
  13. gltranslate(0,0,-4);
  14.  
  15. kreis;
  16.  
  17.  
  18.  
  19. SwapBuffers(form1.myDC);
  20.  
  21. end;
  22.  
  23.  



Achtung! Wegen dem "degtorad" musst du die Unit "Math" einbinden.
Zudem ist eine Scalierung sinnvoll, da in der Prozedur nun noch keine Verarbeitung zur Größe des Kreises sind.......

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 03, 2002 11:51 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
Ich habe nun einfach nochmals etwas an meiner Kreis - Prozedur gearbeitet ... beio dieser Fassung kann man nun den gewünschten Radius und die Anzahl der Ecken, mit denen angenähert werden soll, angeben (dadurch, dass ich reine Ganzzahlendivision verwende, wird meistens aber gerundet....):

Code:
  1.  
  2.  
  3. procedure kreis(radius:single; ecken:integer);
  4.  
  5. var
  6.  
  7. winkel : integer;
  8.  
  9. steps : integer;
  10.  
  11. steps2 : integer;
  12.  
  13. begin
  14.  
  15. glbegin(gl_polygon);
  16.  
  17.  
  18.  
  19. if ecken > 360 then   //Division durch "Null" vorbeugen
  20.  
  21. begin
  22.  
  23. ecken := 360;
  24.  
  25. end;
  26.  
  27.  
  28.  
  29. steps := 360 div ecken;
  30.  
  31. steps2 := 360 div steps;
  32.  
  33.  
  34.  
  35. for winkel := 0 to steps2 do
  36.  
  37. begin
  38.  
  39. gltexcoord2f(sin(degtorad(winkel*steps)),cos(degtorad(winkel*steps)));
  40.  
  41. glvertex3f(sin(degtorad(winkel*steps))*radius, cos(degtorad(winkel*steps))*radius,0);
  42.  
  43. end;
  44.  
  45.  
  46.  
  47. glend;
  48.  
  49. end;
  50.  
  51.  

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 03, 2002 13:19 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 02, 2002 15:41
Beiträge: 867
Wohnort: nahe Stuttgart
Danke schön. Funktioniert Prima.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 03, 2002 14:13 
Offline
DGL Member

Registriert: Sa Sep 21, 2002 21:32
Beiträge: 346
Wohnort: Eilsum (Nahe Emden)
No Problem ;-)
Als nächstes versuche ich mich mal an einem Kugel - Algo.....

_________________
Es sind immer die guten,
welche zu früh von uns gehen müssen...

Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]