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

Aktuelle Zeit: Fr Jul 18, 2025 10:13

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



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 21, 2003 08:36 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Hi,
ich hab folgendes Problem:
Ich will ein ein Objekt drehen, und zwar um einen bestimmten Punkt, dazu müsste ich das ungefähr so machen (Meiner Meinung nach :rolleyes: ):

Code:
  1. gltranslatef(ObjektPosition);
  2.  
  3. gltranslatef(Punkt, um den das Objekt gedreht werden soll, dieser Punkt liegt innerhalb des Objekts);
  4. glrotatef(Rotation);
  5.  
  6. DrawObjekt;


Aber bei dem zweiten gltranslatef wird ja das Objekt logischerweise wieder weiterbewegt, was eigentlich nicht meine Absicht ist. Also, wie drehe ich mein Objekt um eine Achse, die in dem Objekt ist?

Ciao,
La_Boda

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 21, 2003 09:36 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 12, 2002 07:15
Beiträge: 916
Wohnort: Dietzhölztal / Hessen
Programmiersprache: C/C++, Obj-C
Zu dieser Problematik gibt's bei unseren Tutorials ganau das, was du suchst. Irgendjemand war mal so nett, sich der Problematik anzunehmen :)

_________________
Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Mai 21, 2003 10:23 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Sorry, habs schon gefunden :ph34r:

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 22, 2003 08:43 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Hi,
ich habs jetzt mal mit Schids 2. Tut versucht, aber hat auch nichts geholfen.
Hier ist mal ein Konzeptbild meines Proggs:
Bild
<a href='http://www33.brinkster.com/pdllaboda/Bild.jpg' target='_blank'>Bild</a>
Damit sich der Benutzer immer hinter dem Panzer befindet (3rd Person View), werden Sichtfeld und Panzer nicht bewegt, nur das Terrain. Das Problem ist, dass sich das Terrain immer um den Panzer drehen soll. Es dreht sich aber nur um seinen linken unteren Punkt, weil des Der Anfangspunkt der For-Schleife ist, mit der ich das Terrain zeichne.
Also müsste ich irgendwie per gltranslatef die drehposition innerhalb der Terrains herausfinden, und darum herumdrehen. Aber mit dem gltranslate Befehl wird immer nur das Terrain verschoben. Ich müsste die translate Bewegung also so ausführen, dass sie keine Bewegung veranlasst, sondern nur, dass glrotatef herausfindet, wo es das Terrain drehen soll!
Vielen Dank im Voraus,
La_Boda

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 22, 2003 08:51 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wenn ich dich richtig verstehe, willst du ne Third-Person-Ansicht wie z.B. in nem Rennspiel, wo der Spieler sein Fahrzeug immer an der gleichen Position vor der Nase hat, oder?
Wenn ja, dann schau dir mal folgenden Thread im Allgemeinforum an : <a href='http://www.phobeus.de/hosting/dgl/forum/index.php?act=ST&f=3&t=1103' target='_blank'>http://www.phobeus.de/hosting/dgl/forum/in...t=ST&f=3&t=1103</a>

Dort hab ich Quellcode gepostet wie ich das in der ZornGL-Engine realisiert hab.Dort kann man nämlich auch in die Dritte-Person-Ansicht wechseln und hat dann seine Spielgfigur immer vor der Nase.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 22, 2003 10:24 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Den Thread hab ich mir schon durchgelesen, darauf baut mein Progg auch auf.
Ich krieg es aber einfach nicht hin, das Terrain richtig zu drehen.
Sollte ich vielleicht das Terrain nicht von links unten zeichnen (FOR-Schleife!) sondern von der Mitte aus?

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mai 22, 2003 10:28 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wie du die Schleife gestaltest mit der du dein Terrain zeichnest ist eigentlich recht egal...allerdings solltest du dein Terrain zentrieren, so dass sein Mittelpunkt bei x=0, z=0 liegt.In ner For-Schleife würde das quellcodetechnisch dann ungefähr so aussehen :
<!--pas--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Delphi-Source </td></tr><tr><td id='CODE'><!--pas1--><pre><span class='reserved'>for</span> x := <span class='integer'>0</span> <span class='reserved'>to</span> Width-<span class='integer'>1</span> <span class='reserved'>do</span>
<span class='reserved'>for</span> z := <span class='integer'>0</span> <span class='reserved'>to</span> Height-<span class='integer'>1</span> <span class='reserved'>do</span>
<span class='reserved'>begin</span>
glVertex3f(x-Width/<span class='integer'>2</span>, Data[x,z], z-Height/<span class='integer'>2</span>);
[...]
<span class='reserved'>end</span>;</pre><!--pas2--></td></tr></table><span class='postcolor'><!--pas3-->

So wird dein Terrain zentriert gezeichnet und sollte auch im Bezug zum Blickwinkel des Betrachters richtig dargestellt werden...wenns nicht klappt, dann lad mal den Quellcode hoch und ich schau mirs mal an.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mai 26, 2003 08:23 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Es klappt jetzt :lol:

Bei dem anderen 3rd Person Thread hast du aber glaub ich vergessen, vor der Rotation die Drehposition anzupassen, jedenfalls bei mir wurde, obwohl ich nach dem gleichen Prinzip gegangen bin, das Terrain um die Kamera gedreht, nicht um die Figur. Is aber nicht weiter schlimm

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


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


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.015s | 15 Queries | GZIP : On ]