Einführung
Die Sierpinski-Pfeilspitzenkurve ist eine Kurve, deren Grenze das Sierpinski-Dreieck ist.
Es beginnt zunächst so:
_
/ \
Dann wird jede Zeile durch eine gedrehte Version der ersten ersetzt:
_
/ \
\ /
_/ \_
Nächster:
_
/ \
\ /
_/ \_
/ \
\_ _/
_ \ / _
/ \_/ \_/ \
Deine Aufgabe
Bei einer gegebenen Zahl n wird die n- te Iteration der Sierpinski-Pfeilspitzenkurve ausgegeben .
Sie können zwischen 0- und 1-Index wählen. Bitte geben Sie dies in Ihrer Antwort an.
Sie können ein Bild erstellen oder Ascii Art in dem oben angegebenen Format verwenden.
Sie können diese Kurve möglicherweise nicht mit integrierten Funktionen erstellen.
Denken Sie daran, das ist Code-Golf , also gewinnt der Code mit den wenigsten Bytes.
u=.5;v=3^u/2;B=[u,v];C=[-u,v];A=C<0;
ist 16 Bytes kürzer :) Sie können auchaxis off equal
weitere 5 Bytes speichern.Haskell + Diagramme, 176 Bytes
Erstellt eine SVG-Datei mit transparentem Hintergrund mit dem Namen "a".
g 0
gibt eine horizontale Linie aus,g 1
ist/¯\
.quelle
Diagrams
!plot()
, um ein Fenster zu öffnen.MSWLogo (Version 6.5b), 102 Byte
Nimmt die beiden Funktionen
shapeL
,shapeR
gegeben hier und verschmilzt sie durch Hinzufügen eines zusätzlichen Argument:a
, die die entgegengesetzte Funktion aufruft , wenn negiert.Es
s
wird eine Funktion definiert, die die Anzahl der Iterationen:n
(1-basiert), den Winkel:a
und die Länge verwendet:l
. Es ist rekursiv und nennt eine niedrigere Iteration von sich selbst mit dem Winkel:a
in zwei Fällen negiert wird, um die richtige Ausrichtung zu erzielen.rt :a
,lt :a
Dreht , um die Schildkröte (aufgezeichnetes Dreieck thingy dessen Pfad) rechts, links von:a
Grad.fd :l
bewegt die Schildkröte vorwärts:l
.Die Funktion ist mit
:a
gleich 60 aufzurufen.Hierbei
repeat
handelt es sich im Wesentlichen um eine FOR-Schleife mit integriertem Zählerrepcount
.pu
undpd
bedeutet "Stift nach oben" und "Stift nach unten", wodurch die Schildkröte am Zeichnen gehindert wird, während ihre Position mit festgelegt wirdsetxy
.Die Zeichnungen jeder Iteration wurden mit der
:l
gleichen Länge aufgerufenpower 2 (7-repcount)
, die exponentiell abnimmt; Dies ist darauf zurückzuführen, dass die Definition:l
im rekursiven Schritt dasselbe verwendet , sodass:l
die Gesamtgröße der Ausgabe bei Festeinstellung exponentiell mit zunimmt:n
.quelle
60
die Bytes mit?Python 2, 124 Bytes
Basierend auf dem Code im Wikipedia-Artikel.
Ordnung 0 ist eine gerade Linie.
quelle
Mathematica, 62 Bytes
quelle
JavaScript (ES6), 180 Byte
Gibt ein Array von Zeichenfolgen zurück. Den richtigen Abstand zu finden, war der schwierigste Teil! Reine Stringversion für 205 Bytes:
quelle