Die frage mag einfach erscheinen aber bisher war im web keine anleitung dazu auffindbar. Nur der Hinweis
Math.sin()
Welche parameter kommen da rein, wie wird das angewndet oder wie gehts einfacher? Ich habe spezielle 'gradangaben' anzubieten mit 511 grad pro kreis. die sollen vorher umgerechnet werden.
Btw, danke nochmal für alle bisherige unterstützung.
Also ein Punkt auf einem Kreis kann mit Sinus und Cosinus angeben:
Code:
double r = 1; // Der Radius des Kreises
double t = Math.PI / 2.0; // Ein Parameter zwischen 0 und 2*PI
double x = r * Math.sin( t );
double y = r * Math.cos( t );
// (x, y) liegt auf einem Kreis mit Mittelpunkt (0,0) und Radius 1
Deine 511 musst du halt umrechnen ( double t = wertDeinerKomischenEinheit / 511 * 2 * Math.PI; )
sin
public static double sin(double a)Returns the trigonometric sine of an angle. Special cases:
If the argument is NaN or an infinity, then the result is NaN.
If the argument is zero, then the result is a zero with the same sign as the argument.
A result must be within 1 ulp of the correctly rounded result. Results must be semi-monotonic.
Parameters:
a - an angle, in radians.
Returns:
the sine of the argument.
sin und cos sind Klassenmethoden von java.lang.Math. Und darum kannst du das Math nicht weglassen (es sei denn, du schreibts einen eigenen Sinus / Cosinus)
Also: bei einem Sinus oder Cosinus kannst du eine beliebige Zahl eintragen (von -unendlich bis +unendlich)
Damit ein Kreis vollständig ist, müssen erster und letzter Punkt fast identisch sein (in Grad, von 0 bis und mit 359.999_).
Also muss dein Wert zwischen 0 und 511 sein. (einfach mal ausprobieren :wink: )
NaN = Not a Number. Das ist ein spezieller Wert, der eigentlich für Fehlermeldungen gedacht war. z.B. gibt Math.log( -2 ); NaN zurück, weil Argumente positiv sein müssen (sofern keine komplexe Zahlen verwendet werden, nur der Vollständigkeit halber).
Wie kann ich aus einer ganzen Zahl, die 1 bis 511 sein kann, eine 0 bis 510,9999 zaubern? Da fehlt doch ein Stück! Meine Zahlen können demnach nur auf genauen 'grad'-linien liegen, und zwar 0, 1, 2, 3, 4 ... 509, 510. Bei 1 bis 511 wäre das ganze (g)rad um ein komisches 'grad' gedreht, korrekt? Wenn sonst kein direkter Nutzen in der Zählung von 1 bis 511 liegt, verwende ich 0 bis <511 an den zeitkritischen stellen. Das erübrigt ein -1 in der rechnung.