# sinus cosinus? mit java?



## Dilandau (18. Mrz 2004)

Ein Punkt auf einem Kreis soll markiert werden.

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.


----------



## Beni (18. Mrz 2004)

Also ein Punkt auf einem Kreis kann mit Sinus und Cosinus angeben:
	
	
	
	





```
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; )

Gruss Beni


----------



## Dilandau (18. Mrz 2004)

viel herzlichen dank. ^^'

ach wie gut, daß in dieser welt genies ausser mir sind!


----------



## Math55 (18. Mrz 2004)

jo, hier nochmal der eintrag aus der api:

_
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.

_
gruß math55


----------



## Dilandau (18. Mrz 2004)

pa-waht? Is an ulp? A ban? Nan? Darf Math. weggelassen werden? Nur sin(..) oder cos(..) schreiben?


----------



## Dilandau (18. Mrz 2004)

Muss "wertMeinerKomischenEinheit" bei 511 graden pro kreis ein wert von 0 bis 510 oder ein wert von 1 bis 511 sein? Warum?


----------



## Beni (19. Mrz 2004)

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).

mfg Beni


----------



## Dilandau (19. Mrz 2004)

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.


----------



## Beni (19. Mrz 2004)

Ach so, du rechnest mit ganzen Zahlen.  :idea: dann hast du natürlich recht.


----------

