Tavan penceremden komşumun bahçesine bakıyorum. Avlunun ortasındaki bir direk için zincirlenmiş köpekleri var. Köpek bahçenin etrafında koşar ama her zaman zincirinin ucundadır, bu yüzden kir içinde bir iz bırakarak sona erer. Normalde bu iz mükemmel bir şekilde dairesel olur, ancak komşumların bahçelerinde köpeğin zincirinin tuttuğu başka kutuplar vardır. Köpekler zinciri bir direğe her çarptığında, köpek yarıçapı olarak kalan zincir uzunluğu ile yeni direğin etrafında dönmeye başlar. Kutuplar, köpek ve zincirin hepsi sıfır genişliğe sahip olduğundan (komşularım matematikçilerdir) zincir, dairenin yarıçapı yarıçapı olmadan süresiz olarak bir kutup etrafına sarılabilir. Zincir yolunda ise köpek aynı zamanda zincirden (sadece yakasından değil) geçebilir. Bu tuhaflığı bir süre gözlemledikten sonra komşumun köpeğini simüle etmek için bazı kodlar yazacağım. Kod, köpeğin bağlandığı bir orta direğin konumlarını, komşu bahçemdeki diğer kutupların yerlerini, zincirin uzunluğunu ve köpeğin başlangıç konumunu alacaktır ve köpeğin çimleri yıprattığı yol. Aşağıdakilerden herhangi birinin bir kombinasyonunun sabit olduğunu varsayabilir (ve bu nedenle bunları girdi olarak almazsınız):
Köpeğin bağlandığı direğin yeri
Zincirinin uzunluğu
Köpeğin başlangıç yeri
Güneş doğuyor, bu yüzden pencerenin aydınlattığı çatı katımın katındaki alan küçülüyor, kodumu yazmak için bana daha az ve daha az yer veriyor. Lütfen, kodunuzun bayt sayısını en aza indirmeye çalışın, böylece çatı katımın üzerinde taslak oluşturacak yerim olsun
Test durumları
Burada, köpeğin, bulunduğu direğin (kırmızı nokta) hangi direkten 3 birim güneyde başladığını tahmin ediyorum 0,0
. Kutupların netlik için noktalarla nerede olduklarını belirttim, çıktılarınıza dahil etmenize gerek yok.
Poles at 1,2 -1,2
Poles at 0,.5
Poles at 0,1 1,1 -2,1 -1,-.5
Poles at 0,1 1,1
{0,.5}
büyük daire olmadan dikey olarak döndürülmüş çıktı . Köpek esas olarak ikinci direğe takılmaya başlar.
{0,-.5}
?