Hi,
wie hier bereits beschrieben, existiert für die Berechnung einer Folge von Werten und dessen Sinus/Cosinus ein mathematischer "Trick". Dabei wird lediglich für den Startwert der Sinus/Cosinus ermittelt und dann benötigt man zur Ermittlung der folgenden Werte lediglich Additionen und Multiplikationen.
Als "Goodie" ist die DEG-Berechnung statt RAD bereits enthalten!
Ggf. gibt es ja mittlerweile das Pendant zu PMADDWD (Multiply and Add Packed Integers) für Floats/Double bei den SSE-Befehlen^^. Damit wäre imho das geschwindigkeitsmäßige Optimum erreicht ohne jegliche Interpolation...
Du kannst ja mal schauen, inwieweit du das integrieren kannst/willst!
AutoIt
$pi = ATan(1) * 4
$start = $pi / 180 ;erster Wert (hier gleichzeitig das Intervall)
$a = Cos($start) ;berechnen
$b = Sin($start) ;berechnen
$sin = 0 ;startwerte vorgegeben
$cos = 1 ;startwerte vorgegeben
For $y = $start To $pi Step $start ;das Intervall ist hier der startwert -> bei Bedarf anpassen)
$ns = $b * $cos + $a * $sin;MUL + ADD
$nc = $a * $cos - $b * $sin;MUL + ADD
$cos = $nc ;das Ergebnis
$sin = $ns ;;das Ergebnis ;ein evtl. benötigter Tangens reduziert sich auf ein simples DIV
ConsoleWrite('y=' & $y / $start & @TAB & " " & ' $sin = ' & $sin & @TAB & " Fehler: " & $sin - Sin($y) & @CRLF) ;### Debug Console
Next
Alles anzeigen