Saya suka Hilbert Curve .
Tugas Anda untuk tantangan ini adalah untuk mengambil gambar (hanya gambar persegi di mana semua sisi memiliki kekuatan dua piksel lebar) dan menguraikannya baris demi baris dengan cara zig-zagging dan putar kembali ke atas dalam kurva pseudo-Hilbert .
Terurai
Untuk mengurai Anda akan mulai dengan pixel di sudut kiri atas dan bergerak ke kanan sampai Anda tiba di tepi gambar. Setelah Anda menyentuh tepi gambar, Anda akan bergerak ke bawah ke baris berikutnya dan mulai bepergian ke kiri sampai Anda menyentuh tepi lagi. Anda akan melanjutkan mengurai baris demi baris dengan berpindah arah setiap kali sehingga Anda mendapatkan satu kurva kontinu. Ini akan terlihat seperti permainan ular yang dimainkan dengan baik
Hasil penguraian harus berupa urutan piksel yang mencakup setiap piksel tepat satu kali
Reraveling
Setelah Anda memesan piksel, Anda akan mengatur ulang piksel tersebut pada kanvas berukuran sama baru mengikuti jalur kurva pseudo-Hilbert. Untuk 2**n
gambar persegi berukuran Anda harus menggunakan iterasi ke-n dari kurva pseudo-hilbert. Setiap piksel akan ditempatkan tepat di satu tempat di kanvas baru. Anda harus memutar ulang gambar sehingga titik yang semula di kiri atas (awal kurva ular kami) akan tetap ada dan titik di kanan bawah (ujung kurva ular kami) akan ditempatkan di kanan atas.
I / O
Program atau fungsi Anda harus mengambil gambar dari batasan yang ditentukan melalui metode standar dan menghasilkan gambar lain melalui metode standar.
Mencetak gol
Ini adalah program kode-golf dengan kemenangan byte paling sedikit.
Contohnya
Memasukkan
Keluaran
Memasukkan
Keluaran
Memasukkan
Keluaran
Saya juga merekomendasikan pengujian pada gambar warna putih atau padat kosong untuk memastikan Anda tidak kehilangan piksel.
Jangan ragu untuk memasukkan hasil Anda sendiri dalam jawaban Anda!