<?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[Besonderer Sortieralgorithmus gesucht!]]></title><description><![CDATA[<p>Ich habe eine riesige Liste, in der Punkte in einem Raum gespeichert sind:</p>
<pre><code class="language-cpp">struct Punkt{
 float x,y,z;
};

// ...

Punkt VielePunkte[12] = { {1.5f, 2.5f, 3.5f,}, // Erster Punkt
   {2.4f, -0.25f, 0.1f,}, // Zweiter Punkt
   {4.6f, -2.25f, -0.75f,}, // Dritter Punkt
   // usw. ...
   {1.2f, 3.8f, 0.75f,}};
</code></pre>
<p>In dem Array sind also sehr viele Punkte gespeichert.<br />
Jetzt sollen jeweils drei aufeinanderfolgende Punkte als ein Dreieck interpretiert werden.<br />
Also die Punkte [0] bis [2], [3] bis [5], [6] bis [8] usw.<br />
Und innerhalb eines solchen Dreiecks sollen jetzt die Punkte 'im Uhrzeigersinn' angeordnet werden. Das klingt also nach Sortieren.<br />
Von den normalen bekannten Sortieralgorythmen kann aber, wie es scheint, keiner verwendet werden. Es bräuchte ja zumindest eine Definition einer 'kleiner / &lt; ' - Relation, damit solche Sortieralgorythmen funktionieren.<br />
Mir fällt auch leider keine Möglichkeit ein, unter welchen Umständen ein Punkt in einer 3-er Liste derartig zu einem anderen Punkt in Beziehung stehen könnte, damit sie vertauscht werden sollten.<br />
Gibt es da eine allgemeine Regel, wie man aus drei gegebenen Punkten ableiten kann, ob sie 'im Uhrzeigersinn' gegeben sind oder nicht? (Irgendetwas mit Normalvektoren oder so?).</p>
<p>Vielleicht ist das ja auch gar kein neues Sortierproblem, aber es lässt sich schwer danach googlen, deshalb hätte ich gehofft, dass ich hier ein paar Tipps bekommen könnte? Oder vielleicht kennt jemand eine Webseite, auf der es um dieses spezielle Sortierproblem geht?</p>
<p>Schon vorweg einmal danke für jegliche Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/185654/besonderer-sortieralgorithmus-gesucht</link><generator>RSS for Node</generator><lastBuildDate>Thu, 02 Jul 2026 12:03:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/185654.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 29 Jun 2007 12:55:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Besonderer Sortieralgorithmus gesucht! on Fri, 29 Jun 2007 12:55:51 GMT]]></title><description><![CDATA[<p>Ich habe eine riesige Liste, in der Punkte in einem Raum gespeichert sind:</p>
<pre><code class="language-cpp">struct Punkt{
 float x,y,z;
};

// ...

Punkt VielePunkte[12] = { {1.5f, 2.5f, 3.5f,}, // Erster Punkt
   {2.4f, -0.25f, 0.1f,}, // Zweiter Punkt
   {4.6f, -2.25f, -0.75f,}, // Dritter Punkt
   // usw. ...
   {1.2f, 3.8f, 0.75f,}};
</code></pre>
<p>In dem Array sind also sehr viele Punkte gespeichert.<br />
Jetzt sollen jeweils drei aufeinanderfolgende Punkte als ein Dreieck interpretiert werden.<br />
Also die Punkte [0] bis [2], [3] bis [5], [6] bis [8] usw.<br />
Und innerhalb eines solchen Dreiecks sollen jetzt die Punkte 'im Uhrzeigersinn' angeordnet werden. Das klingt also nach Sortieren.<br />
Von den normalen bekannten Sortieralgorythmen kann aber, wie es scheint, keiner verwendet werden. Es bräuchte ja zumindest eine Definition einer 'kleiner / &lt; ' - Relation, damit solche Sortieralgorythmen funktionieren.<br />
Mir fällt auch leider keine Möglichkeit ein, unter welchen Umständen ein Punkt in einer 3-er Liste derartig zu einem anderen Punkt in Beziehung stehen könnte, damit sie vertauscht werden sollten.<br />
Gibt es da eine allgemeine Regel, wie man aus drei gegebenen Punkten ableiten kann, ob sie 'im Uhrzeigersinn' gegeben sind oder nicht? (Irgendetwas mit Normalvektoren oder so?).</p>
<p>Vielleicht ist das ja auch gar kein neues Sortierproblem, aber es lässt sich schwer danach googlen, deshalb hätte ich gehofft, dass ich hier ein paar Tipps bekommen könnte? Oder vielleicht kennt jemand eine Webseite, auf der es um dieses spezielle Sortierproblem geht?</p>
<p>Schon vorweg einmal danke für jegliche Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314968</guid><dc:creator><![CDATA[Aussortiert]]></dc:creator><pubDate>Fri, 29 Jun 2007 12:55:51 GMT</pubDate></item><item><title><![CDATA[Reply to Besonderer Sortieralgorithmus gesucht! on Fri, 29 Jun 2007 13:25:30 GMT]]></title><description><![CDATA[<p>Für sowas habe ich früher mal das <a href="http://de.wikipedia.org/wiki/Kreuzprodukt" rel="nofollow">Kreuzprodukt</a> verwendet. Geht der Normalenvektor von zwei Punkten in die falsche Richtung, tauschst du Variablen. Wie und welche genau musst du dir aber selber herleiten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314995</guid><dc:creator><![CDATA[Headhunter]]></dc:creator><pubDate>Fri, 29 Jun 2007 13:25:30 GMT</pubDate></item><item><title><![CDATA[Reply to Besonderer Sortieralgorithmus gesucht! on Fri, 29 Jun 2007 14:50:35 GMT]]></title><description><![CDATA[<p>es wäre allerdings besser, wenn du die daten bereits in der korrekten reihenfolge liefern könntest. klingt mir so, als wolltest du die oberflächennormale der dreiecke bestimmen bzw. dafür automatisierte methoden von opengl o.ä. verwenden.</p>
<p>so von aussen draufgeguckt erscheint mir die stelle, an der die punkte erzeugt werden, der bessere ansatzpunkt für &quot;sortierung&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315060</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Fri, 29 Jun 2007 14:50:35 GMT</pubDate></item><item><title><![CDATA[Reply to Besonderer Sortieralgorithmus gesucht! on Fri, 29 Jun 2007 15:53:54 GMT]]></title><description><![CDATA[<p>und dann bist du fertig, schaust von der anderen seite auf die dreiecke, und die arbeit war umsonst, da dann alle ploetzlich gegen den urzeigersinn gehen... ich hoffe mein hint ist hilfreich;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315129</guid><dc:creator><![CDATA[rapso]]></dc:creator><pubDate>Fri, 29 Jun 2007 15:53:54 GMT</pubDate></item><item><title><![CDATA[Reply to Besonderer Sortieralgorithmus gesucht! on Fri, 29 Jun 2007 16:29:19 GMT]]></title><description><![CDATA[<p>wieso umsonst? gehe eigentlich davon aus, dass &quot;aussen&quot; immer &quot;aussen&quot; bleiben soll und nicht abhängig vom viewpoint wechselt ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315171</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Fri, 29 Jun 2007 16:29:19 GMT</pubDate></item></channel></rss>