Creare una linea d'onda sinusoidale con Processing
-
25-09-2019 - |
Domanda
primo post qui, e probabilmente un compito facile.
Ho il codice dal sito di riferimento di elaborazione:
float a = 0.0;
float inc = TWO_PI/25.0;
for(int i=0; i<100; i=i+4) {
line(i, 50, i, 50+sin(a)*40.0);
a = a + inc;
}
http://processing.org/reference/sin_.html
Tuttavia, ciò che serve è una linea che segue la curva di un'onda Sin, non linee che rappresentano punti lungo la curva e termina in corrispondenza dell'asse 0. Quindi, in pratica ho bisogno di disegnare una forma a "S" con un equazione d'onda peccato.
Qualcuno mi può correre attraverso il modo di fare questo?
Grazie in anticipo, -Askee
Soluzione
Per disegnare una curva è necessario memorizzare la posizione del punto precedente.
float a = 0.0;
float inc = TWO_PI/25.0;
float prev_x = 0, prev_y = 50, x, y;
for(int i=0; i<100; i=i+4) {
x = i;
y = 50 + sin(a) * 40.0;
line(prev_x, prev_y, x, y);
prev_x = x;
prev_y = y;
a = a + inc;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow