faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:sierpinski_dreieck:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:sierpinski_dreieck:start [06.02.2025 08:25] – [Beliebige Sierpinski-Dreiecke] Frank Schiebelfaecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:sierpinski_dreieck:start [06.02.2025 14:37] (aktuell) Frank Schiebel
Zeile 5: Zeile 5:
  
 Ein einfaches [[https://de.wikipedia.org/wiki/Sierpinski-Dreieck|Sierpinski-Dreieck]] setzt sich rekursiv aus drei **gleichseitigen** Dreiecken halber Seitenlängen zusammen solange die Seitenlängen größer als eine minimale Länge ''m'' sind: Ein einfaches [[https://de.wikipedia.org/wiki/Sierpinski-Dreieck|Sierpinski-Dreieck]] setzt sich rekursiv aus drei **gleichseitigen** Dreiecken halber Seitenlängen zusammen solange die Seitenlängen größer als eine minimale Länge ''m'' sind:
 +<grid> 
 +<col sm="6"> 
 +{{ :faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:sierpinski_dreieck:sierpinski.gif?nolink |}} 
 +</col> 
 +<col sm="6">
 {{ :faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:sierpinski_dreieck:spierp.png |}} {{ :faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:sierpinski_dreieck:spierp.png |}}
 +</col>
 +</grid>
 +
  
 Im Folgenden soll zunächst die Methode ''zeichneSierpinskiGleichseitig(int laenge, int m)'' implementiert werden. Die Grundseite der Dreiecke soll dabei parallel zur x-Achse ausgerichtet sein. Im Folgenden soll zunächst die Methode ''zeichneSierpinskiGleichseitig(int laenge, int m)'' implementiert werden. Die Grundseite der Dreiecke soll dabei parallel zur x-Achse ausgerichtet sein.
Zeile 20: Zeile 27:
  
 {{ :faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:sierpinski_dreieck:sierpinski_gleichseitig.svg?nolink |}} {{ :faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:sierpinski_dreieck:sierpinski_gleichseitig.svg?nolink |}}
 +
 +++++ Hilfestellung (Codegerüst mit Lücken) |
 +{{ :faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:sierpinski_dreieck:s1_hilfe.png?nolink |}}
 +++++
  
 ===== Beliebige Sierpinski-Dreiecke ===== ===== Beliebige Sierpinski-Dreiecke =====
  
-Wenn man beliebige Sierpinski-Dreiecke zeichnen möchte, ändert sich am Prinzip der Rekursion nichts, allerdings muss man das Dreieck anders beschreiben, beispielsweise durch die Koordinaten seiner Eckpunkte und die Berechnung der Startpunkte für die in der Rekursion gezeichneten Dreiecke ist etwas aufwändiger.+Wenn man beliebige Sierpinski-Dreiecke zeichnen möchte, ändert sich am Prinzip der Rekursion nichts, allerdings muss man das Dreieck anders beschreiben, beispielsweise durch die Koordinaten seiner Eckpunkte. Es genügt jetzt auch nicht mehr, lediglich die Startpunkte der rekursiv gezeichneten Dreiecke zu bestimmen, sondern man muss die Eckpunkte dieser Dreiecke bestimmen, das ist etwas aufwändiger. Die Methodensignatur sieh in diesem Fall also so aus: ''zeichneSierpinskiBeliebig(x1,y1,x2,y2,x3,y3,m)''
  
 {{ :faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:sierpinski_dreieck:sierpinski_allgemein.svg |}} {{ :faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:sierpinski_dreieck:sierpinski_allgemein.svg |}}
Zeile 30: Zeile 41:
 === (A2) ===  === (A2) === 
  
-  * Überlege dirwelche Bedingung hier den Basisfall definiert.+  * Überlege dir auch hier welche Bedingung den Basisfall definiert.
   * Implementiere in deiner Methode, dass das Dreieck mit den Eckpunkten ''P(x1|y1)'', ''Q(x2|y2)'' und ''R(x3|y3)'' gezeichnet wird.   * Implementiere in deiner Methode, dass das Dreieck mit den Eckpunkten ''P(x1|y1)'', ''Q(x2|y2)'' und ''R(x3|y3)'' gezeichnet wird.
   * Überlege dir, wie man die fehlenden Eckpunkte der orangenen Dreiecke mithilfe der Koordinaten ''x1'', ''y1'', ''x2'', ''y2'', ''x3'' und ''y3'' in der Abbildung bestimmen kann.   * Überlege dir, wie man die fehlenden Eckpunkte der orangenen Dreiecke mithilfe der Koordinaten ''x1'', ''y1'', ''x2'', ''y2'', ''x3'' und ''y3'' in der Abbildung bestimmen kann.
   * Ergänze deine Methode auf Basis dieser Überlegungen um geeignete  Selbstaufrufe und implementiere die Methode. Geeignete Eckpunkte sind z.B. ''(0|0)'' ''(200|0)'' ''(100|174)'', eine geeignete minimale Seitenlänge für diese Koordinaten ist zwischen 5 und 10.   * Ergänze deine Methode auf Basis dieser Überlegungen um geeignete  Selbstaufrufe und implementiere die Methode. Geeignete Eckpunkte sind z.B. ''(0|0)'' ''(200|0)'' ''(100|174)'', eine geeignete minimale Seitenlänge für diese Koordinaten ist zwischen 5 und 10.
 +
 +++++ Lösungsvorschlag Codegerüst mit Lücken |
 +{{ :faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:sierpinski_dreieck:s2_hilfe.png?nolink |}}
 +++++
  • faecher/informatik/oberstufe/algorithmen/rekursion/uebungen02/sierpinski_dreieck/start.1738830351.txt.gz
  • Zuletzt geändert: 06.02.2025 08:25
  • von Frank Schiebel