Let senaryosu bir işlev f (x) = sin (πx) + 0.5 sin (3πx) etki alanında [-3,3] . Bunu bir tahtada yatan gevşek bir dize olarak yorumlayabiliriz. Şimdi n nü tahtaya sürelim (x 1 , y 1 ) ila (x n , y n ) , burada x i ∈ (-3,3) ve y i y [-1,1] . İpin sonunda, (-3,0) ve (3,0) konumlarında iki halka bulunduğunu düşünün.. Şimdi ipin uçlarını alabilir ve ip gergin oluncaya kadar deliklerden geçirebiliriz. Bu, grafiğimizi parçalı bir lineer fonksiyona dönüştürecektir.
Bazı resimler yardımcı olabilir. (-2.8, -0.7), (-2.5, -0.9), (-1.2, .2), (-0.5, .8), (0.5, .4), (1.2, -0.9) 'da 8 çivi alın , (1.5, -6.6), (1.8, -0.8) . Aşağıdaki üç grafik yukarıda açıklanan süreci göstermektedir:
Daha büyük sürüm için: Sağ tıklayın -> Yeni sekmede aç
Ve işte görselleştirmede biraz zorluk çekiyorsanız, dizgenin sıkılaştırılmasının bir animasyonu:
Meydan okuma
Bir "tırnakların" listesi (verilen sıralamaya dahil değildir) verildiğinde, yukarıdaki f işlevinin şeklinden başlıyorsa, bu tırnakları ve gergin ipi çizin .
Bir program veya fonksiyon yazabilir ve STDIN, ARGV veya fonksiyon argümanı ile giriş yapabilirsiniz. Sonucu ekranda görüntüleyebilir veya görüntüyü bir dosyaya kaydedebilirsiniz.
Sonuç rasterleştirilirse, en az 300 piksel genişliğinde ve 100 piksel yüksekliğinde olması gerekir. Koordinat aralığı (-3, -1.1) ila (3,1.1), görüntünün yatay ve dikey boyutunun en az% 75'ini kapsamalıdır. X ve y'nin uzunluk ölçekleri aynı olmak zorunda değildir. Çivileri (en az 3x3 piksel kullanarak) ve dizeyi (en az 1 piksel genişliğinde) göstermeniz gerekir. Eksenleri içerebilir veya içermeyebilirsiniz.
Renkler sizin seçiminiz, ancak en az iki ayırt edici renge ihtiyacınız var: biri arka plan, diğeri çivi ve dize için (bunlar farklı renklere sahip olabilir).
Tüm tırnakların f'den en az 10-5 birim uzakta olduğunu varsayabilir (böylece kayan noktaların yanlışlığı hakkında endişelenmenize gerek kalmaz).
Bu kod golf, yani en kısa cevap (bayt cinsinden) kazanır.
Daha fazla örnek
İşte iki tane daha (daha basit) örnek:
{{-2.5, 1}, {-1.5, -1}, {-0.5, 1}, {0.5, -1}, {1.5, 1}, {2.5, -1}}
(Dize x- ekseni ile çakışmaktadır .)
{{-2.7, -0.5}, {-2.3, -0.5}, {-1.7, 0.5}, {-1.3, 0.5}, {-0.7, -0.5}, {-0.3, -0.5}, {0.5, 1}, {1.5, -1}, {2.5, 1}}