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

Aktuelle Zeit: Do Jul 03, 2025 07:45

Foren-Übersicht » Programmierung » Mathematik-Forum
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Richtungsvektor bestimmen
BeitragVerfasst: So Jun 08, 2008 21:09 
Offline
DGL Member

Registriert: Di Mai 27, 2008 17:07
Beiträge: 21
Hallo!

Es geht um die Steuerung einer Spielfigur. Mit der Enter-Taste bekommt die Spielfigur Schub und fliegt nach oben los. Mit links/rechts kann man sie drehen und mit hoch/runter kippen. Dadurch kann man sie in alle Richtungen kippen. Bei erneutem Schub soll die Figur den Schub in die aktuell ausgerichtete Richtung ausrichten und genau da liegt mein Problem.

Ich merke mir den Winkel für die Rotation auf der X und Y Achse. Kann ich mir daraus einen Vektor im Raum errechnen der Mir die jeweiligen Anteile der Achsen in Flugrichtung ausgibt?

Für links/rechts Bewegungen kann ich einfach mit trigonometrie rechnen, da habe ich mich an ein tutorial von gamedev.net gehalten:

Code:
  1.  
  2.  
  3.                          /^
  4.          Original       / |
  5.          acceleration  /  |
  6.          vector       /   |
  7.                      /    |
  8.                     /     |  Y vector
  9.                    /      |
  10.   Start           / *     |
  11.   position ->    X------->|
  12.  
  13.                   X vector
  14.  
  15. * = Angle of ship measured from x axis
  16.  
  17.  
  18. Given an angle for our direction from 0 to 365, we can determine the scale_x and scale_y variables. There are various ways to do this, but an easy way (not optimized) is to use trig:
  19.  
  20.     scale_x = cos(angle);
  21.     scale_y = sin(angle);
  22.  


Nur wie das ganze in 3d aussieht ist mir nicht so klar. Zudem kommt, ich habe nur den Winkel für die rotation um die x Achse und um die Y-Achse. Ich weis irgendwie nicht wie ich mir da den Kompletten Vektor mit allen Achsen-Anteilen ausrechnen soll :roll:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jun 08, 2008 21:52 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Klingt für mich wie das was im Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt erklärt wird.
Wobei die dort beschriebene Variante nur eine Möglichkeit darstellt.

edit:Wiki link korregiert.

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Zuletzt geändert von Flo am Mo Jun 09, 2008 16:38, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 09, 2008 06:07 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Es dürfte irgendwas mit der Verlinkung nicht stimmen. Wenn man Deinem Link folgt, kommt man auf eine leere Seite. Dieser hier sollte OK sein:

http://wiki.delphigl.com/index.php/Tutorial_Objekt_gedreht_und_dennoch_nach_vorne_bewegt

Traude


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 09, 2008 06:48 
Offline
DGL Member

Registriert: Di Mai 27, 2008 17:07
Beiträge: 21
Edit:

So habs mir mal durchgelesen, aber das ganze beschränkt sich glaube ich auch auf einen 2D Fall. Mein Objekt dreht sich ja nicht und bewegt sich bei pfeil-vor bzw. pfeil-zurück nach vorne und hitnen sondern kippt wenn man pfeil-vor/zurück drückt. Genau da liegt ja mein Problem :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 09, 2008 07:14 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Ich könnte Dir schon eine Antwort geben, aber wie stehts denn mit Deinen 3D-Geometrie-Mathekenntnissen? Es nutzt schliesslich nichts, Dir eine Auskunft zu geben, mit der Du nichts anfangen kannst. Denn Du musst Dich dafür von den vertrauten 2D-Gefilden losreißen und für 3D umdenken.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Richtungsvektor bestimmen
BeitragVerfasst: Mo Jun 09, 2008 13:26 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Ansonsten können dir auch als Einstieg und Grundlagenbildung für Traudes erklärung die TutorialsNachsitzen und Lineare Algebra hilfreich sein, denke ich.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 09, 2008 16:44 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Das von mir genannte Tutorial behandelt schon die Rotation im 3D Raum.
Zitat:
var
RotateX : single; // Rotation um die X-Achse
RotateY : single; // Rotation um die Y-Achse
RotateZ : single; // Rotation um die Z-Achse
PosVect : TVector3f; // Vector mit der Position des Objektes.

Wie du siehst wird die Rotation des Objektes nicht nur durch die Rotation um eine Achse beschrieben.

Falls du daran interessiert bist eine interessante Mathematik zu lernen dann würde ich dem Rat von Lord Horazont folgen un in den von ihm genannten Tutorial nachlesen was es mit Transformations Matrizen auf sich hat.

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 10, 2008 16:50 
Offline
DGL Member

Registriert: Di Mai 27, 2008 17:07
Beiträge: 21
Hey danke ich habs :)


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 » Mathematik-Forum


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.007s | 14 Queries | GZIP : On ]