AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Gravitation und Kollision

Ein Thema von tumo · begonnen am 22. Jun 2018 · letzter Beitrag vom 23. Jun 2018
 
tumo

Registriert seit: 28. Apr 2014
46 Beiträge
 
Delphi 10.3 Rio
 
#1

Gravitation und Kollision

  Alt 22. Jun 2018, 17:50
Hallo,

vorab: ich weiß, dass ein "müsstest du doch in der Schule/Studium/irgendwo gelernt haben" eine echt schöne Antwort ist, nur hilft mir das nicht wirklich weiter. Auch in Internetrecherche bin ich unglaublich schlecht (Auch mit Google und Co.). Daher bitte ich darum wenn möglich leicht verständliche Antworten zu geben.

Ich experimentiere gerade mit OpenGL rum und im Zuge dessen auch mit Physik. Da ich gerne eine eigene "Physik-Engine" haben möchte, will ich auch nicht auf eine schon vorhandene zurückgreifen. Sonderlich realistisch muss es nicht sein, Luftwiederstand und ähnliches vernachlässige ich (weil ich's kann ). Nun habe ich eine Art Flummi programmiert, die mit einer Startposition, -geschwindigkeit und -beschleunigung startet. Sobald der Körper auf den Boden trifft, wird ein Teil der Geschwindigkeit abgezogen und der Rest negiert (also fliegt der Körper dann nach oben), bis die Beschleunigung auch diese wieder umgekehrt hat und so weiter... Das Problem ist nun, dass der Körper nie zum Ruhen kommt, sondern immer weiter eine gewisse Geschwindigkeit erfährt, genug um komische Pixelsprünge zu erzeugen, wenn der Körper fast auf dem Boden ist.

Ich habe eine grobe Vermutung wo das Problem liegen könnte: Das Objekt wird in ca. 15ms Abständen (weil OnIdle) aktualisiert, also Position und Geschwindigkeit. Wenn das Objekt kurz vor dem Boden ist, ist es nach dieser Berechnung unter dem Boden. Bei der Überprüfung, die nach dieser Objektaktualisierung passiert, wird das Objekt exakt auf den Boden gesetzt, hat aber noch die Geschwindigkeit von der kleinen Differenz zwischen der eigentlich berechneten Position und dem Boden. Das bisschen zu viel löst am Ende dieses komische Zittern aus, vielleicht.

Ich stehe echt auf dem Schlauch. Zur Information: 10. Klasse, also erwartet nicht zu viel von meinem Schulwissen. Grundlagen kenne ich schon, aber alles etwas speziellere ist mangelware bei mir.

Wenn ihr Code(-schnipsel) sehen wollt, sagt bescheid.

Mit freundliche Grüßen
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz