Spirograph adalah mainan yang menggambar hipotrokoid dan epitrokoid. Untuk tantangan ini, kami hanya akan fokus pada hypotrochoids.
Dari Wikipedia :
Hipotrokoid adalah roulette yang dilacak oleh titik yang melekat pada lingkaran jari-jari r yang berputar di dalam lingkaran tetap jari-jari R , di mana titik tersebut adalah jarak d dari pusat lingkaran dalam.
Persamaan parametrik untuk mereka dapat didefinisikan sebagai:


Di mana θ adalah sudut yang dibentuk oleh horizontal dan pusat lingkaran bergulir.
Tugas Anda adalah menulis program yang akan menggambar jalur yang dilacak oleh titik yang ditentukan di atas. Sebagai masukan, Anda akan diberikan R , r , dan d , semua bilangan bulat antara 1 dan 200 inklusif.
Anda dapat menerima input ini dari stdin, argumen, atau input pengguna, tetapi tidak dapat di-hardcode ke dalam program. Anda dapat menerimanya dalam bentuk apa pun yang paling nyaman bagi Anda; sebagai string, integer, dll.
Menganggap:
- Unit input diberikan dalam piksel.
- R > = r
Keluaran harus berupa representasi grafis dari hipotrokoid yang didefinisikan oleh input. ASCII- atau output berbasis teks lainnya tidak diizinkan. Gambar ini dapat disimpan ke file atau ditampilkan di layar. Sertakan tangkapan layar atau gambar output untuk input pilihan Anda.
Anda dapat memilih warna apa pun yang Anda suka untuk jalur / latar belakang, tunduk pada batasan kontras. Kedua warna harus memiliki komponen 'Nilai' HSV setidaknya setengah skala terpisah. Misalnya, jika Anda mengukur HSV dari [0...1], harus ada setidaknya 0.5perbedaan. Antara [0...255]harus ada 128perbedaan minimum .
Ini adalah kode golf, ukuran minimum kode sumber dalam byte yang menang.
R>=r, tetapi dtidak dibatasi r, dan bisa di mana saja dalam kisaran 1-200.
R=200, r=1, d=200. Anda dapat mengubah ukuran gambar ke input jika Anda mau, atau menyimpannya pada ukuran yang konstan, selama semuanya terlihat.




















R > ratauR ≥ r? (Sama untukrdand.)