amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Fahrphysik [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

22.11.2003, 13:20 Uhr

Mad_Dog
Posts: 1944
Nutzer
Kennt jemand von Euch ein gutes Tutorial zum Thema "Fahrphysik"?

Was mich interessiert ist, wie man den Kurvenradius, den ein Auto fährt in Abhängigkeit von der Einlenkung der Vorderräder und des Radstandes berechnet.

Grund: Will man in einem Fahrsimulator die Zentripedalkraft berücksichtigen, so muß man die bekannte Formel benutzen, in der aber der Kurvenradius vorkommt.

Alles andere, wie z.B. daß man die Geschwindigkeit in Vektorkomponenten zerlegen muß usw. ist klar.

Vieleicht ist ja sogar ein Fahrschullehrer unter Euch? ;)
--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

22.11.2003, 14:16 Uhr

Mad_Dog
Posts: 1944
Nutzer
Habe jetzt zum Thema folgenden Link gefunden:

http://www.gamedev.net/reference/articles/article1616.asp


Hier ein Diagramm:

Bild: http://www.gamedev.net/reference/articles/phor/circle.gif

Die scheinen das über die Massenträgheit zu berechnen...
Hat einer von Euch schon mal so einen Fahrsimulator gebastelt?
--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

22.11.2003, 14:27 Uhr

Mad_Dog
Posts: 1944
Nutzer
Das ist mal ein grober Entwurf meiner Fahrzeug-Klasse.
Wie man sieht, ist das Modell noch nicht physikalisch korrekt - das Auto fährt damit (noch) wie auf Schienen und man kann sich auf der Stelle drehen. Fehlt z.B. noch der Grip...

code:
// Vehicle_Class.cpp

#include <math.h>
#include "Vector_Class.cpp"

class Vehicle
{
  public:
     // Constructors
     Vehicle(scalar_t xpos, scalar_t ypos, scalar_t zpos)
     {
       position.x = xpos;
       position.y = ypos;
       position.z = zpos;
       speed = 0.0;
       angle = 0.0;
     }

  public:
     Vector3D position;        // object position
     float speed;              // speed
     scalar_t size;            // size of bounding sphere
     float angle;

     // perform basic physics on the object
     void OnAnimate(scalar_t deltaTime)
     {
          position.x += float(cos(angle/180.0*3.14))*speed;
          position.y += float(sin(angle/180.0*3.14))*speed;

          // friction
          if (speed > 0.0)
            speed = speed - 0.005;
          else if (speed < 0.0)
            speed = speed + 0.005;

     }

     void SpeedUp()
     {
        if (speed < 1.5)
        speed = speed + 0.05; // acceleration
     }

     void SlowDown()
     {
        if (speed > -1.5)
        speed = speed - 0.05; // acceleration
     }

     void TurnLeft()
     {
       angle = angle + 5.0;
     }

     void TurnRight()
     {
       angle = angle - 5.0;
     }

};

--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]

22.11.2003, 18:16 Uhr

indypb
Posts: 42
[Administrator]
Hallo,

hab den Text selbst bisher nicht gelesen aber mal in meine Bookmarks
aufgenommen, weil er empfohlen wurde.

Car Physics for Games
by Marco Monster

Level: Advanced

Abstract: An introduction to car physics modelling for games.

http://home.planet.nl/~monstrous/tutcar.html



Da sind auch noch ein paar weitere Links dabei.


tschuess
[|8:)


[ - Antworten - Zitieren - Direktlink - ]

22.11.2003, 20:16 Uhr

Mad_Dog
Posts: 1944
Nutzer
Hey, Danke! Der Link ist wirklich gut.
Hier habe ich auch die Lösung meines Problems gefunden:

Bild: http://home.planet.nl/~monstrous/image/ctangles.jpg
--

http://www.norman-interactive.com

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Fahrphysik [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.