Jahitan kurva adalah proses "menjahit" bersama-sama beberapa garis lurus untuk membuat kurva, seperti:
Untuk penjelasan tentang penjahitan kurva, kunjungi situs web ini .
Kami akan menggambar kurva kami di kiri atas layar, seperti yang ditunjukkan pada gambar di atas.
Diberikan bilangan bulat n
(melalui STDIN atau parameter fungsi), menjadi jumlah garis untuk menggambar, dan p
piksel bilangan bulat , menjadi interval antara titik awal, menggambar kurva garis lurus.
Garis horizontal / vertikal diperlukan, dan harus menjadi bagian dari jumlah garis.
Contoh Keluaran:
n = 25, p = 15
n = 20, p = 20
Ini adalah tantangan kode-golf , sehingga kode terpendek menang .
code-golf
graphical-output
James Williams
sumber
sumber
Jawaban:
Mathematica,
555150476468 byteMenentukan fungsi yang menghasilkan gambar seperti ditentukan saat dipanggil suka
Menghasilkan
Sunting : Harus menambahkan beberapa karakter untuk memastikan bahwa parameter kedua benar-benar ditafsirkan sebagai piksel.
Sunting : empat byte lagi untuk memplot garis horizontal.
sumber
Python - 74
Karena pertanyaannya tidak menentukan satuan, penskalaan sumbu dll. Saya datang dengan solusi minimum berikut:
sumber
*p
;). juga, apakah Anda yakin tidak menambahkan garis horizontal dan / atau vertikal? mereka tidak dalam contoh output. akhirnya, saya perhatikan di saya, bahwa lebih pendek untuk mengimbangi koordinat pertama secara horizontal daripada yang kedua (karena Anda dapat menyimpan-
dan kurung)Bash + Imagemagick + xview, 124 byte
Output untuk
./curvestitch.sh 25 15
:sumber
Perl,
121130 byteMasukan melalui
STDIN
. Nilai dipisahkan koma.EDIT: Kami punya aturan baru. Saya tidak yakin mengapa, tetapi dua piksel pertama tidak terlihat dan saya harus menambahkan offset ...
Berikut ini beberapa tes:
25x15:
6x72:
sumber
BBC Basic, 58 karakter ascii, ukuran file yang dibatasi 49
Unduh emulator di http://www.bbcbasic.co.uk/bbcwin/bbcwin.html
p*=2
diperlukan karena dalam mode default BBC Basic memetakan kotak logis 2x2 ke satu piksel fisik.BBC Basic memiliki asal di sudut kiri bawah layar, dengan Anda bersama naik. Di komputer saya, jendela default memiliki koordinat y atas 974 (Anda mungkin berbeda.) 7 karakter dapat disimpan jika diizinkan untuk merencanakan di sudut kiri bawah layar. Menambahkan
MODE16
setelah yang pertama:
akan mengubah ukuran jendela sehingga koordinat y atas dijamin menjadi 799.sumber
Html + JavaScript 155
157 183Edit: learnig hal-hal apa yang dapat saya potong tanpa kehilangan fungsionalitas.
Edit 2: seperti yang disarankan oleh @Optimizer
Fiddle Jumlah input baris pertama , interval input pixel kedua
Biola yang Tidak Dikunci
sumber