g9:uebungen:klassen_anwenden:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
g9:uebungen:klassen_anwenden:start [2021/01/20 12:51] – [Aufgabe 2: Farbkreise] Martin Pabst | g9:uebungen:klassen_anwenden:start [2022/03/27 17:44] – [Verbesserung: Group-Objekt] Martin Pabst | ||
---|---|---|---|
Zeile 84: | Zeile 84: | ||
Dass im obigen Programm die Bestandteile der Rakete einzeln verschoben werden müssen, ist sehr ungünstig. Bei langsamer Ausführungsgeschwindikeit sieht man die Teile sogar einzeln vorwärtsruckeln. Und stell' Dir vor, wir wollten die Rakete um ihren Schwerpunkt drehen: Was würde passieren, wenn ab Zeile 11 steht: | Dass im obigen Programm die Bestandteile der Rakete einzeln verschoben werden müssen, ist sehr ungünstig. Bei langsamer Ausführungsgeschwindikeit sieht man die Teile sogar einzeln vorwärtsruckeln. Und stell' Dir vor, wir wollten die Rakete um ihren Schwerpunkt drehen: Was würde passieren, wenn ab Zeile 11 steht: | ||
<code learnj> | <code learnj> | ||
- | spitze.drehen(2); | + | spitze.rotate(2); |
- | tank.drehen(2); | + | tank.rotate(2); |
- | triebwerk1.drehen(2); | + | triebwerk1.rotate(2); |
- | triebwerk2.drehen(2); | + | triebwerk2.rotate(2); |
</ | </ | ||
Probier' | Probier' | ||
Zeile 117: | Zeile 117: | ||
- | ===== Genaue Betrachtung: | ||
- | Schau' Dir folgendes Beispielprogramm an: | ||
- | < | ||
- | |||
- | <div class=" | ||
- | |||
- | <script type=" | ||
- | Rectangle r; // Deklarieren der Variable r vom Typ Rectangle | ||
- | r = new Rectangle(10, | ||
- | // r zeigt jetzt auf das Rechteck-Objekt. | ||
- | Rectangle k; | ||
- | k = r; // Der Wert von r (d.h. die Adresse des Rechteck-Objekts) wird in die Variable k hineinkopiert | ||
- | k.setFillColor(Color.red); | ||
- | r.rotate(30); | ||
- | </ | ||
- | </ | ||
- | |||
- | </ | ||
- | |||
- | Wie viele '' | ||
- | Zum Vergleich ein ähnliches Programm mit '' | ||
- | < | ||
- | |||
- | <div class=" | ||
- | |||
- | <script type=" | ||
- | int r; // Deklarieren der Variable r vom Datentyp int | ||
- | r = 10; // Instanzieren eines neuen Rechteck-Objekts und Zuweisen zu r | ||
- | // r zeigt jetzt auf das Rechteck-Objekt. | ||
- | int k; | ||
- | k = r; // Der Wert von r wird in die Variable k hineinkopiert | ||
- | k = k * 2; | ||
- | println(" | ||
- | println(" | ||
- | </ | ||
- | </ | ||
- | |||
- | </ | ||
- | Was gibt das Programm aus? \\ | ||
- | |||
- | Eine ausführliche Erklärung für dieses merkwürdige Phänomen findest Du auf [[.objektreferenzen: | ||
- | |||
- | |||
- | |||
- | ===== Instanzieren der " | ||
- | Damit graphische Objekte ausgegeben werden können, muss zunächst die Grafikausgabe " | ||
- | <code learnj> | ||
- | new World(800, 600); | ||
- | </ | ||
- | Die übergebenen Koordinaten (800, 600) sind die Koordinaten der rechten unteren Ecke der Welt. Dabei ist zu beachten, dass die positive y-Achse - wie bei Computersystemen meist üblich - nach unten zeigt. Hier eine des Welt-Koordinatensystems: | ||
- | {{ : | ||
- | Falls Du vergisst, ein Welt-Objekt zu instanzieren, | ||
==== Beispiel 2: gedrehte Rechtecke ==== | ==== Beispiel 2: gedrehte Rechtecke ==== | ||
Zeile 226: | Zeile 174: | ||
</ | </ | ||
</ | </ | ||
- | |||
- | <WRAP center round tip 100%> | ||
- | **Neue Farben " | ||
- | Du kannst nicht nur die vorgegebenen Farbwerte ('' | ||
- | <code myjava> | ||
- | | ||
- | | ||
- | </ | ||
- | **Wie kommen die Farben zustande?** \\ | ||
- | Computerdisplays bedienen sich eines Tricks zur Farbdarstellung: | ||
- | {{ : | ||
- | \\ \\ Displays bestehen daher aus vielen sehr kleinen roten, grünen und blauen Punkten, deren Helligkeit einzeln geregelt werden kann. Je drei davon werden zu einem Bildpunkt (" | ||
- | \\ \\ Die vom Auge wahrgenommene Farbe des Pixels entspricht der **additiven** Mischfarbe der drei Teilpunkte. Diese Art der Farbmischung wird für dich ungewohnt sein, weil die Mischfarben von Farbstiften und Wasserfarben **subtraktiv** zustandekommen. Eine gute Erklärung der beiden Arten von Farbmischung findest Du in den Wikipedia-Artikeln zu [[https:// | ||
- | \\ \\ | ||
- | **Kleines Experiment: | ||
- | Halte ein Fernglas **in umgedrehter Richtung** ganz nah an den Bildschirm, dann kannst Du die roten, grünen und blauen Punkte deutlich sehen. Schau' Dir so verschiedenfarbige Flächen am Bildschirm an und beobachte die Intensität der farbigen Teilpunkte. | ||
- | |||
- | </ | ||
- | |||
- | |||
==== Aufgabe 1: " | ==== Aufgabe 1: " | ||
{{ : | {{ : |
g9/uebungen/klassen_anwenden/start.txt · Zuletzt geändert: 2022/06/29 15:12 von Martin Pabst