Menjadi penggemar berat kubus Rubik dan seni keren, saya telah berupaya menggabungkan keduanya untuk melakukan beberapa hal yang sangat keren. Pada dasarnya memecahkan kubus Rubik miniatur untuk membentuk piksel yang belum sempurna dalam pembentukan seni kubus Rubik. Contoh seni semacam itu dapat dilihat melalui tautan ini: http://google.com/search?q=rubik%27s+cube+art
Sekarang, tujuan dari Code Golf ini adalah untuk membuat kode yang menerima gambar sebagai input, dan kemudian mengubahnya dengan cara berikut:
Gambar awalnya direduksi menjadi warna abu-abu web-safe. Alasan di balik ini adalah karena kita perlu mengisolasi palet grayscale web-safe (yaitu 000000, 333333, 666666, 999999, CCCCCC, dan FFFFFF). Algoritme pada metode kolorimetri konversi menjadi grayscale tersedia di: http://en.wikipedia.org/wiki/Grayscale#Colorimetric_.28luminance-preserving.29_conversion_to_grayscale , jika Anda ingin menggunakannya sebagai inspirasi.
Satu kemudian akan membuat skala abu-abu ke warna yang sesuai. Untuk memecahnya dengan cepat: 000000 akan merujuk ke biru Rubik, 333333 akan merujuk ke merah Rubik, 666666 akan merujuk ke hijau Rubik, 999999 akan merujuk ke oranye Rubik, merujuk ke kuning Rubik, dan FFFFFF akan merujuk ke putih Rubik.
Saya lebih suka bahwa kode yang Anda hasilkan dapat membuat dari palet foto langsung ke warna Rubik. Metode dua tahap dari konversi ke skala abu-abu web-aman dan kemudian ke palet Rubik yang sesuai hanya untuk memberi Anda ide tentang logika di balik proses, tetapi jika lebih mudah bagi Anda untuk melakukan ini, dengan segala cara melakukannya.
Nilai RGB sebenarnya untuk palet Rubik harus sesuai dengan yang berikut:
- Merah: # C41E3A
- Hijau: # 009E60
- Biru: # 0051BA
- Oranye: # FF5800
- Kuning: # FFD500
- Putih: #FFFFFF
Sebagai contoh, saya telah memangkas kepala Abraham Lincoln dari gambar berikut:, dan memberikan algoritme untuk menghasilkan yang berikut:
Kotak ada di sana sehingga Anda dapat melihat bagaimana masing-masing miniatur Rubik's cube harus dikonfigurasi untuk membuat gambar. Ukuran sebenarnya dari gambar yang dihasilkan adalah 45 piksel kali 45 piksel, artinya (45/3) * (45/3) = 15 * 15 = 225 miniatur kubus Rubik akan digunakan untuk membuat gambar ini. Saya tidak mengharapkan Anda untuk menyajikan gambar yang dihasilkan dengan kisi seperti yang saya miliki.
Jadi ini yang dibutuhkan:
Gambar yang akan diproses oleh algoritma ini harus berukuran x piksel lebar x piksel tinggi, sehingga x dan y adalah kelipatan dari 3. Ini untuk membantu dengan kemudahan rendering sebagai bagian dari mosaik kubus Rubik. Jika gambar Anda cukup besar, kurangi menjadi sekitar 45 x 45 hingga 75 x 75 atau sekitar dimensi sebelum pemrosesan disarankan. Ingatlah, komponen ukuran ini adalah OPTIONAL.
Gambar perlu dikonversi ke palet kubus sextacolored Rubik untuk membuat mosaik.
Gambar yang dihasilkan harus berupa file grafik yang valid setelah diproses. Untuk membuktikan bahwa kode Anda berfungsi, jalankan dengan citra salah satu presiden Amerika Serikat, atau selebritas Hollywood yang terkenal. Saya sudah menggunakan Abraham Lincoln dalam contoh saya, jadi presiden ini tidak bisa lagi digunakan. Pastikan Anda memberikan bahasa yang telah Anda gunakan, jumlah byte serta presiden / selebriti yang digunakan untuk menguji kode Anda, termasuk sebelum dan sesudah pemotretan ...
Setiap entri harus memiliki presiden / selebriti yang unik sebagai ujian mereka. Saya tidak akan menerima duplikat. Ini akan memastikan bahwa hasil duplikat tidak digunakan untuk menguji entri kode yang berbeda. Sangat baik untuk mengatakan bahwa kode Anda berfungsi, itu hal lain untuk membuktikannya.
5. Kode terpendek menang.
Saya mengubah ini menjadi kontes popularitas ... Saya lebih suka melihat siapa yang bisa melakukan ini tanpa harus bersaing dalam jumlah byte ... Jadi saya akan menghadiahkan ini bersama dengan hadiah setelah 28 Februari 2014.
#000000 => #0051BA
, dll.