kurse:efcomputergrafik:kw34

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
kurse:efcomputergrafik:kw34 [2019/08/20 09:07]
Marcel Metzler [Apfelmännchen]
kurse:efcomputergrafik:kw34 [2019/08/21 15:18] (current)
Marcel Metzler [Was ist ein Fraktal und was ist eine gebrochene Dimension?]
Line 177: Line 177:
   - Unterprogramme mit Parameterübergabe, wird i.d.R. Funktion genannt   - Unterprogramme mit Parameterübergabe, wird i.d.R. Funktion genannt
   - Unterprogramm mit Parameterübergabe und Rückgabewert, wird i.d.R. auch Funktion genannt   - Unterprogramm mit Parameterübergabe und Rückgabewert, wird i.d.R. auch Funktion genannt
-==Zu 1.==+===Zu 1. Unterprogramme ohne Parameterübergabe===
 <code python> <code python>
 from gturtle import * from gturtle import *
Line 192: Line 192:
 Das Schlüsselwort ist **def**, gefolgt vom Namen() des Unterprogramms. Achtung den Doppelpunkt nicht vergessen. Das eigentliche Unterprogramm folgt dann **eingerückt**. Das Unterprogramm kann nun von einer beliebigen Stelle im Hauptprogramm aufgerufen werden. Das Schlüsselwort ist **def**, gefolgt vom Namen() des Unterprogramms. Achtung den Doppelpunkt nicht vergessen. Das eigentliche Unterprogramm folgt dann **eingerückt**. Das Unterprogramm kann nun von einer beliebigen Stelle im Hauptprogramm aufgerufen werden.
  
 +===Zu 2. Unterprogramme mit Parameterübergabe===
 Schöner wäre es aber, wenn die Seitenlänge nicht fix, sondern als Parameter übergeben werden kann. Dies geschieht wie folgt: Schöner wäre es aber, wenn die Seitenlänge nicht fix, sondern als Parameter übergeben werden kann. Dies geschieht wie folgt:
 <code python> <code python>
Line 225: Line 226:
 nEck(5,80) nEck(5,80)
 </code> </code>
 +Was geschieht, wenn wir ein 0-Eck, ein 1-Eck oder ein 2-Eck zeichnen wollen. Nun n muss grösser als 2 sein, sonst wird nichts gezeichnet. Falls aber gekommen wir auch eine Rückmeldung vom Unterprogramm? Nein noch nicht.
 +===Zu 3. Unterprogramme mit Parameterübergabe und Rückgabewert===
 +<code python Prog_8.py>
 +from gturtle import *
 +def nEck(n,l):
 +    if n>2:
 +        for i in range(n):
 +            forward(l)
 +            left(360/n)
 +        return(1)
 +    return(0) 
 +makeTurtle()
 +ans=nEck(3,100)
 +if ans!=1:
 +    print("Es ist ein Fehler aufgetreten!")
 +setPos(100,50)
 +if nEck(1,50)!=1:print("Es ist ein Fehler aufgetreten!")
 +setPos(25,125)
 +ans=nEck(5,80)
 +</code>
 +
 +**Aufgabe 6**
 +  - Arbeite die drei Fälle sorgfältig durch. Dann du die drei Fälle ohne nachzuschauen erklären? Falls nicht, schau sie nochmals an.
 +  - Ändere das obige Programm nach belieben ab und schaue was dabe herauskommt.
 +  - Füge eine Meldung hinzu, falls das n-Eck gezeichnet werden konnte.
 +  - Füge eine Meldung hinzu, falls alle n-Ecke gezeichnet werden konnten. 
 +
 +====Was ist ein Fraktal und was ist eine gebrochene Dimension?====
 +Siehe dazu folgendes Video vom Kanal [[https://www.youtube.com/watch?v=gB9n2gHsHN4|3Blue1Brown]].
 +
 +Als weitere Quelle hier noch ein altes Skript von der ETHZ{{ :kurse:efcomputergrafik:fraktale_ethz.pdf |}}
 +
 +Wer Interesse hat, kann das Buch **SuperFractals**, Pattern of Nature von Michael F. Baransley, ISBN-13 987-0-521-84493-2 von mir ausleihen.
 +
 +**Aufgabe 7**
  
 +* Was ist ein Fraktal?
 +<hidden>
 +Ein Objekt mit einer gebrochenen Dimension, d.h. $D\not\in \mathbb{N}$.
 +</hidden>
 +* Kennst du die Dimension des Serpinski Dreiecks bestimmen?
 +<hidden>
 +Verkleinerung der Strecke um den Faktor 2, erzeugt eine Verkleinerung der Fläche um den Faktor 3.  $2^D=3 \quad\rightarrow\quad D=log_2(3)=1.585$  
 +</hidden>
 +* Kennst du eine allgemeine Formel zur Dimensionsbestimmung?
 +<hidden>
 +Du findest eine am Schluss des Skript Fraktale von der ETHZ.
 +</hidden>
  • kurse/efcomputergrafik/kw34.1566284820.txt.gz
  • Last modified: 2019/08/20 09:07
  • by Marcel Metzler