Processing: pushMatrix und popMatrix?
Guten Abend miteinanander,
Ich würde gerne ein regelmässiges 10-Eck mit Processing möglichst einfach zeichnen. Auf der Suche nach einer Anleitung bin ich auf die oben genannte Funktion gestossen.
Kann mir die jemand erklären? Alle Seiten zu dem Thema sind eben auf Englisch. Und könnte man mir auch noch einen Ansatz zeigen wie man so ein regelmässiges n-Eck zeichnen könnte?
Danke im Voraus
Mit freundlichen Grüssen
1 Antwort
Es gibt ein Stack-Aggregat, welches Matrizen speichert. Mit pushMatrix wird eine neue Matrix (bzw. das aktuelle Koordinatensystem) im Stack gespeichert und mit popMatrix die zuletzt gespeicherte Matrix wieder aus dem Stack geholt.
Wenn du dir das Beispiel aus der Dokumentation anschaust (https://www.processing.org/reference/pushMatrix_.html) merkst du, dass die Verschiebung des schwarzen Vierecks durch die Verschiebung der Matrix (bzw. des Koordinatenursprungs) entsteht. Für das graue Rechteck wird das anfangs gespeicherte Koordinatensystem wieder aus dem Stack geholt und genutzt.
Orientiere dich für dein Vorhaben an diesem Beispiel: https://processing.org/examples/regularpolygon.html
Die Zeichenfläche nutzt ein Koordinatensystem für sich, das stimmt. Doch mithilfe der Möglichkeit, diesen Koordinatenursprung beliebig zu verschieben, eröffnen sich für bestimmte Probleme vielleicht auch einfachere Lösungswege.
Ich vertehe nicht ganz wieso ein Koordinatensystem nötig ist.
Die Arbeitsfläche von Processing ist ja schon selber ein Koordinatensystem.