Parabel in Koordinatensystem programmieren?

1 Antwort

Wenn du jeden Punkt einzeln setzen möchtest, wäre eine Schleife praktisch, das ist richtig. Diese Schleife müsste die Werte für die x-Achse durchlaufen (also im Negativbereich starten und im Positivbereich aufhören) und innerhalb der Schleife wird der y-Wert anhand der Formel x² berechnet.

Um es dir einfacher zu machen, kannst du für den Zeichenvorgang den Koordinatenursprung temporär verschieben:

size(400, 400);

pushMatrix();
translate(width / 2f, height / 2f);

// draw ...

popMatrix();

Zusätzlich bräuchtest du trotzdem noch eine Umrechnung deiner Koordinate auf das tatsächliche Koordinatensystems des Programms. Das heißt, du müsstest ermitteln, in welchem Verhältnis bspw. der x-Wert 3 (dein maximaler x-Radius) zum tatsächlichen Feldradius 200 steht.



Dasselbe benötigst du natürlich ebenso für y.

Alle Punkte kannst du direkt miteinander verbinden, indem du eine Shape startest.

Beispiel:

beginShape();

fill(#ffffff, 0);
curveVertex(1, 2);
curveVertex(2, 4);

endShape();

Jeder Vertex stellt einen Punkt dar. Alle Vertices werden automatisch miteinander verbunden. Da es sich um Kurvenpunkte handelt, geht das Programm davon aus, dass die Vertices eine Kurve bilden sollen.

PS.: Die Achsen deines Koordinatensystems lassen sich viel einfacher zeichnen.

Beispiel für die horizontale Achse:

line(0, height / 2f, width, height / 2f);