Lernpfad:Einführung in Processing/5: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{NNavigation}}
{{NNameAnzeigen}}{{NNavigation}}
 
{{Tldr:Start|Was du in diesem Schritt lernst|Icon=Icon Chalk board.png}}
* Verschiedene Formen zeichnen.
* Definition von ''Farben'' (RGB-Farben, Graustufen).
* Text ausgeben und zeichnen.
{{Tldr:End}}


== Grundformen ==
== Grundformen ==
Zeile 5: Zeile 11:
Neben Rechtecken mit {{Processing Ref|rect()}} und Linien mit {{Processing Ref|line()}} können noch eine Reihe weiterer Grundformen gezeichnet werden:
Neben Rechtecken mit {{Processing Ref|rect()}} und Linien mit {{Processing Ref|line()}} können noch eine Reihe weiterer Grundformen gezeichnet werden:


<center>{{Processing Ref|square()}}, {{Processing Ref|quad()}}, {{Processing Ref|triangle()}}, {{Processing Ref|circle()}}, {{Processing Ref|ellipse()}}, {{Processing Ref|arc()}}</center>
{{Rahmen|
<center>{{Processing Ref|square()}}, {{Processing Ref|quad()}}, {{Processing Ref|triangle()}}, {{Processing Ref|circle()}}, {{Processing Ref|ellipse()}}, {{Processing Ref|arc()}}</center>}}


{{Aufgabe:Start|Icon=Processing_2021_logo.svg}}
{{Aufgabe:Start|Icon=Processing_2021_logo.svg}}
Zeile 20: Zeile 27:
#: [[Bild:Processing_Gesicht.png]]
#: [[Bild:Processing_Gesicht.png]]
{{Aufgabe:End}}
{{Aufgabe:End}}
{{Lösung:Start|Hinweise zu Aufgabe 1}}
Notiere dir am besten Stichpunkte zu den Befehlen in deiner Mappe, damit du sie dir beim Programmieren neben die Tastatur legen kannst.
; <code>rect(x, y, breite, höhe)</code>
: Zeichnet ein Rechteck an der Position <code>x, y</code> mit der angegebenen Breite und Höhe.
; <code>square(x, y, kantenlänge)</code>
: Zeichnet ein Quadrat an der Position <code>x, y</code> mit der angegebenen Kantenlänge.
; <code>quad(x1, y1, x2, y2, x3, y3, x4, y4)</code>
: Zeichnet ein Viereck mit den angegebenen Eckpunkten <code>x1, y1</code> bis <code>x4, y4</code>.
; <code>triangle(x1, y1, x2, y2, x3, y3)</code>
: Zeichnet ein Dreieck mit den angegebenen Eckpunkten <code>x1, y1</code> bis <code>x3, y3</code>.
; <code>circle(x, y, durchmesser)</code>
: Zeichnet einen Kreis mit <code>x, y</code> als Mittelpunkt und dem angegebenen Durchmesser.
; <code>ellipse(x, y, breite, höhe)</code>
; Zeichnet eine Ellipse mit dem Mittelpunkt <code>x, y</code> und der angegebenen Breite und Höhe.
; <code>arc(x, y, breite, höhe, start, stop)</code>
: Zeichnet einen Kreisbogen um den Mittelpunkt <code>x, y</code> und der angegebenen Breite und Höhe, angefangen beim Winkel <code>start</code> bis zum Winkel <code>stop</code>. Die Winkel werden in Radian angegeben, können aber einfach mit <code>radians(winkel)</code> aus einem berechnet werden.
: Dies ist der komplizierteste Befehl. Du musst ihn nicht vollständig verstehen. Durch Ausprobieren kannst du eine Idee bekommen, wie er funktioniert.
{{Lösung:End}}
{{Lösung:Start|Lösung Aufgabe 2}}
{{Lösung:Start|Lösung Aufgabe 2}}
<syntaxhighlight lang="java" line="1">
<syntaxhighlight lang="java" line="1">
Zeile 41: Zeile 67:
== Farben ==
== Farben ==


{{Processing}} bietet verschiedene Möglichkeiten, mit Farben zu zeichnen. Dazu werden bei einem Zeichenobjekt zwei Bereiche unterschieden: Die ''Kontur'' und die ''Füllung''. Beide Bereiche können unterschiedlich eingefärbt werden. Neben der Farbe kann für die Kontur auch noch eine ''Dicke'' eingestellt werden.
{{Processing}} bietet verschiedene Möglichkeiten, mit Farben zu zeichnen. Dazu werden bei einem Zeichenobjekt zwei Bereiche unterschieden: die ''Kontur'' und die ''Füllung''. Beide Bereiche können unterschiedlich eingefärbt werden. Neben der Farbe kann für die Kontur auch noch eine ''Dicke'' eingestellt werden.


Außerdem kann auch der Hintergrund der Zeichenfläche individuell eingestellt werden.
Außerdem kann auch der Hintergrund der Zeichenfläche individuell eingestellt werden.


