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. |