<?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[Points rotieren]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich habe hier ein kleines Problem bei dem ich nicht so ganz weiter komme.<br />
Ich habe ein 2D-Achsensystem auf dem ein paar Messpunkte in Form einer<br />
Kurve liegen. Jetzt möchte ich hier das interpolierte Maximum bestimmen. Dazu muss ich aber die Punkte zuvor um einen bestimmten Winkel rotieren.<br />
Hat da jemand von euch schon etwas Erfahrung damit?<br />
Find bei google nichts das für meinen Fall passen würde.</p>
<p>Vielen Dank schonmal im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/194670/points-rotieren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 16:37:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/194670.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 09 Oct 2007 15:51:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Points rotieren on Tue, 09 Oct 2007 15:51:14 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>Ich habe hier ein kleines Problem bei dem ich nicht so ganz weiter komme.<br />
Ich habe ein 2D-Achsensystem auf dem ein paar Messpunkte in Form einer<br />
Kurve liegen. Jetzt möchte ich hier das interpolierte Maximum bestimmen. Dazu muss ich aber die Punkte zuvor um einen bestimmten Winkel rotieren.<br />
Hat da jemand von euch schon etwas Erfahrung damit?<br />
Find bei google nichts das für meinen Fall passen würde.</p>
<p>Vielen Dank schonmal im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381446</guid><dc:creator><![CDATA[Gast12345]]></dc:creator><pubDate>Tue, 09 Oct 2007 15:51:14 GMT</pubDate></item><item><title><![CDATA[Reply to Points rotieren on Tue, 09 Oct 2007 15:58:10 GMT]]></title><description><![CDATA[<p><a href="https://www.google.de/search?&amp;q=rotation%202d%20punkt" rel="nofollow">Google: rotation 2d punkt</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381451</guid><dc:creator><![CDATA[google test]]></dc:creator><pubDate>Tue, 09 Oct 2007 15:58:10 GMT</pubDate></item><item><title><![CDATA[Reply to Points rotieren on Wed, 10 Oct 2007 05:46:21 GMT]]></title><description><![CDATA[<p>Das gilt aber so wie ich das sehe alles nur für eine punnktemenge die auf EINER Kreisbahn liegen. Bei mir sind das aber Punkte die nicht auf einer Kreisbahn liegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381680</guid><dc:creator><![CDATA[Gast12345]]></dc:creator><pubDate>Wed, 10 Oct 2007 05:46:21 GMT</pubDate></item><item><title><![CDATA[Reply to Points rotieren on Wed, 10 Oct 2007 05:50:27 GMT]]></title><description><![CDATA[<p>Wenn du einen Punkt &quot;rotierst&quot;, bewegt er sich auf einer Kreisbahn um die Rotationsachse <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="😉"
    /> Aber eventuell erklärst du mal genauer, welche Beziehung zwischen der gegebenen Kurve und der Punktbewegung - und deinem Endziel - besteht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381683</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 10 Oct 2007 05:50:27 GMT</pubDate></item><item><title><![CDATA[Reply to Points rotieren on Wed, 10 Oct 2007 05:54:04 GMT]]></title><description><![CDATA[<p>kann nicht so recht nachvollziehen, wozu du da eine rotation benötigst. interpolationsintervalle sind doch stetige funktionen, da kommst mit &quot;simpler&quot; analysis zum ziel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381684</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Wed, 10 Oct 2007 05:54:04 GMT</pubDate></item><item><title><![CDATA[Reply to Points rotieren on Wed, 10 Oct 2007 05:56:27 GMT]]></title><description><![CDATA[<p>Also das Problem ist Folgendes.</p>
<p>Stell dir einfach mal den Graphen einer nach unten geöffneten Kurve vor.<br />
Jetzt dreh das ganze einfach um ein paar Grad nach rechts oder links.<br />
Jetzt steht der Hochpunkt der Kurve ja schief und ich kann ihn nicht berechnen.<br />
Das ist in Prinzip das was ich habe. Ich hab ein paar Messpunkte und möchte da das Maximum bestimmen, muss dafür die Punkte aber erst verdrehen damit ich das Maximum bestimmen kann.<br />
Ist recht schwer zu erklären.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381687</guid><dc:creator><![CDATA[Gast12345]]></dc:creator><pubDate>Wed, 10 Oct 2007 05:56:27 GMT</pubDate></item><item><title><![CDATA[Reply to Points rotieren on Wed, 10 Oct 2007 06:02:35 GMT]]></title><description><![CDATA[<p>und schwer nachzuvollziehen ^^ klingt so, als lägen deine messwerte in &quot;falschen&quot; koordinaten vor und du wolltest sie deshalb in ein anderes koordinatensystem rotieren. dafür ist die schon genannte rotation geeignet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381693</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Wed, 10 Oct 2007 06:02:35 GMT</pubDate></item><item><title><![CDATA[Reply to Points rotieren on Wed, 10 Oct 2007 06:03:33 GMT]]></title><description><![CDATA[<p>Na dann drehe sie doch - das ist eine ganz normale 2D Rotation (dir sollte nur klar sein, daß deine Kurve dabei auch ihre Lage ändern wird - d.h. die rotierten Punkte liegen größtenteils nicht auf der Originalkurve, sondern auf einer rotierten Kurve).</p>
<p>PS: Von was für Messpunkten reden wir hier eigentlich? Und woher kommt dabei die Verdrehung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381694</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 10 Oct 2007 06:03:33 GMT</pubDate></item><item><title><![CDATA[Reply to Points rotieren on Wed, 10 Oct 2007 06:34:30 GMT]]></title><description><![CDATA[<p>Weiß auch nicht so recht um welche Messgrößen es sich handelt. Spielt aber auch für mich keine Rolle. Das ist schwer zu erklären. Ich denke, ich werd das wohl allein lösen müssen. Danke erstmal für die Mühe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381713</guid><dc:creator><![CDATA[Gast12345]]></dc:creator><pubDate>Wed, 10 Oct 2007 06:34:30 GMT</pubDate></item><item><title><![CDATA[Reply to Points rotieren on Wed, 10 Oct 2007 06:35:13 GMT]]></title><description><![CDATA[<p>Gast12345 schrieb:</p>
<blockquote>
<p>Weiß auch nicht so recht um welche Messgrößen es sich handelt. Spielt aber auch für mich keine Rolle.</p>
</blockquote>
<p>Wenn noch nicht einmal du weißt, was da gemessen werden soll, woher sollen wir es dann wissen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381714</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 10 Oct 2007 06:35:13 GMT</pubDate></item><item><title><![CDATA[Reply to Points rotieren on Wed, 10 Oct 2007 08:23:26 GMT]]></title><description><![CDATA[<p>Eine andere Möglichkeit wäre, über die Analysis zu gehn:<br />
Das Maximum deiner Kurve liegt da, wo ihre Ableitung 0 ist. Wenn die Kurve um einen bestimmten Winkel rotiert ist, bedeutet dass, dass die Ableitung an der Stelle des wirklichen Maximums nichtmehr 0 ist sondern der Steigung einer Geraden entspricht, die ebenfalls um diesen Winkel rotiert ist. Wenn deine Kurve um den Winkel φ im Uhrzeigersinn rotiert wurde bedeutet das, dass die Ableitung a an der Stelle des echten Maximums dann den Wert <span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>a</mi><mo>=</mo><mo>−</mo><mi>tan</mi><mi>φ</mi></mrow><annotation encoding="application/x-tex">a = -\tan\varphi</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="strut" style="height:0.61508em;"></span><span class="strut bottom" style="height:0.80952em;vertical-align:-0.19444em;"></span><span class="base textstyle uncramped"><span class="mord mathit">a</span><span class="mrel">=</span><span class="mord">−</span><span class="mop">tan</span><span class="mord mathit">φ</span></span></span></span> haben muss. Da es sich bei dir wahrscheinlich um diskrete Punkte handelt müsstest du also deine Punkte einzeln durchgehn und mit dem jeweils nächsten den Differenzenquotienten zu bilden als Ableitung. Da wo dieser Differenzenquotient zwischen einem Wert kleiner als a und einem Wert größer als a wechselt, liegt dein gesuchtes echtes Maximum. Ich versuch gleich mal ne Zeichnung zusammenzufrickeln.</p>
<p>edit:<br />
<a href="http://www.derpumu.de/jpg/Maximumgekippt.jpg" rel="nofollow">http://www.derpumu.de/jpg/Maximumgekippt.jpg</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381721</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 10 Oct 2007 08:23:26 GMT</pubDate></item><item><title><![CDATA[Reply to Points rotieren on Wed, 10 Oct 2007 08:09:17 GMT]]></title><description><![CDATA[<p>Ah das ist eine sehr gute Idee.<br />
Vielen Dank für die Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381771</guid><dc:creator><![CDATA[Gast12345]]></dc:creator><pubDate>Wed, 10 Oct 2007 08:09:17 GMT</pubDate></item><item><title><![CDATA[Reply to Points rotieren on Wed, 10 Oct 2007 21:24:38 GMT]]></title><description><![CDATA[<p>Der Vorschlag von pumuckl ist gut. Eine weitere Möglichkeit besteht darin, die Punkte als Zahlen in der Komplexen Zahlenebene aufzufassen und die Rotation als Multiplikation mit einer weiteren komplexen Zahl. Vorteil ist, dass C++ bereits alles dazu notwendige bereithält.</p>
<p>Das sähe etwa so aus:</p>
<pre><code class="language-cpp">#include &lt;algorithm&gt;    // max_element
#include &lt;complex&gt;      // complex
#include &lt;iostream&gt;     // cout, endl
#include &lt;vector&gt;       // vector

struct KleinerInRichtung
{   
    KleinerInRichtung( const std::complex&lt; double &gt;&amp; n ) : m_cn( conj( n ) ) {} // neg. Drehung -&gt; conj
    bool operator()( const std::complex&lt; double &gt;&amp; a,  const std::complex&lt; double &gt;&amp; b ) const
    {
        // nach Rotation um m_cn Realteile vergleichen
        return real( a * m_cn ) &lt; real( b * m_cn );
    }
private:
    std::complex&lt; double &gt; m_cn;
};

int main()
{
    using namespace std;
    vector&lt; complex&lt; double &gt; &gt; messungen;
    for( double x = -1.0; x &lt; 5.0; x += 0.25 ) // Messwerte füllen
        messungen.push_back( complex&lt; double &gt;( x, x*(4 - x) + 5 ) ); // Parabel -x^2+4x+5

    vector&lt; complex&lt; double &gt; &gt;::iterator i = max_element( messungen.begin(), messungen.end(),
        KleinerInRichtung( complex&lt; double &gt;( 1, 2 ) ) );
    cout &lt;&lt; &quot;Der &quot; &lt;&lt; distance( messungen.begin(), i ) &lt;&lt; &quot;.Punkt &quot; &lt;&lt; *i &lt;&lt; &quot; ist das gesuchte Maximum&quot; &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Der Vektor (1,2) gibt hier die Richtung an, in der das Maximum gesucht wird. Dies entspricht der grauen Linie in pumuckls Skizze.<br />
Das Ergebnis ist</p>
<pre><code>Der 13.Punkt (2.25,8.9375) ist das gesuchte Maximum
</code></pre>
<p>dies entspricht dem Punkt der Parabel, der die Steigung -0.5 hat (blaue Tangente in pumuckls Skizze)</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1382432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1382432</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 10 Oct 2007 21:24:38 GMT</pubDate></item></channel></rss>