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

È stato utile?

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
scroll top