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

Aktuelle Zeit: Fr Jul 18, 2025 04:36

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mi Feb 15, 2006 22:45 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jan 24, 2006 16:26
Beiträge: 25
hi,

ich mache gerade ein Prong oder Pong spiel (2 balken und nen ball dazwischen). Ich mache das in 2D und habe ein Problem, der Mittelpunkt..

meine Kreisgleichung sieht so aus:

Code:
  1.  
  2.  glBegin(GL_TRIANGLE_FAN);
  3.     for i:=0 to 360 do //Anzahl der Punkte auf dem Kreis
  4.       glVertex2f(Sin(2*Pi/360*i)*r+xm,Cos(2*Pi/360*i)*r+ym); //xm und ym sind variablen das sich der kreis bewegt, also geschwindigkeit
  5.       glcolor3f(1,0,0);     //Farbe der Kugel oder auch Textur...
  6.   glEnd;
  7.  


Die Reflektion mit den Rändern des Formulares ist mir schon gelungen aber wenn ich die Reflektion mit dem Balken machen will dann geht das nicht..wie kann ich den Mittelpunkt von meinem Kreis ermitteln?! geht das? wenn ich den hätte oder ermitteln könnte dann würde mir der rst auch gelingen.

mfg juKx


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 15, 2006 22:57 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wie wärs wenn du das einfach speicherst?
Du hast ne anfangsposition und die Veränderungen. Da kannst du doch beim Zeichnen immer die neue Position abspeichern.

Es geht natürlich auch komplizierter. Indem du die Modelviewmatrix mit glGet holst und dann die letzte Spalte nimmst.


Du kannst noch etwas performance gewinnen, wenn du den Kreis nur einmal um den Koordinatenursprung zeichnest, dass dann in einer Displayliste speicherst, und dann die Displayliste per glTranslate beim zeichnen an die entsprechende Stelle verschiebst. 360 Vertices sind schon mal ne Hausnumme, für einen Kreis. Da kannst du dann mit glEnable(GL_LINE_SMOOTH) sogar noch Antialiasing reinbasteln.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 16, 2006 14:24 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Zitat:
glVertex2f(Sin(2*Pi/360*i)*r+xm,Cos(2*Pi/360*i)*r+ym); //xm und ym sind variablen das sich der kreis bewegt, also geschwindigkeit


öhm, xm und ym sind die Koordinaten des Mittelpunktes...

_________________
[18:30] tomok: so wie ich das sehe : alles. was nich was anderes ist als nen Essay ist nen Essay

hi, i'm a signature viruz, plz set me as your signature and help me spread :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 16, 2006 15:57 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hatte ich eigentlich auch gedacht. Aber da er was von geschwindigkeit schrieb.... 8)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 17, 2006 00:52 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jan 24, 2006 16:26
Beiträge: 25
hi,

um darauf zurück zu kommen...xm und ym ist vielleicht nicht glücklich gewählt aber es hätte genau so vx und vy heissen können..es ist wirklich nur ein wert der sich bei jeden mal verändert und somit den kreis wandern oder laufen lässt. aber trotzdem bekomme ich den mittelpunkt nicht heraus!!

mfg juKx


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 17, 2006 13:47 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Aber du Zeichnest doch die Vertexe um diesen Punkt herum. Also ist das der Mittelpunkt.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 17, 2006 15:20 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jan 24, 2006 16:26
Beiträge: 25
hi flash..

nein! Es ist doch ein schleife for i:=0 to 360...

also zeichne ich immer wieder 360 punkte und diese werden durch die geschwindigkeit(xm,ym) bei mir umgeänder->eindruck:er bewegt sich der kreis..

mfg juKx


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 17, 2006 15:44 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Mag sein. Aber durch den Aufruf von Sinus und Kosinus zeichnest du die um den Koordinatenursprung, und verschiebst die Werte dann nur noch an die entsprechende Stelle. Also für mich ist deine Position in den Variablen gespeichert.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 17, 2006 18:06 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
...und dadurch dass du den Mittelpunkt bewegst, bewegt sich acuh der Kreis drumherum.

_________________
[18:30] tomok: so wie ich das sehe : alles. was nich was anderes ist als nen Essay ist nen Essay

hi, i'm a signature viruz, plz set me as your signature and help me spread :)


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 » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 15 Queries | GZIP : On ]