2 Stimmen

Erstellen einer Sinuswellenlinie mit Processing

Das ist mein erster Beitrag hier, und wahrscheinlich ein einfacher.

Ich habe den Code von der Referenzseite von Processing:

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

Was ich jedoch brauche, ist eine Linie, die der Kurve einer Sinuswelle folgt, und nicht Linien, die Punkte entlang der Kurve darstellen und auf der 0-Achse enden. Im Grunde muss ich also eine "S"-Form mit einer Sinuswellengleichung zeichnen.

Kann mir jemand erklären, wie man das macht?

Ich danke Ihnen im Voraus, -Askee

9voto

kennytm Punkte 488916

Um eine Kurve zu zeichnen, müssen Sie die Position des vorherigen Punktes speichern.

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;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X