Spielephysik: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
{{ | {{In Bearbeitung}} | ||
{{Qualität | |||
| | |correctness = 1 | ||
| | |extent = 1 | ||
|numberOfReferences = 1 | |||
|qualityOfReferences = 3 | |||
|conformance = 5 | |||
}} | }} | ||
=Definition= | ==Definition== | ||
Eine Spielephysik (Physik-Engine) wird zum Simulieren der physikalischen Eigenschaften von Objekten in einem Computerspiel genutzt. Dadurch wirkt das Spiel realistischer. | Eine Spielephysik (Physik-Engine) wird zum Simulieren der physikalischen Eigenschaften von Objekten in einem Computerspiel genutzt. Dadurch wirkt das Spiel realistischer. | ||
Die Physik-Engine simuliert anhand physikalischer Gesetze und Regeln das Verhalten von Personen und Gegenständen in der Spielewelt. Zum Beispiel berechnet die Spielephysik Kollisionen von Gegenständen und deren Auswirkung. Um die Kollision zwischen zwei Gegenständen festzustellen werden meist komplexe | Die Physik-Engine simuliert anhand physikalischer Gesetze und Regeln das Verhalten von Personen und Gegenständen in der Spielewelt. Zum Beispiel berechnet die Spielephysik Kollisionen von Gegenständen und deren Auswirkung. Um die Kollision zwischen zwei Gegenständen festzustellen werden meist komplexe Kollisionsalgorithmen verwendet.. | ||
==Grundannahmen für die Beispeile im GlossarWiki == | |||
Es sei ein zweidimensionales geometrisches Objekt <code>g</code> gegeben, das folgende Attribute habe: | |||
* <code>x</code>, <code>y</code>: Position (Einheit: Pixel) | |||
* <code>vx</code>, <code>vy</code>: Geschwindigkeit in $x$- und $y$-Richtung (Einheit: Pixel/s) | |||
* <code>m</code>: Masse (die Einheit ist irrelevant, sie muss nur für alle Bälle dieselbe sein) | |||
Die [[Frequenz]] der Neuberechnung der Positionen aller im System vorhandener Bälle sei <code>f</code>, | |||
{{dh}}, die Positionen werden <code>f</code> mal pro Sekunde neuberechnet. Wenn es zu keiner Kollision kommt, wird | |||
der Ball um <code>vx/f</code> bzw. <code>vy/f</code> Pixel in | |||
$x$- bzw. $y$-Richtung verschoben: | |||
<source lang="javascript"> | |||
b.x += b.vx/f; | |||
b.y += b.vy/f; | |||
</source> | |||
Je höher die Frequent <code>f</code> ist, desto genauer wird die Bewegungsbahn der Bälle simuliert. | |||
<!-- | |||
Im Folgenden seinen $s_1 = \begin{pmatrix}s_{1x}\\s_{1y}\end{pmatrix}$ und $s_2 = \begin{pmatrix}s_{2x}\\s_{2y}\end{pmatrix}$ die Startpositionen | |||
zweier Balle und $v_1 = \begin{pmatrix}v_{1x}\\v_{1y}\end{pmatrix}$ und $v_2 = \begin{pmatrix}v_{2x}\\v_{2y}\end{pmatrix}$ die zugehörigen | |||
Geschwindigkeitsvektoren.--> | |||
Im Folgenden seinen $s_1 = (s_{1x},s_{1y})$ und $s_2 = (s_{2x},s_{2y})$ die Startpositionen | |||
zweier Balle und $v_1 = (v_{1x},v_{1y})$ und $v_2 = (v_{2x},v_{2y})$ die zugehörigen | |||
Geschwindigkeitsvektoren. | |||
Es gilt also, dass sich die beiden Bälle zu Zeitpunkt $t_0$ an den Positionen $s_1$ und $s_2$ befinden. | |||
Eine Sekunde später, {{dh}} zum Zeitpunkt $t_0+1$ befinden sich sich an den Positionen $s_1+v_1$ und $s_2+v_2$, sofern sie nicht kollidieren. | |||
Wenn die Neuberechnung mit einer [[Frequenz]] $f$ Hz erfolgt, {{dh}}, wenn die [[Periodendauer]] $T = 1/f$ beträgt, dann | |||
befinden sich die Bälle nach der Berechnung an den Positionen $s_1+Tv_1$ und $s_2+Tv_2$, sofern sie nicht kollidieren. | |||
In Folgenden wird stets der Fall $t=1$ angenommen. Alle Aussagen, die für einen ''beliebigen'' Geschwindigkeitsvektor | |||
$v$ gelten, gelten dann natürlich auch für $v' := tv$. | |||
==Quellen== | |||
<references/> | |||
#{{Quelle|Kowarschick (MMProg)}} | |||
[[Kategorie:Spielephysik]] | |||
[[Kategorie:Spielephysik]] | [[Kategorie:Spielephysik]] | ||
Version vom 5. November 2016, 14:27 Uhr
Dieser Artikel wird derzeit von einem Autor gründlich bearbeitet. Die Inhalte sind daher evtl. noch inkonsistent.
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:
| Korrektheit: 1 (nur rudimäntär überprüft) |
Umfang: 1 (zu gering) |
Quellenangaben: 1 (fehlen großteils) |
Quellenarten: 3 (gut) |
Konformität: 5 (ausgezeichnet) |
Definition
Eine Spielephysik (Physik-Engine) wird zum Simulieren der physikalischen Eigenschaften von Objekten in einem Computerspiel genutzt. Dadurch wirkt das Spiel realistischer. Die Physik-Engine simuliert anhand physikalischer Gesetze und Regeln das Verhalten von Personen und Gegenständen in der Spielewelt. Zum Beispiel berechnet die Spielephysik Kollisionen von Gegenständen und deren Auswirkung. Um die Kollision zwischen zwei Gegenständen festzustellen werden meist komplexe Kollisionsalgorithmen verwendet..
Grundannahmen für die Beispeile im GlossarWiki
Es sei ein zweidimensionales geometrisches Objekt g gegeben, das folgende Attribute habe:
x,y: Position (Einheit: Pixel)vx,vy: Geschwindigkeit in $x$- und $y$-Richtung (Einheit: Pixel/s)m: Masse (die Einheit ist irrelevant, sie muss nur für alle Bälle dieselbe sein)
Die Frequenz der Neuberechnung der Positionen aller im System vorhandener Bälle sei f,
d. h., die Positionen werden f mal pro Sekunde neuberechnet. Wenn es zu keiner Kollision kommt, wird
der Ball um vx/f bzw. vy/f Pixel in
$x$- bzw. $y$-Richtung verschoben:
b.x += b.vx/f;
b.y += b.vy/f;
Je höher die Frequent f ist, desto genauer wird die Bewegungsbahn der Bälle simuliert.
Im Folgenden seinen $s_1 = (s_{1x},s_{1y})$ und $s_2 = (s_{2x},s_{2y})$ die Startpositionen zweier Balle und $v_1 = (v_{1x},v_{1y})$ und $v_2 = (v_{2x},v_{2y})$ die zugehörigen Geschwindigkeitsvektoren.
Es gilt also, dass sich die beiden Bälle zu Zeitpunkt $t_0$ an den Positionen $s_1$ und $s_2$ befinden. Eine Sekunde später, d. h. zum Zeitpunkt $t_0+1$ befinden sich sich an den Positionen $s_1+v_1$ und $s_2+v_2$, sofern sie nicht kollidieren. Wenn die Neuberechnung mit einer Frequenz $f$ Hz erfolgt, d. h., wenn die Periodendauer $T = 1/f$ beträgt, dann befinden sich die Bälle nach der Berechnung an den Positionen $s_1+Tv_1$ und $s_2+Tv_2$, sofern sie nicht kollidieren.
In Folgenden wird stets der Fall $t=1$ angenommen. Alle Aussagen, die für einen beliebigen Geschwindigkeitsvektor $v$ gelten, gelten dann natürlich auch für $v' := tv$.
Quellen
- Kowarschick (WebProg): Wolfgang Kowarschick; Vorlesung „Web-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2024; Quellengüte: 3 (Vorlesung)
