4
我目前卡住了試圖計算dreamcatcher及其內圈。基本上你有一個給定半徑爲x
的外部圓,你需要計算它的周長。那麼你將不得不計算一個魔法值,即每個弓(在圖像中的數字)應該是多寬,它應該導致弓不會在起點完成,但與第一個弓重疊約半個弓。python:計算dreamcatcher的步驟
這裏是我試過至今:
import math
# in cm
rad = 5.0
perimeter = round(rad * 2.0 * math.pi, 2)
print "perimeter == %f" % perimeter
#bow = "?"
incValue = 0.00001
start = incValue
end = perimeter
while start < end/10:
tmp = start * 10
while tmp < perimeter:
tmp += start
if tmp - perimeter == start/2:
print "bow could be %s" % str(tmp)
start += incValue
print "done"
,但我沒能找到一個適合該限制值。
我認爲'如果tmp - perimeter == start/2'有問題,因爲浮點數很少比較相等。你可能需要實現某種'very_nearly_equals(a,b)',當'abs(a-b)
Kevin
你能證明你的意思是寬廣的每一個弓嗎? – Kasramvd
@Kasra是否足夠說「每個弓的寬度」等於(例如在圖片中)Erste Umschlingung和2的距離? – Zaiborg