authentische beschleunigung?!
Übersicht

CO2ehemals "SirMO"Betreff: authentische beschleunigung?! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Ich beschäfte mich (wie man vielleicht an meinen anderen posts gemerkt hat) ein wenig mit 3D. Nun hab ich folgendes Problem: Ich möchte ein Auto authentisch beschleunigen, d.h., dass es - je schneller es wird, es langsamer beschleunigt. Dazu hab ich folgende Variablen: Code: [AUSKLAPPEN] speed = 0 ;Anfangswert
accrelation = 1.2 ;Beschleunigung jetzt muss eine Formel her. dazu hab ich mir auch gedanken gemacht: Formel Nr.1: Code: [AUSKLAPPEN] speed = (speed + accrelation)
(Das sieht leider nicht sehr authentisch aus...) Formel Nr. 2: Code: [AUSKLAPPEN] speed = speed + (speed * accrelation)
(da passiert gar nichts (ist ja auch klar, weil speed den grundwert 0 hat)) und momentan zermürbe ich mir den kopf um endlich die richtige Formel zu finden, hoffe ihr könnt mir helfen, mfG, CO2 |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Suche mal nach Luftwiderstand. Der wird um so größer, je höher die Geschwindigkeit des Fahrzeugs wird. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du verringerst accrelation solange der Spieler "Gas" gibt um... weiß nicht... 5%, bis das Auto den maximalen Speed hat. Dürfte eine schöne "Beschleunigungskurve" ergeben. | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@ Xeres:
mit luftwiderstand hab ich auch schon gerechnet, konnte aber ebenfalls keine gescheite formel hinkiregen (irgendwas mit ^4, oder so war das) @ Hubsi: Formel wäre dann Code: [AUSKLAPPEN] speed = speed + (accrelation - (accrelation / 100 * speed))
oder was? |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
accrelation=accrelation*0.95 bei 5%. Den Prozentsatz mußt Du halt auf Dein Spiel so anpassen das er beim erreichen der max. Geschwindigkeit nicht abrupt nicht schneller wird. | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie meinst du das?
habs jetzt wie folgt gelöst: Code: [AUSKLAPPEN] accrelation = accrelation * 0.95
speed = speed + accrelation aber da ändert sich nichts an der beschleunigung ![]() |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist accrelation als Float definiert? | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
da lag einer fehler ![]() Aber trotzdem mach ich noch irgendwas falsch: Code: [AUSKLAPPEN] accrelation = accrelation * 0.95
speed = speed + accrelation maximal-geschwindigkeit: 17km/h (sorry wenn ich nerve, bin heut irgendwie nicht voll aufm dampfer ![]() |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du willst eine maximale Geschwindigkeit von 17 km/h oder erreichst nicht mehr als 17 km/h? | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
es sollen maximal 250 km/h erreicht werden, aber ab 17km/h gehts nicht weiter (zumindest so langsam, das nichts passiert) | ||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
2 Möglichkeiten: Entweder die Beschleunigung zu Beginn höher ansetzen oder einen geringeren Prozentsatz beim abnehmen der Beschleunigung wählen. Oder beides. Was halt zum Spiel passt. | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nimm diese Formel:
Code: [AUSKLAPPEN] speed=speed+acceleration*(1.0-speed/maxspeed)
Je größer "acceleration" ist, desto schneller erreicht das Auto seine Maximalgeschwindigkeit. Wenn die Geschwindigkeit maximal ist, ist der Faktor (1.0-speed/maxspeed) gleich 0; die Geschwindigkeit ändert sich dann also nicht. Verschiedene Gänge kann man mit verschiedenen acceleration/maxspeed-Kombinationen erreichen. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wofür steht denn die 1.0? | ||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nah, wenn speed=maxspeed ist, ergibt speed/maxspeed=1.
Und dann 1-1 ist auch wieder 0. Und damit wird ja dann die Geschwindigkeit malgenommen. Also gibt es ab da keinen Geschwindigkeitszuwachs mehr. |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es mag kleinkariert erscheinen, aber ich empfehle dir ein wenig mehr auf die Benennung deiner Variablen zu achten. 'acceleration', nicht 'accrelation'.
Ansonsten gibt es im Buchhandel deiner Wahl lustige kleine Formelsammlungen zu allen Bereichen der Physik, die helfen gerne mal weiter. Ich persönlich benutze da ein Pocketbook von Langenscheidt für 2€. Hat mir mehr als einmal den Hintern gerettet. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok, werd mich mal danach umschauen, danke | ||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Allgemein zur Beschleunigung:
a: Beschleunigung (in m/s², Meter pro Quadratsekunde) v: gefahrene Geschwindigkeit (in m/s, Meter pro Sekunde) v0: Geschwindigkeit vor dem Beschleunigen t: vergangene Zeit seit Start des Beschleunigen (in Sekunden) v= a*t Falls bei laufender Fahrt ein Beschleunigungsvorgang beginnt: v= v0 + a*t Wie du die Beschleunigung jetzt in deinem Code abnehmen lässt (Natürlich in Abhängigkeit von Geschwindigkeit, eingelegtem Gang, usw.) sei dir überlassen. |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
s = 0.5 * a * t^2
v = a * t a = beschleunigung [m/s^2) = const t = Zeit [s] v = Speed [m/s] |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok, besten dank | ||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn ich nicht ganz grob daneben lieg sind die letzten beiden Beiträge zur Beschleunigung ziemlich überflüssig. Weil wie Beschleunigung funktioniert ist doch im ersten Beitrag bereits klar gewesen. Es ging um die "Abriegelung", also Einbindung einer Maximalgeschwindigkeit.
Die physikalische Beschleunigung geht ja mehr oder weniger ins unendliche (und ist allein deshalb schon "falsch" weil man seit Einstein weiß, dass man keinen Körper der auch nur die geringste Masse besitzt, auf Lichtgeschwindigkeit beschleunigen kann ![]() Die Maximalgeschwindigkeit eines Fahrzeuges kommt ja eigentlich von der maximalen Drehzahl des Motors und des Übersetzungsverhältnisses des höchsten Ganges (und in weiterer Folge auch des Luftwiderstandes wie anfangs erwähnt. Weiters dann noch innere Reibung etc. usw. ^^). Aber mal genug klug-geschissen, hier im Thread gibts ja bereits brauchbare Lösungen von Hubsi und mpmxyz (Letztere finde cih am besten). mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group