Spirograf, hipotrokoidleri ve epitrokoidleri çizen bir oyuncaktır. Bu meydan okuma için, sadece hipotrokoidlere odaklanacağız.
Gönderen Vikipedi :
Bir hipotrokoid, R yarıçapının sabit bir dairesinin içinde yuvarlanan bir yarıçap r dairesine bağlı bir nokta tarafından izlenen bir rulettir , burada nokta iç çemberin merkezinden d uzaklığı d'dir .
Onlar için parametrik denklemler şu şekilde tanımlanabilir:
Burada θ , yuvarlanma çemberinin yatay ve merkezinin oluşturduğu açıdır.
Göreviniz, yukarıda tanımlanan noktadan izlenen yolu çizecek bir program yazmaktır. Girdi olarak, 1, 200 dahil tüm tamsayılara R , r ve d verilir .
Bu girdiyi stdin, bağımsız değişkenler veya kullanıcı girdisinden alabilirsiniz, ancak programa sabit olarak kodlanamaz. Sizin için en uygun olan formda kabul edebilirsiniz; dizeler, tamsayılar vb.
varsayalım:
- Giriş birimleri piksel olarak verilmiştir.
- R > = r
Çıktı, girdi tarafından tanımlanan hipotrokoidin grafiksel bir temsili olmalıdır. ASCII veya başka bir metin tabanlı çıktıya izin verilmez. Bu görüntü bir dosyaya kaydedilebilir veya ekranda görüntülenebilir. Seçtiğiniz bir girdi için çıktının bir ekran görüntüsünü veya görüntüsünü ekleyin.
Kontrast kısıtlamasına tabi olarak, yol / arka plan için istediğiniz renkleri seçebilirsiniz. İki renk, ölçeğin en az yarısında HSV 'Değer' bileşenine sahip olmalıdır. Örneğin, HSV'yi ölçüyorsanız [0...1]
, en azından 0.5
fark olmalıdır . Arasında [0...255]
minimum bir 128
fark olmalı .
Bu bir kod golf, bayt cinsinden minimum kaynak kodu boyutu kazanır.
R>=r
, ancak d
bununla sınırlı değildir r
ve 1-200 aralığında herhangi bir yerde olabilir.
R=200, r=1, d=200
. İsterseniz görüntüyü girdiye göre boyutlandırabilir veya görünebilir olduğu sürece sabit bir boyutta tutabilirsiniz.
R > r
yaR ≥ r
? (Aynı içinr
ved
.)