Eh!
Anda tahu, masalah dengan kita orang Kanada adalah bahwa kadang-kadang, setelah seharian berburu rusa dan memperbaiki bendungan, kita lupa jalan kembali ke kabin kita! Bukankah lebih bagus jika laptop kita yang praktis (yang selalu ada di pihak kita), punya cara untuk mengantar kita pulang? Yah, sudah lama dikatakan bahwa, jika Anda menampilkan kompas di komputer Anda, itu akan menjadi yang paling terang ketika menunjuk Utara. Saya ingin menguji ini, tetapi saya membutuhkan program yang ringkas untuk dibawa pada perjalanan saya berikutnya, karena hard drive saya sudah diisi dengan resep sirup maple (dan itu TIDAK BISA pergi). Jadi, tugas Anda adalah merancang saya sebuah program yang, ketika dijalankan, menyimpan atau menampilkan gambar mawar kompas berikut:
Huruf-huruf mungkin dalam font yang berbeda. Ingat, paling tidak adalah yang terbaik, jadi jumlah byte terendah menang!
Spesifikasi
Warna
- Ungu muda: # 9999FF
- Gray: #on
Panjang dan Sudut
- Sudut
a
= 45 ° - Sudut
b
= 90 ° - Panjang
c
= 250 unit - Panjang
d
= 200 unit - Panjang
e
= 40 unit - Panjang
f
= 45 unit
Klarifikasi
- Teks mungkin dalam font apa saja yang sesuai , di mana sesuai menunjukkan bahwa itu dapat dibaca oleh rata-rata, manusia yang berpendidikan.
- Teks harus berjarak 3 unit dari paku pada titik terdekatnya, tidak boleh menyentuh mawar, dan harus tegak
- Jika sebuah garis ditarik dari pusat mawar, melalui titik ujung lonjakan dan seterusnya, garis tersebut harus melewati pusat teks dengan ketelitian +/- 2 unit (teks harus dipusatkan di sepanjang sumbu
a
, di manaa
memanjang dari tengah halaman, melalui ujung lonjakan, dan seterusnya) - Setiap karakter harus minimal 15 unit dengan 15 unit, dan memiliki rasio x / y atau y / x tidak lebih dari 2: 1 (tanpa peregangan - keterbacaan)
- Lingkaran redup yang melewati paku yang lebih panjang dan teks yang paling dekat ke tengah pada gambar referensi tidak boleh digambar.
- Gambar harus persegi, dan setidaknya 400px kali 400px
- Gambar yang dikompresi di dalam sumber tidak diizinkan
- Satu unit harus minimal 1 piksel
sumber
Jawaban:
HTML + CSS, 487 + 189 = 676
Kompas mawar dibangun dari batas CSS menggunakan teknik segitiga dan beberapa transformasi dasar. Surat-surat itu hanya diberi posisi tetap, sehingga ternyata cukup lama: /
Cuplikan di bawah diperkecil sehingga semuanya pas. Anda dapat memeriksa JSFiddle di sini . Juga, saya tidak yakin seberapa baik huruf-huruf akan berbaris di browser yang berbeda (dengan font yang berbeda, gaya default, dll.).
sumber
Memproses 2 - 636
Solusi cepat yang hanya menggambar semua segitiga menggunakan metode pemrosesan segitiga dan kemudian menempatkan huruf di ujungnya.
Anda dapat memproses di sini
sumber
PHP, 628 byte
menambahkan beberapa linebreak untuk kenyamanan.
Jalankan dengan
-r
. Membuat filen.png
dengan gambar; unit adalah 2 piksel.Saya harus mengakui bahwa saya menemukan coords untuk angin oleh trial & error, dan mereka mungkin agak mati. Akan segera melakukan perhitungan; tapi saya berjanji: mereka tidak akan mengubah jumlah byte.
Bersenang-senang untuk sekarang menggali trignonometri saya dan berjuang dengan
imagecopy
... sungguh banci!bermain golf: tidak banyak trik; tetapi beberapa ini menghemat banyak:
Saya bahkan tidak menghitung sebelum saya mengganti nama fungsi.
+
operator array memberikan 42 byte.kerusakan
sumber
R,
877850813Saya kira ada banyak ruang untuk bermain golf, tetapi saya ingin mendapatkan sesuatu untuk mengetahui apakah saya berhasil mematuhi peraturan.
Sunting: Kehilangan beberapa pembersihan di sekitar kreasi poligon, memperoleh beberapa garis besar penghapusan
Ini menghasilkan gambar png berikut
Sedikit penjelasan tentang apa yang saya lakukan
sumber
Mathematica, 347 byte
Pregolfed:
N
danE
(dasar log natural) keduanya built-in di Mathematica tetapi sebagai teks E akan bergaya ke font huruf kecil yang Anda lihat dalam gambar tetapi masalahnya tidak cukup mengatakan kita hanya dapat menggunakan satu font untuk semua teks. Jika itu persyaratan maka gantiE
dengan"E"
dan saya mendapatkan dua byte.Sqrt[2]
di Mathematica dapat diubah menjadi dua karakter, jadi jika kita menghitung masingSqrt[2]
- masing sebagai dua karakter maka jumlah byte baru saya adalah 339, bukan 349.Gambar di bawah ini diproduksi.
sumber