Devi solo tenere presente alcune cose, cioè che l'argomento di sin() è un valore in radianti e che restituisce un valore compreso tra -1 e +1, ovviamente.Originariamente inviato da battax
ma quando vado a sostituire una delle tre formule a quella di questo codice mi ritrovo o con una linea piatta, oppure con tante forme d'onda proporzionali in numero alla costante che devo moltiplicare (quest'ultimo caso se mantengo il /w)!
Quindi il risultato di sin() lo devi moltiplicare per qualcosa per poter avere una ampiezza tale che la sinusoide sia ben visualizzabile e i radianti li devi calcolare in modo opportuno per fare in modo che la sinusoide si espanda in modo altrettanto utile.
Nel mio esempio avevo scritto:
Math.sin (x/200.0 * 2*Math.PI)
dove 'x' era la coordinata x, in pixel, sul componente. Vuol dire in pratica che ogni 200 pixel in orizzontale si forma una sinusoide completa (da 0 a 360 gradi).