lehrkraefte:snr:informatik:glf21:python:chaos-game

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:glf21:python:chaos-game [2021/08/17 17:56]
Olaf Schnürer
lehrkraefte:snr:informatik:glf21:python:chaos-game [2021/09/15 17:26] (current)
Olaf Schnürer [Derselbe Python-Code sehr ausführlich kommentiert]
Line 1: Line 1:
-==== Chaos-Spiel − der springende Punkt ====+===== Chaos-Spiel − der springende Punkt =====
  
 Das Chaos-Spiel geht wie folgt: Das Chaos-Spiel geht wie folgt:
Line 17: Line 17:
  
 <WRAP round todo> <WRAP round todo>
-Welche geometrische Figur ergibt sich?+Kannst Du erraten, welche geometrische Figur herauskommt?
 </WRAP> </WRAP>
  
Line 34: Line 34:
 </WRAP> </WRAP>
  
-=== Python-Programm zum Chaos-Spiel === +==== Python-Programm zum Chaos-Spiel ====
 <code python> <code python>
 # Sierpinski-Dreieck per Chaos-Spiel # Sierpinski-Dreieck per Chaos-Spiel
Line 58: Line 57:
 xC = int(breite / 2) xC = int(breite / 2)
 yC = hoehe yC = hoehe
 +
 +# Zum Ändern der Dicke des Stifts bzw. für "dickere" Pixel:
 +# lineWidth(2)
 +
 +line (xA, yA, xB, yB)
 +line (xB, yB, xC, yC)
 +line (xC, yC, xA, yA)
  
 # zufaellige Startkoordinaten des springenden Punktes # zufaellige Startkoordinaten des springenden Punktes
 x = randint(0, breite) x = randint(0, breite)
 y = randint(0, hoehe) y = randint(0, hoehe)
 +
 +point(int(x), int(y))
  
 iterationen = 1000000 iterationen = 1000000
Line 76: Line 84:
         x = (x + xC) / 2                 x = (x + xC) / 2        
         y = (y + yC) / 2         y = (y + yC) / 2
 +    
     point(int(x), int(y))     point(int(x), int(y))
 +
 print(iterationen, "Iterationen durchgeführt.") print(iterationen, "Iterationen durchgeführt.")
 </code> </code>
  
-=== Python-Code kommentiert ===+==== Derselbe Python-Code sehr ausführlich kommentiert ====
 <hidden> <hidden>
 <code python> <code python>
Line 131: Line 141:
 yC = hoehe yC = hoehe
 # Die Funktion "int" ist oben erklärt. # Die Funktion "int" ist oben erklärt.
 +
 +# Zum Ändern der Dicke des Stifts bzw. für "dickere" Pixel:
 +# lineWidth(2)
 +
 +# Zeichnet gerade Linien zwischen den angegebenen Punkten
 +line (xA, yA, xB, yB)
 +line (xB, yB, xC, yC)
 +line (xC, yC, xA, yA)
  
 # zufaellige Startkoordinaten des springenden Punktes # zufaellige Startkoordinaten des springenden Punktes
 x = randint(0, breite) x = randint(0, breite)
 y = randint(0, hoehe) y = randint(0, hoehe)
 +
 +# Markiere das Pixel mit Koordinaten (x,y) oder genauer (int(x), int(y)). 
 +# Die Funktion "point" nimmt zwei ganze Zahlen als Argumente und zeigt das Pixel mit den entsprechenden
 +# Koordinaten in der aktuellen Zeichenfarbe (schwarz) an. 
 +point(int(x), int(y))
  
 # Anzahl der Iterationen. Eigentlich ist es guter Programmierstil, Konstanten, die man beim Testen  # Anzahl der Iterationen. Eigentlich ist es guter Programmierstil, Konstanten, die man beim Testen 
Line 178: Line 201:
         y = (y + yC) / 2         y = (y + yC) / 2
          
-    # Markiere das Pixel mit Koordinaten (x,y) oder genauer (int(x), int(y)).  
-    # Die Funktion "point" nimmt zwei ganze Zahlen als Argumente und zeigt das Pixel mit den entsprechenden 
-    # Koordinaten in der aktuellen Zeichenfarbe (schwarz) an.  
     point(int(x), int(y))     point(int(x), int(y))
  
Line 211: Line 231:
 Richte das Browser-Fenster links ein und das Tigerjython-Fenster rechts, so dass sie jeweils die halbe Bildschirmbreite einnehmen - dies ermöglicht effektives Arbeiten. Richte das Browser-Fenster links ein und das Tigerjython-Fenster rechts, so dass sie jeweils die halbe Bildschirmbreite einnehmen - dies ermöglicht effektives Arbeiten.
      
-Kopiere das obige Programm (sind Ctrl-c, Ctrl-v bekannt? kann auch den Clipboard-Icon rechts oben in der Code-Box nutzen) in das Tigerjython-Fenster und bringe es mit dem Button (= Knopf) mit dem grünen Dreieck in der Menüleiste zum Laufen:+Kopiere das obige Programm in das Tigerjython-Fenster! 
 +(Sind Ctrl-c, Ctrl-v zum Kopieren und Alt+Tab zum Fensterwechsel bekannt? Kann zum Kopieren auch den Clipboard-Icon rechts oben in der Code-Box nutzen.) 
 + 
 +Bringe es mit dem Button (= Knopf) mit dem grünen Dreieck in der Menüleiste zum Laufen:
  
 {{:lehrkraefte:snr:informatik:glf21:python:chaos-game:menu-tigerjython.png?nolink&200|}} {{:lehrkraefte:snr:informatik:glf21:python:chaos-game:menu-tigerjython.png?nolink&200|}}
Line 221: Line 244:
 Wer selbst etwas experimentieren und das Programm verändern möchte, findet Anregungen auf [[https://en.wikipedia.org/wiki/Chaos_game|Wikipedia - Chaos game]]. Dort ist auch ein Link auf das Sierpiński-Dreieck - so heisst die Figur, die unser Chaos-Spiel produziert hat. Wer selbst etwas experimentieren und das Programm verändern möchte, findet Anregungen auf [[https://en.wikipedia.org/wiki/Chaos_game|Wikipedia - Chaos game]]. Dort ist auch ein Link auf das Sierpiński-Dreieck - so heisst die Figur, die unser Chaos-Spiel produziert hat.
  
-Wer mag, darf natürlich auch gerne die Einführung [[https://www.tigerjython.ch| Tigerjython]] anschauen.+Wer mag, darf natürlich auch gerne die Einführung [[https://www.tigerjython.ch| Tigerjython]] anschauen. Dort ist auch erklärt, wie man Tigerjython auf dem eigenen Rechner installiert. Wer kann es auf dem iPad installieren?
 </WRAP> </WRAP>
- 
- 
      
 +===== Link zur Kursseite =====
 +
 +[[lehrkraefte:snr:informatik:glf21|Zur Kursseite]]
  
  
  
  • lehrkraefte/snr/informatik/glf21/python/chaos-game.1629215766.txt.gz
  • Last modified: 2021/08/17 17:56
  • by Olaf Schnürer