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

Aktuelle Zeit: Fr Jul 18, 2025 15:16

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Differenzwektor
BeitragVerfasst: Mi Mai 02, 2007 09:24 
Offline
DGL Member

Registriert: Di Mär 27, 2007 18:47
Beiträge: 19
Eines tages, es war ein weiterer langweiliger tag in einem 4 sterne hotel in italien, fing ich an auf meinem 100 jahre alten Laptop ein kleines Rennspiel zu proggen. Es lief wirklich gut, ich machte ein Auto (ohne räder) und eine "Strecke" (ein Viereck ohne textur)... ich war so stolz auf mich doch dann......

ok ich lass den scheis mal und komm zu mienem Problem ^^
Also ich will das wenn ich die vorne Taste drücke das auto auch wirklich nach vorne bewegt wird.
-> problem: wenn das auto rotiert ist brauche ich den differenzwektor von einem punkt vorne am auto und einem hinten. Im prinzip weis ich wies geht das problem ist nur ich muss die punkte ja irgendwie "aufzeichnen" also bracuhe ich einen befehl (!) der mir sagt wo ich mit meinem "zeichenstift" gerade bin.

ich danke für ihre aufmerksamkeit und warte auf ihre antworten :D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 02, 2007 11:05 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
ecce: http://wiki.delphigl.com/index.php/Tuto ... rne_bewegt


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 02, 2007 17:26 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
oder da es wohl (vom fahrverhalten her) 2D sein soll:
Code:
  1. if keypressed(left)then Angle:=Angle+RotSpeed*DeltaT;
  2. if keypressed(reight)then Angle:=Angle-RotSpeed*DeltaT;
  3. x:=x+cos(Angle)*Speed*DeltaT;
  4. y:=y-sin(Angle)*Speed*DeltaT;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 18, 2007 21:37 
Offline
DGL Member

Registriert: Di Mär 27, 2007 18:47
Beiträge: 19
Eigendlich geht es viel einfacher aber ich bräuchte einen befehl den ich nich kenne; ein befehl der mir sagt wo mein 'zeichenstift' gerade ist. Daraus könnt ich dann mit der prozedur hier den differenzwektor ausrechnen:

(Xa[anz],Ya[anz],Za[anz] sind die einzelnen startpunkte einer linie am auto)
(Xb[anz],Yb[anz],Zb[anz] sind die einzelnen endpunkte einer linie am auto)
Code:
  1.  
  2. /////Auto zeichnen////
  3.  
  4.  
  5. for anz := 1 to 21 do
  6.   begin
  7.   glBegin(GL_Lines);
  8.     glVertex3f(Xa[anz] / 50,     //Hier soll dann noch (wenn anz=1) 'XBew[0]' Festgelegt werden
  9.                Ya[anz] / 50,          //Hier soll 'YBew[0]' Festgelegt werden
  10.                -Za[anz] / 50);       //Hier soll 'ZBew[0]' Festgelegt werden
  11.     glVertex3f(Xb[anz] / 50,    //Hier soll 'XBew[1]' Festgelegt werden
  12.                Yb[anz] / 50,          //Hier soll 'YBew[1]' Festgelegt werden
  13.                -Zb[anz] / 50);       //Hier soll 'YBew[1]' Festgelegt werden
  14.   glEnd;
  15.   end;
  16.   glRotatef(-ZAxe + 90,0,0,1);
  17.  
  18.  
  19.           //////Differenzvektor//////
  20.           XBew[2] := XBew[1] - XBew[0];
  21.           YBew[2] := YBew[1] - YBew[0];
  22.           ZBew[2] := ZBew[1] - ZBew[0];
  23.           //////////////////////////
  24.  


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


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 7 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.011s | 17 Queries | GZIP : On ]