amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > Fahrphysik [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2003-11-22, 13:20 h

Mad_Dog
Posts: 1944
User
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

[ - Answer - Quote - Direct link - ]

2003-11-22, 14:16 h

Mad_Dog
Posts: 1944
User
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

[ - Answer - Quote - Direct link - ]

2003-11-22, 14:27 h

Mad_Dog
Posts: 1944
User
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

[ - Answer - Quote - Direct link - ]

2003-11-22, 18:16 h

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:)


[ - Answer - Quote - Direct link - ]

2003-11-22, 20:16 h

Mad_Dog
Posts: 1944
User
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

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > Fahrphysik [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.