<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://wiki.delphigl.com/index.php?action=history&amp;feed=atom&amp;title=Physik_und_3D</id>
		<title>Physik und 3D - Versionsgeschichte</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.delphigl.com/index.php?action=history&amp;feed=atom&amp;title=Physik_und_3D"/>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Physik_und_3D&amp;action=history"/>
		<updated>2026-04-21T00:16:37Z</updated>
		<subtitle>Versionsgeschichte dieser Seite in DGL Wiki</subtitle>
		<generator>MediaWiki 1.27.4</generator>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Physik_und_3D&amp;diff=22708&amp;oldid=prev</id>
		<title>Flash am 22. Februar 2009 um 17:35 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Physik_und_3D&amp;diff=22708&amp;oldid=prev"/>
				<updated>2009-02-22T17:35:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 22. Februar 2009, 17:35 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wir nehmen an, dass uns ein hübsches Mesh (eine Ansammlung von Dreiecken) zur Verfügung steht, sagen wir mal: ein Kämpfer-Modell. Wir laden diese Daten mal in den Hauptspeicher. Anhand dieses Mesh kann man jetzt auf automatisierte Weise ein vereinfachtes &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;grobes &lt;/del&gt;Mesh herstellen, oder auch nur eine [[Bounding Box]] (bzw. irgend ein anderes [[Bounding Volume]]) des Mesh berechnen oder vielleicht sind solche Daten sogar in der Meshdatei vorhanden. Die Mesh-Daten, die zum Zeichnen bestimmt sind, schicken wir an die Grafikkarte weiter, damit sie schnell gezeichnet werden können. Diese Daten sehen den Hauptspeicher normalerweise nie wieder. Man könnte die Vertex-Daten schon wieder zurücklesen, aber es ist gar nicht nötig und auch kontraproduktiv, denn es wäre viel zu langsam. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wir nehmen an, dass uns ein hübsches &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/ins&gt;Mesh&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;zu deutsch: Gitternetz; &lt;/ins&gt;eine Ansammlung von Dreiecken) zur Verfügung steht, sagen wir mal: ein Kämpfer-Modell. Wir laden diese Daten mal in den Hauptspeicher. Anhand dieses Mesh kann man jetzt auf automatisierte Weise ein vereinfachtes &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;groberes &lt;/ins&gt;Mesh herstellen, oder auch nur eine [[Bounding Box]] (bzw. irgend ein anderes [[Bounding Volume]]) des Mesh berechnen oder vielleicht sind solche Daten sogar in der Meshdatei vorhanden. Die Mesh-Daten, die zum Zeichnen bestimmt sind, schicken wir an die Grafikkarte weiter, damit sie schnell gezeichnet werden können. Diese Daten sehen den Hauptspeicher normalerweise nie wieder. Man könnte die Vertex-Daten schon wieder zurücklesen, aber es ist gar nicht nötig und auch kontraproduktiv, denn es wäre viel zu langsam. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Das vereinfachte Mesh (oder die Bounding Box) behalten wir im Hauptspeicher zurück. Das ist eine „dünne“ Repräsentation unseres Modells. Je „dünner“ (also je weniger Daten es hat), desto besser (nämlich schneller), aber auch nicht zu dünn, sonst werden unsere Berechnungen zu ungenau. Hier muss man sich zwischen Geschwindigkeit und Genauigkeit entscheiden. Das Schnellste, was man hier nehmen kann, ist eine Kugel ([[Bounding Sphere]]), aber unser Kämpfer wird durch eine simple Kugel ziemlich schlecht repräsentiert.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Das vereinfachte Mesh (oder die Bounding Box) behalten wir im Hauptspeicher zurück. Das ist eine „dünne“ Repräsentation unseres Modells. Je „dünner“ (also je weniger Daten es hat), desto besser (nämlich schneller), aber auch nicht zu dünn, sonst werden unsere Berechnungen zu ungenau. Hier muss man sich zwischen Geschwindigkeit und Genauigkeit entscheiden. Das Schnellste, was man hier nehmen kann, ist eine Kugel ([[Bounding Sphere]]), aber unser Kämpfer wird durch eine simple Kugel ziemlich schlecht repräsentiert.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Flash</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Physik_und_3D&amp;diff=22514&amp;oldid=prev</id>
		<title>Flash: Verlinkungen</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Physik_und_3D&amp;diff=22514&amp;oldid=prev"/>
				<updated>2009-01-29T18:22:24Z</updated>
		
		<summary type="html">&lt;p&gt;Verlinkungen&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='de'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version vom 29. Januar 2009, 18:22 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wir nehmen an, dass uns ein hübsches Mesh (eine Ansammlung von Dreiecken) zur Verfügung steht, sagen wir mal: ein Kämpfer-Modell. Wir laden diese Daten mal in den Hauptspeicher. Anhand dieses Mesh kann man jetzt auf automatisierte Weise ein vereinfachtes grobes Mesh herstellen, oder auch nur eine Bounding Box des Mesh berechnen oder vielleicht sind solche Daten sogar in der Meshdatei vorhanden. Die Mesh-Daten, die zum Zeichnen bestimmt sind, schicken wir an die Grafikkarte weiter, damit sie schnell gezeichnet werden können. Diese Daten sehen den Hauptspeicher normalerweise nie wieder. Man könnte die Vertex-Daten schon wieder zurücklesen, aber es ist gar nicht nötig und auch kontraproduktiv, denn es wäre viel zu langsam. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wir nehmen an, dass uns ein hübsches Mesh (eine Ansammlung von Dreiecken) zur Verfügung steht, sagen wir mal: ein Kämpfer-Modell. Wir laden diese Daten mal in den Hauptspeicher. Anhand dieses Mesh kann man jetzt auf automatisierte Weise ein vereinfachtes grobes Mesh herstellen, oder auch nur eine &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/ins&gt;Bounding Box&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] (bzw. irgend ein anderes [[Bounding Volume]]) &lt;/ins&gt;des Mesh berechnen oder vielleicht sind solche Daten sogar in der Meshdatei vorhanden. Die Mesh-Daten, die zum Zeichnen bestimmt sind, schicken wir an die Grafikkarte weiter, damit sie schnell gezeichnet werden können. Diese Daten sehen den Hauptspeicher normalerweise nie wieder. Man könnte die Vertex-Daten schon wieder zurücklesen, aber es ist gar nicht nötig und auch kontraproduktiv, denn es wäre viel zu langsam. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Das vereinfachte Mesh (oder die Bounding Box) behalten wir im Hauptspeicher zurück. Das ist eine „dünne“ Repräsentation unseres Modells. Je „dünner“ (also je weniger Daten es hat), desto besser (nämlich schneller), aber auch nicht zu dünn, sonst werden unsere Berechnungen zu ungenau. Hier muss man sich zwischen Geschwindigkeit und Genauigkeit entscheiden. Das Schnellste, was man hier nehmen kann, ist eine Kugel (&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;„Bounding Sphere“&lt;/del&gt;), aber unser Kämpfer wird durch eine simple Kugel ziemlich schlecht repräsentiert.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Das vereinfachte Mesh (oder die Bounding Box) behalten wir im Hauptspeicher zurück. Das ist eine „dünne“ Repräsentation unseres Modells. Je „dünner“ (also je weniger Daten es hat), desto besser (nämlich schneller), aber auch nicht zu dünn, sonst werden unsere Berechnungen zu ungenau. Hier muss man sich zwischen Geschwindigkeit und Genauigkeit entscheiden. Das Schnellste, was man hier nehmen kann, ist eine Kugel (&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Bounding Sphere]]&lt;/ins&gt;), aber unser Kämpfer wird durch eine simple Kugel ziemlich schlecht repräsentiert.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Auf dieses Pseudomesh und einige andere Physik-Daten (Masse, Geschwindigkeit, augenblickliche Position und Orientierung etc.) werden jetzt die Physikberechnungen angewendet (Anwenden von Kräften, Kollisionsberechnungen). Wenn man eine externe Physik-Engine verwendet, wäre die Struktur der Daten zwar von der Physik-Engine bestimmt, aber in welchem Umfeld sie gespeichert werden, ist unsere Sache. Das Pseudomesh und seine zugehörigen Physik-Daten könnte man z.B. in ein Objekt kapseln, denn sie gehören eindeutig zusammen. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Auf dieses Pseudomesh und einige andere Physik-Daten (Masse, Geschwindigkeit, augenblickliche Position und Orientierung etc.) werden jetzt die Physikberechnungen angewendet (Anwenden von Kräften, Kollisionsberechnungen). Wenn man eine externe Physik-Engine verwendet, wäre die Struktur der Daten zwar von der Physik-Engine bestimmt, aber in welchem Umfeld sie gespeichert werden, ist unsere Sache. Das Pseudomesh und seine zugehörigen Physik-Daten könnte man z.B. in ein Objekt kapseln, denn sie gehören eindeutig zusammen. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wichtiger ist aber, dass das Ergebnis der Physik-Berechnungen Verschiebungen und Drehungen sind. Diese verändern die aktuelle Position und Orientierung und ergeben eine NEUE Position und Orientierung. Im nächsten Renderpass fließt diese neue Position/Orientierung aus der Physikberechnung daher in die Renderpipline mit ein, z.B. einfach als glTranslate/glRotate. Ja, es wird normalerweise glMultMatrix benutzt, aber ein einfaches glTranslate/glRotate tut genau dasselbe.&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wichtiger ist aber, dass das Ergebnis der Physik-Berechnungen Verschiebungen und Drehungen sind. Diese verändern die aktuelle Position und Orientierung und ergeben eine NEUE Position und Orientierung. Im nächsten &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/ins&gt;Renderpass&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;fließt diese neue Position/Orientierung aus der Physikberechnung daher in die Renderpipline mit ein, z.B. einfach als &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/ins&gt;glTranslate&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/ins&gt;glRotate&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/ins&gt;. Ja, es wird normalerweise &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/ins&gt;glMultMatrix&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;benutzt, aber ein einfaches glTranslate/glRotate tut genau dasselbe.&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wenn wir allerdings für unser Kämpfer-Modell wirklich nur eine Bounding Box haben, sehen wir ganz schön alt aus. Besser wäre hier z.B. eine Ansammlung von Bounding Boxen: eine für die Brust, je eine für die Oberarme, Unterarme, usw. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Wenn wir allerdings für unser Kämpfer-Modell wirklich nur eine Bounding Box haben, sehen wir ganz schön alt aus. Besser wäre hier z.B. eine Ansammlung von Bounding Boxen: eine für die Brust, je eine für die Oberarme, Unterarme, usw. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot; &gt;Zeile 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bei der Demonstration von Physik-Engines sieht man manchmal solche Bounding Volumes, die hier ausnahmsweise auch gezeichnet werden.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bei der Demonstration von Physik-Engines sieht man manchmal solche Bounding Volumes, die hier ausnahmsweise auch gezeichnet werden.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Siehe Auch==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;;[[Tutorial_Kollision1]] : Erstes Tutorial der 3 teiligen Serie über Kollisionsberechnung. Hier lernt ihr, wie ihr selbst Kollisionen zwischen Objekten erkennt und behandelt.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Flash</name></author>	</entry>

	<entry>
		<id>https://wiki.delphigl.com/index.php?title=Physik_und_3D&amp;diff=22513&amp;oldid=prev</id>
		<title>Traude: Die Seite wurde neu angelegt: Wir nehmen an, dass uns ein hübsches Mesh (eine Ansammlung von Dreiecken) zur Verfügung steht, sagen wir mal: ein Kämpfer-Modell. Wir laden diese Daten mal in den Ha...</title>
		<link rel="alternate" type="text/html" href="https://wiki.delphigl.com/index.php?title=Physik_und_3D&amp;diff=22513&amp;oldid=prev"/>
				<updated>2009-01-29T09:48:53Z</updated>
		
		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: Wir nehmen an, dass uns ein hübsches Mesh (eine Ansammlung von Dreiecken) zur Verfügung steht, sagen wir mal: ein Kämpfer-Modell. Wir laden diese Daten mal in den Ha...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Wir nehmen an, dass uns ein hübsches Mesh (eine Ansammlung von Dreiecken) zur Verfügung steht, sagen wir mal: ein Kämpfer-Modell. Wir laden diese Daten mal in den Hauptspeicher. Anhand dieses Mesh kann man jetzt auf automatisierte Weise ein vereinfachtes grobes Mesh herstellen, oder auch nur eine Bounding Box des Mesh berechnen oder vielleicht sind solche Daten sogar in der Meshdatei vorhanden. Die Mesh-Daten, die zum Zeichnen bestimmt sind, schicken wir an die Grafikkarte weiter, damit sie schnell gezeichnet werden können. Diese Daten sehen den Hauptspeicher normalerweise nie wieder. Man könnte die Vertex-Daten schon wieder zurücklesen, aber es ist gar nicht nötig und auch kontraproduktiv, denn es wäre viel zu langsam. &lt;br /&gt;
