Bisher haben wir die p5-shape Functions benutzt, wie z.B. hier, diese einfache "rect" Funktion,
um ein Rechteck zu zeichnen. Wenn wir aber komplexere Shapes zeichnen wollen,
müssen wir über diese Funktionen hinaus gehen. Hierzu ganz kurz als Kontext: Alle oder fast
alle Objekte die wir aufbauen, sind immer so konstruiert, dass wir Punkte haben, die Punkte
werden durch Linien verbunden und daraus können wir dann Polygone konstruieren. Darüber hinaus
könnte man jetzt noch eine Dimension weitergehen, dass man sozusagen im Dreidimensionalen daraus
dann noch dreidimensionale Körper aus den verschiedenen Polygonen formen kann.
Wir bleiben aber jetzt gerade mal hier im zweidimensionalen. Wenn wir uns zum Beispiel
hier unser Rechteck anschauen und wir überlegen jetzt wie wird das eigentlich zusammen gesetzt?
Versuche ich erst mal sozusagen die Punktebenw hier abzugreifen.
Werde einfach ein paar Punkte setzen. Wir haben sozusagen einmal die Ecke oben links.
dann sozusagen vier weitere Punkte, woraus dann sozusagen unser Polygon,
in diesem fall das Rechteck zusammengesetzt wird. Also von 100/100 geben wir dann nach 300/100,
300/300, 100/300 und haben dann die vier Ecken unseres Rechtecks. Und dazwischen müssen wir
jetzt noch Linien zeichnen. Und dann hätten wir unser eigenes Rechteck. Und dafür gibt
es eine spezielle Schreibweise und Funktionen in p5js. Wenn wir eine neue Shape zeichnen wollen,
müssen wir als erstes dem System sagen: Wir möchten jetzt anfangen eine Shape zu
zeichnen "beginShape" und dann gibt es die "vertex" Funktion. Und die "vertex"
Funktionen sind jetzt eigentlich genau diese Punkte die wir hier oben gezeichnet haben.
Wir können die jetzt natürlich einfach mal runter kopieren und benennen einfach point in "vertex"um.
Und wenn wir dann fertig sind, alle unsere punkte definiert haben, sagen wird dem System:
Wir sind fertig, als "endShape". Und wenn ich das jetzt speicher und das Rechteck auskommentiere,
sehen wir, dass wir jetzt sozusagen genau diese vier Ecken abgegangen sind,
aber sozusagen der letzte Schritt, dass es wirklich ein geschlossenes Polygon ist,
in dem Fall, jetzt nicht gemacht worden. Was wir hier machen können ist entweder das
manuell zu machen, indem wir einfach die erste Koordinate nochmal schreiben. Dann
wird sozusagen der Schritt hochgegangen. Oder wir können alternativ in das endShape command
"CLOSE" reinschreiben. Das führt dann dazu, dass genau das sozusagen automatisch für uns
gemacht wird. Genau mit dieser "vertex" Funktion können wir jetzt jede beliebige Shape kreieren,
indem wir einfach die Koordinaten angeben. Wir können diese dann natürlich auch wie wir das
mit unseren normalen Shapes auch kennen, das ganze zum Beispiel füllen und haben dann jetzt
hier sozusagen ein eigenes Polygon erstellt, mit dem wir jetzt weiter arbeiten können. Natürlich
können wir nicht nur gerade Linien zeichnen, sondern wir können auch Kurven zeichnen. Die
sind allerdings etwas komplexer und dazu erzähle ich euch in den nächsten Videos noch mehr.