The Chaos Game adalah metode sederhana untuk menghasilkan fraktal. Diberi titik awal, rasio panjang r dan satu set titik 2D, berulang kali lakukan hal berikut:
- Dari kumpulan poin Anda, pilih satu secara acak (seragam).
- Rata-rata titik itu dan titik yang ditarik terakhir (atau titik awal) menggunakan r dan 1 - r sebagai bobot (yaitu r = 0 berarti Anda mendapatkan titik awal, r = 1 berarti Anda mendapatkan titik acak dan r = 0,5 berarti Anda dapatkan titik di tengah-tengahnya.)
- Gambarkan titik yang dihasilkan.
Misalnya, jika Anda memilih simpul segitiga sama sisi dan r = 0,5 , titik yang diplot akan memetakan segitiga Sierpinski:
Anda harus menulis sebuah program atau fungsi yang "memainkan" permainan kekacauan untuk membuat fraktal.
Memasukkan
Anda dapat menulis suatu program atau fungsi, dan mengambil input berikut melalui ARGV, STDIN atau argumen fungsi:
- Jumlah poin untuk plot.
- Koordinat awal (yang harus diplot juga!).
- Berat rata-rata r dalam interval [0,1] .
- Daftar poin untuk dipilih.
Keluaran
Anda dapat menampilkan di layar atau menulis file gambar. Jika hasilnya dirasterisasi, harus setidaknya 600 piksel di setiap sisi, semua titik harus ada di kanvas, dan setidaknya 75% dari batas horizontal dan vertikal gambar harus digunakan untuk titik (ini untuk menghindari menjawab dengan satu piksel hitam yang mengatakan "sangat jauh diperbesar"). The x dan y axis harus pada skala yang sama (yang adalah garis dari (0,0) ke (1,1) harus berada pada sudut 45 derajat) dan setiap titik diplot pada game kekacauan harus diwakili sebagai tunggal pixel (jika metode plotting Anda anti-alias maksudnya, itu mungkin tersebar lebih dari 2x2 piksel).
Warna adalah pilihan Anda, tetapi Anda membutuhkan setidaknya dua warna yang dapat dibedakan: satu untuk latar belakang dan satu untuk titik-titik yang diplot selama permainan kekacauan. Anda mungkin tetapi tidak harus memplot poin input.
Harap sertakan tiga contoh output menarik dalam jawaban Anda.
Mencetak gol
Ini kode golf, jadi jawaban tersingkat (dalam byte) menang.
Sunting: Anda tidak perlu lagi memplot poin input, karena mereka sebenarnya tidak terlihat sebagai piksel tunggal.