&lt;br /&gt;
Das vereinfachte Mesh (oder die Bounding Box) behalten wir im Hauptspeicher zurück. Das ist eine „dünne“ Repräsentation unseres Modells. Je „dünner“ (also je weniger Daten es hat), desto besser (nämlich schneller), aber auch nicht zu dünn, sonst werden unsere Berechnungen zu ungenau. Hier muss man sich zwischen Geschwindigkeit und Genauigkeit entscheiden. Das Schnellste, was man hier nehmen kann, ist eine Kugel („Bounding Sphere“), aber unser Kämpfer wird durch eine simple Kugel ziemlich schlecht repräsentiert.&lt;br /&gt;
&lt;br /&gt;
Auf dieses Pseudomesh und einige andere Physik-Daten (Masse, Geschwindigkeit, augenblickliche Position und Orientierung etc.) werden jetzt die Physikberechnungen angewendet (Anwenden von Kräften, Kollisionsberechnungen). Wenn man eine externe Physik-Engine verwendet, wäre die Struktur der Daten zwar von der Physik-Engine bestimmt, aber in welchem Umfeld sie gespeichert werden, ist unsere Sache. Das Pseudomesh und seine zugehörigen Physik-Daten könnte man z.B. in ein Objekt kapseln, denn sie gehören eindeutig zusammen. &lt;br /&gt;
&lt;br /&gt;
Wichtiger ist aber, dass das Ergebnis der Physik-Berechnungen Verschiebungen und Drehungen sind. Diese verändern die aktuelle Position und Orientierung und ergeben eine NEUE Position und Orientierung. Im nächsten Renderpass fließt diese neue Position/Orientierung aus der Physikberechnung daher in die Renderpipline mit ein, z.B. einfach als glTranslate/glRotate. Ja, es wird normalerweise glMultMatrix benutzt, aber ein einfaches glTranslate/glRotate tut genau dasselbe.  &lt;br /&gt;
&lt;br /&gt;
Wenn wir allerdings für unser Kämpfer-Modell wirklich nur eine Bounding Box haben, sehen wir ganz schön alt aus. Besser wäre hier z.B. eine Ansammlung von Bounding Boxen: eine für die Brust, je eine für die Oberarme, Unterarme, usw. &lt;br /&gt;
&lt;br /&gt;
Kollisionskörper werden „Bounding Volumes“ genannt. Für ein Mesh, dass sich per Skelett bewegt („skeletale Animation“) gibt es nicht nur ein Bounding Volume, sondern gleich eine ganze Hierarchie davon, für jedes Bone eines.&lt;br /&gt;
&lt;br /&gt;
Bei der Demonstration von Physik-Engines sieht man manchmal solche Bounding Volumes, die hier ausnahmsweise auch gezeichnet werden.&lt;/div&gt;</summary>
		<author><name>Traude</name></author>	</entry>

	</feed>