Aktuelle Zeit: 13.05.2025, 00:22

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Rotation berechnen
BeitragVerfasst: 14.04.2007, 15:09 
Offline

Registriert: 09.04.2007, 17:37
Beiträge: 30
Hiho,

Mein Node rennt jetzt von einem Punkt zum nächsten, Was mir jedoch nicht gelingen will ist die Berechnung der Rotation, damit mein Node in die richtige Richtung schaut beim laufen.
Welchen Weg muss ich da gehen?
Ich habe versucht mithilfe des TargetVektors(mein Zielvektor) einen Winkel zu berechnen, was jedoch nicht zum gewünschten Ergebnis führt.

Gruß Thomas


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 14.04.2007, 16:56 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Code:
void roateNodeTowardsTarget(ISceneNode* node, vector3df target)
{
   vector3df direction = target - node->getPosition();
   node->setRotation(direction.getHorizontalAngle());
}


Target ist hierbei die Position, an die sich deine Figur bewegen soll.
Wenn du keine sofortige komplette Rotation haben willst, dann musst du halt gucken, wie schnell sich deine Figur drehen soll und dann jeden Frame einen Teil der gesamtrotation dazuaddieren

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 14.04.2007, 22:49 
Offline

Registriert: 09.04.2007, 17:37
Beiträge: 30
Hi,

Diese Methode fehlt in der .Net API, sie steht auch nicht in der Doku.
Ich werde mithilfe des C++ Codes versuchen, die Methode selber zu implementieren.

Gruß Thomas


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 14.04.2007, 22:54 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
meinst du die rotateNodeTowardsTarget() oder die vector3d<T>::getHorizontalAngle() ?

die roateNodeTowardsTarget() ist von mir beim erstellen des Posts geschrieben worden ^^

Du musst einfach die position vom ziel subtrahieren. Für den vektor, den du dadurch erhälst, rufst du dann getHorizontalAngle() auf. Dieser vektor sagt dir dann wie du dein node rotieren musst

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 14.04.2007, 23:24 
Offline

Registriert: 09.04.2007, 17:37
Beiträge: 30
Hi,

getHorizontalAngle fehlt.

Gruß Thomas


Nach oben
 Profil  
 
 Betreff des Beitrags: Methode sollte const sein
BeitragVerfasst: 04.08.2009, 12:12 
Offline
Benutzeravatar

Registriert: 16.08.2008, 14:48
Beiträge: 12
Wohnort: Bremen
#ifndef __IRR_POINT_3D_H_INCLUDED__
#define __IRR_POINT_3D_H_INCLUDED__

template <class T>
class vector3d

vector3d<T> getHorizontalAngle()

----------------------------------------------------

vector3d<T> getHorizontalAngle() const

wäre hier sinnvoller!
'ne Kopie anzulegen, um einen Compilerfehler zu verhindern, ist immer ärgerlich.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder 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