Einführung
In der Geometrie ist die Peano-Kurve das erste Beispiel für eine raumfüllende Kurve, die 1890 von Giuseppe Peano entdeckt wurde. Die Peano-Kurve ist eine surjektive, kontinuierliche Funktion vom Einheitsintervall bis zum Einheitsquadrat, jedoch nicht injektiv. Peano wurde von einem früheren Ergebnis von Georg Cantor motiviert, dass diese beiden Mengen die gleiche Kardinalität haben. Aufgrund dieses Beispiels verwenden einige Autoren den Ausdruck "Peano-Kurve", um sich allgemeiner auf jede raumfüllende Kurve zu beziehen.
Herausforderung
Das Programm nimmt eine Eingabe, die eine Ganzzahl ist n
, und gibt eine Zeichnung aus, die die n
Iteration der Peano-Kurve darstellt, beginnend mit der im linken Teil dieses Bildes gezeigten Seite 2:
Eingang
Eine Ganzzahl n
, die die Iterationsnummer der Peano-Kurve angibt. Optionale, zusätzliche Eingaben werden im Abschnitt Boni beschrieben.
Ausgabe
Eine Zeichnung der n
Iteration der Peano-Kurve. Die Zeichnung kann sowohl eine ASCII-Grafik als auch eine "echte" Zeichnung sein, je nachdem, was am einfachsten oder am kürzesten ist.
Regeln
- Die Ein- und Ausgabe kann in jedem beliebigen Format erfolgen (wählen Sie das für Ihre Sprache / Lösung am besten geeignete Format).
- Es müssen keine negativen Werte oder ungültige Eingaben verarbeitet werden
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig.
- Fügen Sie nach Möglichkeit einen Link zu einer Online-Testumgebung hinzu, damit andere Benutzer Ihren Code ausprobieren können!
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
Boni
Da dies kein Spaziergang im Park sein sollte (zumindest in den meisten Sprachen, die mir einfallen), werden Bonuspunkte für Folgendes vergeben:
- -100 Bytes, wenn Ihr Code ein GIF der Konstruktion der Peano-Kurven bis erzeugt
n
. - -100 Byte, wenn Ihr Code eine raumfüllende Kurve für eine rechteckige Form zeichnet (die Peano-Kurve funktioniert natürlich nur für Quadrate). Sie können davon ausgehen, dass die Eingabe dann die Form annimmt,
n l w
inn
der sie dieselbe Bedeutung wie zuvor hat (die Nummer der Iteration), aber wol
undw
in der Länge und Breite des Rechtecks, in dem die Kurve gezeichnet werden soll. Wennl == w
, wird dies zur regulären Peano-Kurve.
Negative Bewertungen sind erlaubt (aber möglich ...).
Bearbeiten
Bitte beziehen Sie die Ausgabe Ihres Programms in die Lösung für ein n == 3 (l == w == 1)
.
n
wenn verwendet l
und w
sind auch Eingänge ??????????? Und wäre die Peano-Kurve ein Sonderfall - es ist nicht die einzige raumfüllende Kurve, so dass einige Algorithmen sie möglicherweise als Sonderfall verwenden müssen