AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Nächstes Welt-Position berechnen (3D Spiel)
Thema durchsuchen
Ansicht
Themen-Optionen

Nächstes Welt-Position berechnen (3D Spiel)

Ein Thema von sk0r · begonnen am 9. Mai 2009 · letzter Beitrag vom 9. Mai 2009
Antwort Antwort
Seite 1 von 2  1 2      
sk0r

Registriert seit: 1. Mai 2007
181 Beiträge
 
Delphi 7 Enterprise
 
#1

Nächstes Welt-Position berechnen (3D Spiel)

  Alt 9. Mai 2009, 12:32
Hallo,

gibt es eine Formel, mit der ich ausrechnen kann, welches Weltposition(X,Y,Z) die nächste ist?
Dies sollte anhand der ViewAngles geschehen, damit man sich vorwärts bewegen kann.

Hilfe wäre nett.

MfG: sk0r
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Nächstes Welt-Position berechnen (3D Spiel)

  Alt 9. Mai 2009, 12:40
Deine Frage ist imho so nicht beantwortbar. Wie liegt die Welt vor (BSP, Scenegraph, ...)?
Markus Kinzler
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#3

Re: Nächstes Welt-Position berechnen (3D Spiel)

  Alt 9. Mai 2009, 13:58
Naja ..

Wie bewegt sich ein Objekt in einem 3D Raum?

Position = Position + Velocity !

Also wäre die nächste Position einfach die Formel da oben angewendet.

Falls du jedoch deine Objekte anders "rumbewegst" musst du eben deine
eigene Funktion und betrachten, wie die neue Position ermittelt wird.

MfG
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#4

Re: Nächstes Welt-Position berechnen (3D Spiel)

  Alt 9. Mai 2009, 14:56
Bitte gib uns doch mehr Infos, sonst können wir dir nicht wirklich helfen und ist nur rumgerate...
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Nächstes Welt-Position berechnen (3D Spiel)

  Alt 9. Mai 2009, 17:22
Zitat von mr_emre_d:
Naja ..

Wie bewegt sich ein Objekt in einem 3D Raum?

Position = Position + Velocity !

Also wäre die nächste Position einfach die Formel da oben angewendet.

Falls du jedoch deine Objekte anders "rumbewegst" musst du eben deine
eigene Funktion und betrachten, wie die neue Position ermittelt wird.

MfG
Mal kurz OT korrigieren, ganz so einfach ist die Formel nicht anwendbar, da Position und Velocity unterschiedliche "Einheiten" haben aber ansonsten stimmt das Vorgehen natürlich. Einheitenkonsistent wäre es natürlich: Position = Position + Velocity * Zeit. Oder für alle Mathematiker unter uns: Position = Integral Velocity über Zeit.
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#6

Re: Nächstes Welt-Position berechnen (3D Spiel)

  Alt 9. Mai 2009, 17:44
Da haste Recht

Nun, Velocity ist dann die falsche Bezeichnung
Damit wollte ich alle Kräft (- Geschwindigkeit, Stoßkräfte, Erdanziehung, ... ), die auf ein Entity wirken aufsummiert in einem Vektor darstellen .. = "vecX"

Schlussendlich ist es dann
Pos += "vecX"

PS: Velocity (in dem Sinne) und Position haben nicht unterschiedliche "Einheiten" ?!
Beide sind Vektoren

MfG
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#7

Re: Nächstes Welt-Position berechnen (3D Spiel)

  Alt 9. Mai 2009, 17:50
Zitat von mr_emre_d:
Nun, Velocity ist dann die falsche Bezeichnung
Doch, ist richtig!
Zitat:
Schlussendlich ist es dann
Pos += "vecX"
Nein, ist es nicht!



BAMatze hat dich nicht falsch verstanden, deine Formel ist einfach falsch. Es muss heißen: pos += dt * v
Und bei Kraft wären wir dann bei Beschleunigung, also noch eine Ableitung tiefer:
v += dt * a
p += dt * v
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#8

Re: Nächstes Welt-Position berechnen (3D Spiel)

  Alt 9. Mai 2009, 17:52
Ich geb mich geschlagen

  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#9

Re: Nächstes Welt-Position berechnen (3D Spiel)

  Alt 9. Mai 2009, 17:55
Zitat von mr_emre_d:
Da haste Recht

Nun, Velocity ist dann die falsche Bezeichnung
Damit wollte ich alle Kräft (- Geschwindigkeit, Stoßkräfte, Erdanziehung, ... ), die auf ein Entity wirken aufsummiert in einem Vektor darstellen .. = "vecX"

Schlussendlich ist es dann
Pos += "vecX"

PS: Velocity (in dem Sinne) und Position haben nicht unterschiedliche "Einheiten" ?!
Beide sind Vektoren

MfG
1. "Vektor" ist keine Einheit

velocity ist englisch für Geschwindigkeit (in diesem Falle die gerichtete, im Deutschen unterscheidet man da nicht so) und hat damit die Einheit m/s (Oder km/h - aber halt Strecke/Zeit)

Und das muss man eben mit einer Zeitdifferenz multiplizieren, um eine Positionsdifferenz rauszubekommen. Wenn du das einfach so immer auf den Ortsvektor draufaddierst, tust du so als wäre die Zeitdifferenz immer konstant 1. Dann kann das (was auch immer es ist) auf schnellen Computer zu schnelle laufen und auf langsamen Computern langsamer als es sollte
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Nächstes Welt-Position berechnen (3D Spiel)

  Alt 9. Mai 2009, 17:58
Ach darum gings doch gar nicht glaube die meisten wussten was du meintest. Und ich denke es ging um das Prinzip, welches du gepostet hast.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz