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

Aktuelle Zeit: Mi Jul 09, 2025 17:00

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



Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
BeitragVerfasst: Fr Dez 22, 2006 13:31 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 07, 2006 13:37
Beiträge: 83
Wohnort: Partenheim
Hi,

das lenkende Rad meines Fahrzeugs ist mit einem Custom Joint an der Chassis befestigt.
Wenn sich das Fahrzeug nicht bewegt, kann ich ohne Probleme lenken.
Wenn es sich jedoch bewegt und ich lenke, beginnt sich der Joint auch um seinen lokalen FrontVector zu drehen, das Rad steht also nicht mehr aufrecht, obwohl ich eine LinearRow mit einem zweiten Pivot direkt über dem Rad setze.

Hier der Callback von meinem SteeringWheelJoint:
Code:
  1.  
  2.  
  3. Procedure TSteeringWheelJoint.SubmitConstraints;
  4. var Pivot0      : TVector3f;
  5.     Pivot1      : TVector3f;
  6.  
  7.     LateralDir0 : TVector3f;
  8.     LateralDir1 : TVector3f;
  9.     FrontDir0   : TVector3f;
  10.     FrontDir1   : TVector3f;
  11.     UpDir0      : TVector3f;
  12.     UpDir1      : TVector3f;
  13.  
  14.     Angle       : Single;
  15.     p0, p1      : TVector3f;
  16. Begin
  17.  
  18.  ... Calculation of Pivot0 (Child = Wheel), Pivot1 (Parent = Chassis) and the orthonormal coordinate system ...
  19.  
  20.   //----------------------------------------------------------------------------
  21.   // Fix Child-Pivot (Wheel) to Parent-Pivot:
  22.   //----------------------------------------------------------------------------
  23.   NewtonUserJointAddLinearRow(FJoint, @Pivot0[0], @Pivot1[0], @LateralDir0[0]);
  24.   NewtonUserJointAddLinearRow(FJoint, @Pivot0[0], @Pivot1[0], @UpDir0[0]);
  25.   NewtonUserJointAddLinearRow(FJoint, @Pivot0[0], @Pivot1[0], @FrontDir0[0]);
  26.  
  27.   //----------------------------------------------------------------------------
  28.   // Second point for the stability:
  29.   //----------------------------------------------------------------------------
  30.   p0:= addVects(Pivot0, UpDir1);
  31.   p1:= addVects(Pivot1, UpDir1);
  32.   NewtonUserJointAddLinearRow(FJoint, @p0[0], @p1[0], @LateralDir0[0]);
  33.  
  34.   ... calculate Angle Error ...
  35.  
  36.   //----------------------------------------------------------------------------
  37.   // AngularRow to steer:
  38.   //----------------------------------------------------------------------------
  39.   NewtonUserJointAddAngularRow(FJoint, Angle, @UpDir1[0]);    
  40. End;
  41.  


Danke,
Conan

_________________
THE TRUTH IS NOT OUT THERE!


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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.007s | 14 Queries | GZIP : On ]