image image


Cantors Doppelkäse mit Shoes

Nach einer berufsbedingten Pause, in der ich mich mehr mit Python, denn mit Ruby und Shoes beschäftigen mußte/durfte, will ich nun meine Erkundung des kleinen und freien Graphik- und GUI-Toolkits für Ruby fortsetzen. Hatte ich hier gezeigt, wie man mit Shoes Kreise zieht und dann als Anwendung einen Cantor-Käse gezeichnet, eine Figur, die der Cantor-Menge topologisch ähnlich ist, fragte ich mich, wie es denn aussähe, wenn man diese Figur sich nicht nur in der Horizontalen, sondern auch in der Vertikalen ausbreiten läßt?

image

Der Screenshot zeigt die Figur in den Rekursionsstufen zwei, drei, vier, fünf und sechs. Man sieht sehr deutlich die Selbstähnlichkeit der Figur, jede kleine Abbildung ist eine Kopie der großen – bei der Rekursionsstufe sechs verschwindet diese Selbstähnlichkeit allerdings langsam hinter einem Moiré-Effekt.

Die Figuren wurden mit diesem kleinen Skript gezeichnet, wobei die Konstante LEVEL jeweils die Rekursiontiefe angibt:

# encoding: utf-8

Shoes.app width: 500, height: 500, title: "Cantors Doppel-Käse", resizable: false do
  strokewidth 1
  nofill
  
  LEVEL = 6
  
  def cheese(x, y, r, level)
    oval x, y, r, center: true
    if level > 1
      cheese(x - r/4, y, r/2, level-1)
      cheese(x, y - r/4, r/2, level-1)
      cheese(x + r/4, y, r/2, level-1)
      cheese(x, y + r/4, r/2, level-1)
    end
  end
  
  cheese(250, 250, 500, LEVEL)
end

Caveat: Wenn man mit diesem Programm herumspielt, merkt man sehr schnell den Nachteil des rekursiven Verfahrens: Stack und/oder Overhead laufen über. Bis zur Rekursionstiefe LEVEL = 6 läuft alles noch problemlos, bei einer Rekursionstiefe LEVEL = 7 oder LEVEL = 8 mußte der Interpreter beim Beenden des Programms schon einige Zeit verwenden, um Stack und Overhead hinter sich aufzuräumen, bei einer Rekursionstiefe von LEVEL = 10 stürzte der Interpreter beim Aufräumen gnadenlos ab und das, obwohl mein Mac Pro von 2013 immerhin über 16 GB Hauptspeicher verfügt (wieviel er davon allerdings Shoes zur Verfügung stellt, weiß ich nicht). Allerdings ist ab LEVEL = 8 sowieso keine neue Erkenntnis mehr zu gewinnen, im Kern wird nur noch ein auf der Spitze stehendes Quadrat gezeichnet.

Mehr Schuhe im Schockwellenreiter

image


(Kommentieren)  Cantors Doppelkäse mit Shoes – 20160916 bitte flattrn

image image



Über …

Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!

Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.

Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.

Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.


Werbung


Werbung


image  image  image
image  image  image