pengantar
The Sierpinski Arrowhead Curve adalah kurva yang batas adalah Segitiga Sierpinski.
Ini pertama kali dimulai seperti ini:
_
/ \
Kemudian, setiap baris diganti dengan versi yang diputar dari yang pertama:
_
/ \
\ /
_/ \_
Lanjut:
_
/ \
\ /
_/ \_
/ \
\_ _/
_ \ / _
/ \_/ \_/ \
Tugas Anda
Diberi angka n , keluaran n it- iterate Kurva Sierpinski Arrowhead.
Anda dapat memilih untuk indeks 0 atau 1, tetapi harap tentukan dalam jawaban Anda.
Anda dapat menghasilkan gambar, atau menggunakan Seni Ascii dalam format yang saya miliki di atas.
Anda tidak boleh menggunakan bawaan untuk menghasilkan kurva ini.
Ingat, ini adalah kode-golf , jadi kode dengan byte paling sedikit menang.
u=.5;v=3^u/2;B=[u,v];C=[-u,v];A=C<0;
lebih pendek 16 byte :) Anda juga dapat melakukanaxis off equal
untuk menyimpan 5 byte lainnya.Diagram Haskell +, 176 byte
Membuat file svg dengan latar belakang transparan yang disebut "a".
g 0
menghasilkan garis horizontal,g 1
adalah/¯\
.sumber
Diagrams
!plot()
dengan membuka jendela.MSWLogo (Versi 6.5b), 102 byte
Mengambil dua fungsi
shapeL
, yangshapeR
diberikan di sini dan menggabungkannya dengan menambahkan argumen tambahan:a
, yang memanggil fungsi yang berlawanan saat dinegasikan.Suatu fungsi
s
didefinisikan, yang mengambil jumlah iterasi:n
(berbasis 1), sudut:a
, panjang:l
. Itu rekursif, memanggil iterasi yang lebih rendah dari dirinya sendiri dengan sudut:a
dinegasikan dalam dua contoh untuk mendapatkan orientasi yang benar.rt :a
,lt :a
putar kura-kura (benda segitiga yang jalurnya dilacak) ke kanan, sedikit demi sedikit:a
.fd :l
menggerakkan penyu dengan:l
langkah-langkah.Fungsi ini dipanggil dengan
:a
sama dengan 60.Di sini,
repeat
pada dasarnya adalah loop UNTUK, dengan penghitung bawaanrepcount
.pu
danpd
berarti "pena ke atas" dan "pena ke bawah", yang menghentikan kura-kura dari menggambar ketika posisinya sedang diatur menggunakansetxy
.Gambar dari setiap iterasi telah dipanggil dengan panjang
:l
sama denganpower 2 (7-repcount)
, yang berkurang secara eksponensial; ini karena definisi menggunakan hal yang sama:l
pada langkah rekursif, jadi dengan memperbaiki:l
ukuran keseluruhan output akan meningkat secara eksponensial:n
.sumber
60
dalam hitungan byte?Python 2, 124 byte
Didasarkan pada kode dalam artikel Wikipedia.
Pesanan 0 adalah garis lurus.
sumber
Mathematica / Wolfram Language 73 byte
Penjelasan sederhana :
AnglePath [{θ1, θ2, θ3, ...}] memberikan daftar koordinat 2D yang sesuai dengan jalur yang dimulai pada {0,0}, kemudian mengambil serangkaian langkah panjang unit pada sudut relatif berturut-turut θi.
n = 1
n = 2
n = 3
sumber
Mathematica, 62 byte
sumber
JavaScript (ES6), 180 byte
Mengembalikan array string. Mendapatkan jarak yang tepat adalah bagian tersulit! Versi string murni untuk 205 byte:
sumber