<?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[Sinus und Cosinus schnell bekommen.]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich brauche für ein Projekt Sinus und Cosinus, jedoch müssen die sehr schnell sein. Heisst: Ich kann math.h vergessen.<br />
Der Vorteil: Das Ergebnis muss nicht so genau sein (3 - 5 Nachkommastellen reichen). Approximieren ist doch auch langsam, oder?</p>
<p>Wie soll ich das nun anstellen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/279951/sinus-und-cosinus-schnell-bekommen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 09:03:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/279951.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Jan 2011 17:16:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sinus und Cosinus schnell bekommen. on Thu, 06 Jan 2011 17:16:20 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich brauche für ein Projekt Sinus und Cosinus, jedoch müssen die sehr schnell sein. Heisst: Ich kann math.h vergessen.<br />
Der Vorteil: Das Ergebnis muss nicht so genau sein (3 - 5 Nachkommastellen reichen). Approximieren ist doch auch langsam, oder?</p>
<p>Wie soll ich das nun anstellen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003275</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Thu, 06 Jan 2011 17:16:20 GMT</pubDate></item><item><title><![CDATA[Reply to Sinus und Cosinus schnell bekommen. on Thu, 06 Jan 2011 17:25:55 GMT]]></title><description><![CDATA[<p>Muss es über feste Werte oder per Laufzeit mit variablen Werten berechnet werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003282</guid><dc:creator><![CDATA[HighLigerBiMBam]]></dc:creator><pubDate>Thu, 06 Jan 2011 17:25:55 GMT</pubDate></item><item><title><![CDATA[Reply to Sinus und Cosinus schnell bekommen. on Thu, 06 Jan 2011 17:26:07 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>Hallo</p>
<p>Ich brauche für ein Projekt Sinus und Cosinus, jedoch müssen die sehr schnell sein. Heisst: Ich kann math.h vergessen.</p>
</blockquote>
<p>Wow, für jemanden der so dringend Geschwindigkeit braucht, dass math.h nicht mehr ausreicht, ist es erstaunlich, dass er sowas fragen muss. Besonders nachdem du schon mal das Netz nach schnellen Sinusalgorithmen durchsucht haben dürftest (hast du doch, oder? <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>
<blockquote>
<p>Der Vorteil: Das Ergebnis muss nicht so genau sein (3 - 5 Nachkommastellen reichen). Approximieren ist doch auch langsam, oder?</p>
</blockquote>
<p>Aber wenn du weniger Stellen genau haben musst, dann kann das durchaus schneller sein als die Funktion in der Standardbibliothek. Du könntest zum Beispiel eine Tabelle mit vorberechneten Werten nehmen und grob linear approximieren. Oder eben einen der vielen approximativen Algorithmen aus dem Netz benutzen.</p>
<p>Das musst du aber wahnsinnig effizient implementieren, wenn du die Standardbibliothek schlagen willst. Möglicherweise wirst du zu Assemblertricks greifen müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003284</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 06 Jan 2011 17:26:07 GMT</pubDate></item><item><title><![CDATA[Reply to Sinus und Cosinus schnell bekommen. on Thu, 06 Jan 2011 17:27:30 GMT]]></title><description><![CDATA[<p>Warum kannst du <code>cmath</code> vergessen? Hast du die Performance wirklich als Schwachstelle gefunden?<br />
Und ansonsten eben approximieren. Wenn die Approximation nicht schneller ist, als das exakte berechnen, dann bringt sie ja wohl nicht viel. <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>
<p>Schau mal hier:<br />
<a href="http://lab.polygonal.de/2007/07/18/fast-and-accurate-sinecosine-approximation/" rel="nofollow">http://lab.polygonal.de/2007/07/18/fast-and-accurate-sinecosine-approximation/</a></p>
<p>Vielleicht hilft dir das was.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003285</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 06 Jan 2011 17:27:30 GMT</pubDate></item><item><title><![CDATA[Reply to Sinus und Cosinus schnell bekommen. on Thu, 06 Jan 2011 17:29:46 GMT]]></title><description><![CDATA[<p>Für sowas verwendet man <a href="http://de.wikipedia.org/wiki/Lookup-Tabelle" rel="nofollow">Lookup-Tabellen</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003288</guid><dc:creator><![CDATA[looky looke]]></dc:creator><pubDate>Thu, 06 Jan 2011 17:29:46 GMT</pubDate></item><item><title><![CDATA[Reply to Sinus und Cosinus schnell bekommen. on Thu, 06 Jan 2011 18:02:15 GMT]]></title><description><![CDATA[<p>wenns auf Speicher nicht ankommt, bau dir am Programmstart ne LUT (lookuptable). Weiss ja nicht wie genau es werden soll, aber wenn du dir für den Wertebereich [0...90.0] die Werte einmal berechnest kannst du den Rest über Symetrie lösen: <a href="http://upload.wikimedia.org/wikipedia/commons/7/71/Sine_cosine_one_period.svg" rel="nofollow">http://upload.wikimedia.org/wikipedia/commons/7/71/Sine_cosine_one_period.svg</a></p>
<p>Andererseits glaube ich nicht wirklich das die Mathefunktionen ein bottleneck darstellen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003302</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Thu, 06 Jan 2011 18:02:15 GMT</pubDate></item><item><title><![CDATA[Reply to Sinus und Cosinus schnell bekommen. on Thu, 06 Jan 2011 18:16:57 GMT]]></title><description><![CDATA[<p>padreigh schrieb:</p>
<blockquote>
<p>bau dir am Programmstart ne LUT (lookuptable).</p>
</blockquote>
<p>Eigentlich generiert man über ein Script eine Datei, die die Werte readonly als Array hält.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003306</guid><dc:creator><![CDATA[looky looke]]></dc:creator><pubDate>Thu, 06 Jan 2011 18:16:57 GMT</pubDate></item><item><title><![CDATA[Reply to Sinus und Cosinus schnell bekommen. on Thu, 06 Jan 2011 18:22:15 GMT]]></title><description><![CDATA[<p>Geht es darum von irgendwelchen Werten immer wieder Sinus/Cosinus zu bestimmen, oder geht es darum eine kontinuierliche Sinus/Cosinusschwingung zu generieren? Für letzteres gibt es sicher schnelles.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003308</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 06 Jan 2011 18:22:15 GMT</pubDate></item><item><title><![CDATA[Reply to Sinus und Cosinus schnell bekommen. on Thu, 06 Jan 2011 18:38:19 GMT]]></title><description><![CDATA[<p>Tim schrieb:</p>
<blockquote>
<p>Geht es darum von irgendwelchen Werten immer wieder Sinus/Cosinus zu bestimmen, oder geht es darum eine kontinuierliche Sinus/Cosinusschwingung zu generieren? Für letzteres gibt es sicher schnelles.</p>
</blockquote>
<p>Ich habe willkürliche Werte und nicht eine schöne Welle.</p>
<p>Ich hab mir mal den Link von drakon angeschaut und eine Funktion davon gemacht. Auch eine Funktion habe ich von der Approximations-Methode und der LookUpTable-Methode gemacht(LUT ist auf dem Heap).</p>
<p>Gemessen(mehrere Durchläufe), verglichen und das knapp schnellste ist die LUT-Methode. Und für meine Bedürfnisse ist sie wohl das besste.</p>
<p>Vielen Dank für die tollen Vorschläge.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003316</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003316</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Thu, 06 Jan 2011 18:38:19 GMT</pubDate></item><item><title><![CDATA[Reply to Sinus und Cosinus schnell bekommen. on Thu, 06 Jan 2011 19:08:09 GMT]]></title><description><![CDATA[<p>Falls mehrere sin/cos-Werte a la sin(ax+b), cos(ax+b) für versch. Ganzzahlen x berechnet werden sollen, kann man das <a href="http://pizer.wordpress.com/2010/02/08/fast-digital-sine-oscillator/" rel="nofollow">auch noch beschleunigen</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003325</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Thu, 06 Jan 2011 19:08:09 GMT</pubDate></item><item><title><![CDATA[Reply to Sinus und Cosinus schnell bekommen. on Thu, 06 Jan 2011 20:32:56 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>Gemessen(mehrere Durchläufe), verglichen und das knapp schnellste ist die LUT-Methode.</p>
</blockquote>
<p>Postest du deinen code?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2003342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2003342</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Thu, 06 Jan 2011 20:32:56 GMT</pubDate></item></channel></rss>