<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen?]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe ca. 10 Objekte deren Positionen über Vektoren 2D gegeben sind z.B.: P1Obj1=(x1,y1), P2Obj1=(x2,y2), .... PkObj1=(xk ,yk) und P1Obj2=(x1,y1), P2Obj2=(x2,y2), .... PkObj2=(xk ,yk) usw.</p>
<p>Was ich gerne möchte:<br />
Ich bewege ein Objekt durch den Raum und will wissen wann kommen mir die anderen Objekte zu nahe. Aber wie fqnge ich an??</p>
<p>Iteriere ich über das eine Objekt, also von P1,...Pk und prüfe bei jedem Punkt wo bin ich zu welcher Zeit und wo sind dann zu dieser Zeit die anderen Objekte?</p>
<p>Also ungefähr so: Jemand geht einen Strasse entlang und läüft dort Punkte ab. Er kann von geworfenen Bällen getroffen werden oder nicht! Werden alle Bälle am Tag vorher geworfen juhu kein Problem! Aber die Bälle habe eine Geschwindigkeit und Richtung (die sie ändern können).</p>
<p>P.S.<br />
Es geht nicht um Computergrafik(weder OpenGL noch DirectX oder so).</p>
<p>Wie geht man das an?</p>
<p>Gruß<br />
Franky</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/268452/position-und-bewegung-von-objekten-mit-vektoren-und-timer-grundlegende-algorithmen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 17:52:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/268452.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Jun 2010 12:22:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 12:22:20 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe ca. 10 Objekte deren Positionen über Vektoren 2D gegeben sind z.B.: P1Obj1=(x1,y1), P2Obj1=(x2,y2), .... PkObj1=(xk ,yk) und P1Obj2=(x1,y1), P2Obj2=(x2,y2), .... PkObj2=(xk ,yk) usw.</p>
<p>Was ich gerne möchte:<br />
Ich bewege ein Objekt durch den Raum und will wissen wann kommen mir die anderen Objekte zu nahe. Aber wie fqnge ich an??</p>
<p>Iteriere ich über das eine Objekt, also von P1,...Pk und prüfe bei jedem Punkt wo bin ich zu welcher Zeit und wo sind dann zu dieser Zeit die anderen Objekte?</p>
<p>Also ungefähr so: Jemand geht einen Strasse entlang und läüft dort Punkte ab. Er kann von geworfenen Bällen getroffen werden oder nicht! Werden alle Bälle am Tag vorher geworfen juhu kein Problem! Aber die Bälle habe eine Geschwindigkeit und Richtung (die sie ändern können).</p>
<p>P.S.<br />
Es geht nicht um Computergrafik(weder OpenGL noch DirectX oder so).</p>
<p>Wie geht man das an?</p>
<p>Gruß<br />
Franky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909437</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Wed, 09 Jun 2010 12:22:20 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 12:36:26 GMT]]></title><description><![CDATA[<p>Die übliche Vorgehensweise ist es, die Zeit zu diskretisieren. Du wählst einen hinreichend kleinen Zeitschritt. Zu wissen, welche Größe ideal ist, ist die große Kunst daran. Für den Anfang reicht ein bisschen ausprobieren. Dann integrierst du deine Bewegungsgleichungen ausgehend von der Situation in diesem Zeitschritt. Oder einfacher gesagt: Du guckst ob sich deine Geschwindigkeiten ändern müssen, etwa weil deine Objekte kollidiert sind. Danach setzt du deine Objekte anhand dieser Geschwindigkeiten und entsprechend dem Zeitschritt um. Dieses Verfahren wiederholst du beliebig oft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909446</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 09 Jun 2010 12:36:26 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 12:54:53 GMT]]></title><description><![CDATA[<p>Ok,</p>
<p>das Programm, das ich umschreiben soll kann schon Bälle (Polygone plazieren), dann meine Route mit den Positionen der Bälle vergleichen.</p>
<p>Also müßte ich dann</p>
<ol>
<li>Den Pazierungscode so lassen: Positioniert mal die Bälle auf Startwerte und<br />
prüf mal ob ich dagegegen laufe auf meiner Route.</li>
<li>Geswchindigkeit und alte Startposition und Richtung ergibt nächste Position:<br />
Positioniert mal die Bälle auf nächste Position und<br />
prüf mal ob ich dagegegen laufe auf meiner Route.</li>
<li>Geswchindigkeit und alte Position ....<br />
Positioniert mal die Bälle auf nächste Position und<br />
prüf mal ob ich dagegegen laufe auf meiner Route.</li>
</ol>
<p>Gruß<br />
Franky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909455</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Wed, 09 Jun 2010 12:54:53 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 13:08:45 GMT]]></title><description><![CDATA[<p>Ahm, wie bewege denn Objekte von den ich nur die Startposition und Geschwindigkeit und Richtung kenne? Wie ermittle ich denn da die nächste Position.</p>
<p>Gruß<br />
Franky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909466</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Wed, 09 Jun 2010 13:08:45 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 13:12:21 GMT]]></title><description><![CDATA[<p>x_neu = x_alt + dt<em>v_x<br />
y_neu = y_alt + dt</em>v_y</p>
<p>wobei dt der Zeitschritt ist und v_x die Geschwidigkeitskomponente in X-Richtung und v_y diejenige in y-Richtung. Und du fängst mit x_alt=x_start an. Im nächsten Schritt setzt du dann x_alt = x_neu und rechnest ein neues x_neu aus usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909469</guid><dc:creator><![CDATA[PhilippM]]></dc:creator><pubDate>Wed, 09 Jun 2010 13:12:21 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 13:29:13 GMT]]></title><description><![CDATA[<p>Neben dem simplen Euler Algorithmus von PhillipM gibt es auch deutlich bessere Update-Schemata die nicht wesentlich schwieriger sind:</p>
<p><a href="http://en.wikipedia.org/wiki/Verlet-Stoermer_integration#Velocity_Verlet" rel="nofollow">http://en.wikipedia.org/wiki/Verlet-Stoermer_integration#Velocity_Verlet</a></p>
<p>Der Artikel führt dich auch allgemein recht gut in das Thema ein (ist wahrscheinlich an einigen Stellen zu abgehoben, aber ignorier die einfach).</p>
<p>(Typischerweise findet man mal wieder nichts dazu in der deutschen Wikipedia. Algortihmen die praktisch von der gesamten Welt für dieses Problem benutzt werden sind wohl nicht relevant genug <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> .)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909480</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 09 Jun 2010 13:29:13 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 13:33:59 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hatte mich jetzt darauf fixiert wenn ich p1=(x1,y1) habe und Richtung [0..360]<br />
und Speed z. B.: [0..100] also Richtung und Speed Sklarare sein sollen wie ermittle ich den dann p2=(x2,y2)?</p>
<p>Weil ich dachte ich bewege mich. Also über k-Positionen und prüfe an jeder Position ob ich getroffen werde. Wenn nicht dann weiter zur nächsten, sonst langsamer werden.</p>
<p>Gruß<br />
Frank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909486</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Wed, 09 Jun 2010 13:33:59 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 13:42:12 GMT]]></title><description><![CDATA[<p>FrankTheFox schrieb:</p>
<blockquote>
<p>Hi,</p>
<p>ich hatte mich jetzt darauf fixiert wenn ich p1=(x1,y1) habe und Richtung [0..360]<br />
und Speed z. B.: [0..100] also Richtung und Speed Sklarare sein sollen wie ermittle ich den dann p2=(x2,y2)?</p>
</blockquote>
<p>Sprich du hast die Geschwindigkeit in <a href="http://de.wikipedia.org/wiki/Polarkoordinaten" rel="nofollow">Polarkoordinaten</a> angegeben.</p>
<blockquote>
<p>Weil ich dachte ich bewege mich. Also über k-Positionen und prüfe an jeder Position ob ich getroffen werde. Wenn nicht dann weiter zur nächsten, sonst langsamer werden.</p>
</blockquote>
<p>Und?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909493</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 09 Jun 2010 13:42:12 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 14:10:14 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ja soll eine Bibliotrhek für Geopositionen werden. Mit denen man hindernissen ausweichen kann, die virtuell gestreut sind.</p>
<p>Mein Ansatz:</p>
<pre><code class="language-cpp">cout &lt;&lt;&quot;Start: (&quot;&lt;&lt; new_centre.latitude &lt;&lt; &quot;, &quot; &lt;&lt; new_centre.longitude &lt;&lt; &quot;)&quot;&lt;&lt; endl;

float x = new_centre.latitude + sin(329.94)*grad_to_rad;
float y = new_centre.longitude + cos(329.94*grad_to_rad);

x = x * 6.48;
y = y * 6.48;

cout &lt;&lt;&quot;Neu:  (&quot; &lt;&lt; x &lt;&lt; &quot;, &quot; &lt;&lt; y &lt;&lt; &quot;)&quot; &lt;&lt; endl;
</code></pre>
<p>Aber das ist totaler Blödsinn, weil<br />
Start = (0.896401, 0.22403)<br />
und dann<br />
Neu: (5.80046, 7.06017)</p>
<p>kann nicht passen...</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909509</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Wed, 09 Jun 2010 14:10:14 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 14:48:26 GMT]]></title><description><![CDATA[<p>So funktioniert das nicht mit Grad&lt;-&gt;Bogenmaß. Guck dir das nochmal an. Oder rechne eben gleich mit Bogenmaß, wozu Grad?</p>
<p>Und deinen Algorithmus kann ich nicht nachvollziehen. Was sollen beispielsweise 6.48 und 329.94 sein? Das sind magische Zahlen die vom Himmel gefallen sind?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909525</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 09 Jun 2010 14:48:26 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 15:01:18 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ja du hast recht: 6.48 ist die Geschwindigkeit und 329.94 Richtung.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909531</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Wed, 09 Jun 2010 15:01:18 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 15:07:44 GMT]]></title><description><![CDATA[<p>FrankTheFox schrieb:</p>
<blockquote>
<p>Hi,</p>
<p>ja du hast recht: 6.48 ist die Geschwindigkeit und 329.94 Richtung.</p>
<p>Gruß</p>
</blockquote>
<p>Dann guck dir naochmal die ganzen Antworten in diesem Thread an, denn offensichtlich hast du das noch nicht getan. Ich meine: Position = Position * Geschwindigkeit? Position = Position + Skalar? Wo hast du das denn her? Das ist doch sofort ersichtlich, dass das nicht passen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909533</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 09 Jun 2010 15:07:44 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 16:03:32 GMT]]></title><description><![CDATA[<p>Ich gehe das jetzt mal anders an.....</p>
<pre><code class="language-cpp">cout &lt;&lt;&quot;Alt:  (&quot; &lt;&lt;  start_pos.latitude &lt;&lt; &quot;, &quot; &lt;&lt; start_pos.longitude &lt;&lt; &quot;)&quot; &lt;&lt; endl;

unit_vector v1 =  Sphaerisch2Kartesisch(start_pos);//-&gt;Vector

cout &lt;&lt;&quot;v1:  (&quot; &lt;&lt;  v1.x &lt;&lt; &quot;, &quot; &lt;&lt; v1.y &lt;&lt; &quot;, &quot; &lt;&lt; v1.z &lt;&lt; &quot;)&quot; &lt;&lt; endl;

double tempX = v1.x; //Da sonst schon mit gedrehtem x....
v1.x = (v1.x *cos(329.94)) + (v1.y * -sin(329.94));
v1.y = (tempX *sin(329.94)) + (v1.y * cos(329.94));

next_pos =  Kartesisch2Sphaerisch(v1); // -&gt; Polar

cout &lt;&lt;&quot;Neu:  (&quot; &lt;&lt;  next_pos.latitude &lt;&lt; &quot;, &quot; &lt;&lt; next_pos.longitude &lt;&lt; &quot;)&quot; &lt;&lt; endl;
</code></pre>
<p>Ergebnis:</p>
<p>Alt: (0.896401, 0.22403)<br />
v1: (0.779033, -0.139291, 0.611314)<br />
Neu: (-0.90935, -0.133793)</p>
<p>Wie weit man kommen kann wenn man sich nur dreht....</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909573</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Wed, 09 Jun 2010 16:03:32 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 17:13:52 GMT]]></title><description><![CDATA[<p>...das scheint besser zu funktionieren...</p>
<pre><code class="language-cpp">cout &lt;&lt;&quot;Alt:  (&quot; &lt;&lt;  start_pos.latitude &lt;&lt; &quot;, &quot; &lt;&lt; start_pos.longitude &lt;&lt; &quot;)&quot; &lt;&lt; endl;

unit_vector v1 =  Sphaerisch2Kartesisch(start_pos);//-&gt;Vector

cout &lt;&lt;&quot;v1:  (&quot; &lt;&lt;  v1.x &lt;&lt; &quot;, &quot; &lt;&lt; v1.y &lt;&lt; &quot;, &quot; &lt;&lt; v1.z &lt;&lt; &quot;)&quot; &lt;&lt; endl;

unit_vector v2;
v2.x = (v1.x *cos(329.94  / 180 * PI)) + (v1.y * -sin(329.94  / 180 * PI));
v2.y = (v1.x *sin(329.94  / 180 * PI)) + (v1.y * cos(329.94  / 180 * PI));

next_pos =  Kartesisch2Sphaerisch(v2); // -&gt; Polar

cout &lt;&lt;&quot;Neu:  (&quot; &lt;&lt;  next_pos.latitude &lt;&lt; &quot;, &quot; &lt;&lt; next_pos.longitude &lt;&lt; &quot;)&quot; &lt;&lt; endl;
</code></pre>
<p>Ergebniss:<br />
Alt: (0.896401, 0.22403)<br />
v1: (0.779033, -0.139291, 0.611314)<br />
Neu: (0.87253, 1.5708)</p>
<p>Aber ich kann doch nicht auf v2.x und v2.y jetzt die Geschwindigkeit addieren. Das gibt doch total fette Werte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909632</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Wed, 09 Jun 2010 17:13:52 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 20:08:13 GMT]]></title><description><![CDATA[<p>Biite, kann mir keiner 'nen Tipp geben wieso ich diese Werte erhalte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909714</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Wed, 09 Jun 2010 20:08:13 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Wed, 09 Jun 2010 21:07:47 GMT]]></title><description><![CDATA[<p>FrankTheFox schrieb:</p>
<blockquote>
<p>Biite, kann mir keiner 'nen Tipp geben wieso ich diese Werte erhalte.</p>
</blockquote>
<p>Lern erst, dich in Geduld zu üben, dein Problem konkret zu formulieren und die gegebenen Antworten sorgfältig zu lesen und zu beachten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909766</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 09 Jun 2010 21:07:47 GMT</pubDate></item><item><title><![CDATA[Reply to Position und Bewegung von Objekten mit Vektoren und Timer. Grundlegende Algorithmen? on Thu, 10 Jun 2010 09:58:39 GMT]]></title><description><![CDATA[<p>Also was habe ich schon:</p>
<p>Bibliothek, die ein Polygon verschieben kann (altes Zentrum -&gt; neues Zentrum).<br />
Ich kan den &quot;track angle&quot;1) anhand zweier Zentren (Polygon) bestimmen und den Abstand &quot;range&quot;2) zwischen zwei Zentren( Polygon) und dann ein neues Zentrum berechnen also ein Polgon bewegen (in Abhängigkeit zeier Zentren).</p>
<pre><code class="language-cpp">typedef struct Zentrum
  double longitude
  double latitude
}Zentrum_2D_type;
</code></pre>
<p>Von den anderen Funktionen 1) und 2) nur die Header (Definition) ...Deklaration nicht einsehbar.<br />
Mein Problem:<br />
- Drehung eines Polygons um sein Zentrum (Winkel ist double [0..360] Mache ich nur einmal (denke ich weil ich dann )<br />
- dann bewegen (speed ist double z.B. 12,98) also dann dachte eine translation...<br />
Aber irgendwie will der Ansatz nicht in meinen Kopf...</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1909914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1909914</guid><dc:creator><![CDATA[FrankTheFox]]></dc:creator><pubDate>Thu, 10 Jun 2010 09:58:39 GMT</pubDate></item></channel></rss>