Das folgende Programm demonstriert die notwendigen Befehle:
Das folgende Programm demonstriert die notwendigen Befehle:
<syntaxhighlight lang="java" line="1">
<syntaxhighlight lang="Java" line="1">
size(400, 400);
size(400, 400);
size(400, 400);
background(74, 109, 136);
background(74, 109, 136);
Zeile 77: Zeile 102:
# Schau dir das Programm zunächst an, ohne es in Processing auszuprobieren. Stelle Vermutungen auf, wofür die einzelnen Befehle gut sind. Welche Ausgabe erwartest du?
# Schau dir das Programm zunächst an, ohne es in Processing auszuprobieren. Stelle Vermutungen auf, wofür die einzelnen Befehle gut sind. Welche Ausgabe erwartest du?
# Übernimm das Programm in Processing und führe es aus. Entspricht das Bild deiner Erwartung? Wo ergeben sich unterschiede?
# Übernimm das Programm in Processing und führe es aus. Entspricht das Bild deiner Erwartung? Wo ergeben sich unterschiede?
# Die Befehle {{Processing Ref|fill()}} und {{Processing Ref|stroke()}} haben im Programm entweder einen oder drei Zahlen als Eingabe. Diese Zahlen legen die Farbe fest, mit der gezeichnet wird. Welchen unterschied macht es, ob ein oder drei Eingaben angegeben werden?
# Die Befehle {{Processing Ref|fill()}} und {{Processing Ref|stroke()}} haben im Programm entweder einen oder drei Zahlen als Eingabe. Diese Zahlen legen die Farbe fest, mit der gezeichnet wird. Welchen Unterschied macht es, ob ein oder drei Eingaben angegeben werden?
# Informiere dich unter dem Link über das [https://lehrerfortbildung-bw.de/st_digital/medienkompetenz/gestaltung-farbe/systeme/pc/rgb/ RGB-Farbsystem]. Erkläre, was die drei Eingaben bedeuten.
# Informiere dich unter dem Link über das [https://lehrerfortbildung-bw.de/st_digital/medienkompetenz/gestaltung-farbe/systeme/pc/rgb/ RGB-Farbsystem]. Erkläre, was die drei Eingaben bedeuten.
{{Aufgabe:End}}
{{Aufgabe:End}}


Um dir die drei Eingabezahlen für eine bestimmte Farbe zu ermitteln, kannst du eine dieser Seiten benutzen:
Um dir die drei Eingabezahlen für eine bestimmte Farbe zu ermitteln, kannst du eine dieser Seiten benutzen:
* [https://www.farb-tabelle.de/de/farbtabelle.htm Farbtabelle mit RGC-Codes]
* [https://www.farb-tabelle.de/de/farbtabelle.htm Farbtabelle mit RGB-Codes]
* [https://informatik.schule.de/rgb/RGB_farbmischer.html RGB-Farbmischer]
* [https://informatik.schule.de/rgb/RGB_farbmischer.html RGB-Farbmischer]
== Text ==
Wir haben schon Texte im ''Ausgabefenster'' am unteren Rand des {{Processing}}-Fensters
ausgegeben, indem wir den {{Processing Ref|println()}}-Befehl benutzt haben.
Texte lassen sich ebenso einfach mit dem Befehl {{Processing Ref|text()}} auf die Zeichenfläche schreiben. Dazu wird einfach der Text in doppelten Anführungszeichen (<code>"</code>) und die Position des Textes (<code>x</code>, <code>y</code> Koordinaten) angegeben.
Die Farbe des Textes wird mit dem bekannten {{Processing Ref|fill()}} festgelegt.
<syntaxhighlight lang="java" line="1">
size(400, 400);
textSize(32);
fill(33);
text("Informatik ist toll!", 81, 201);
fill(247, 32, 120);
text("Informatik ist toll!", 80, 200);
</syntaxhighlight>
== Übungsaufgaben ==
{{Aufgabe:Start|Icon=Processing_2021_logo.svg}}
# Erstelle ein Programm, das folgendes Bild möglichst exakt nachzeichnet:
#: [[Bild:Processing_Regenbogen.png]]
#: Versuche nur mit {{Processing Ref|fill()}} und der Einstellung {{Processing Ref|noStroke()}} zu arbeiten und achte auf die Reihenfolge der Objekte beim Zeichnen.
# Benutze die neu gelernten Befehle, um ein Bild deiner Wahl zu gestalten.
#: Fertige ein Bildschirmfoto deines Bildes an und speichere es im [{{Project URL|https://helmholtz.padlet.org/ngb/%y_processing_bilder}} Padlet des Kurses].
{{Aufgabe:End}}
{{Zusatzaufgabe:Start|Icon=Processing_2021_logo.svg}}
Lies bei Michael Kipp über die verschiedenen [http://michaelkipp.de/processing/01%20erste-schritte.html#sec_1_1_5 Zeichenmodi], mit denen du beeinflussen kannst, wie die Befehle der Grundformen funktionieren.
{{Zusatzaufgabe:End}}
{{Zusatzaufgabe:Start|Sprinteraufgabe|Icon=Processing_2021_logo.svg}}
Such dir ein Bild aus dem [{{Project URL|https://helmholtz.padlet.org/ngb/%y_processing_bilder}} Padlet] aus und reproduziere es so gut du kannst.
{{Zusatzaufgabe:End}}
8.581

Bearbeitungen