我目前正在通過MIT 6.006課程的在線課程材料獲得樂趣。我在問題集#2(找到了here),並對koch雪花問題(問題#1)漸近渲染時間的計算有疑問。Koch雪花渲染時間(以及如何使用龜繪製雪花)
根據這些解決方案,當CPU負責渲染和座標計算時,漸進渲染時間比CPU和GPU之間的分離過程更快。數學對我來說是有道理的,但是有沒有人對此有直覺?
在我看來,CPU仍然需要計算渲染雪花(Theta(4^n)時間)的座標,然後必須渲染圖像。在我看來,這些應該是加法的,而不是乘法的。因爲每個三角形/線段較短(對於問題1中的最後兩個子問題),所以運行時間減少爲Theta((4/3)^ n)或Theta (1)!
我不是計算機科學家 - 這個東西對我來說只是一個有趣的愛好。我真的很感謝你的一個回答你的天才之一:)
另外,我玩了一些python烏龜模塊的樂趣。下面有一些非常不完美的代碼來繪製一個Koch雪花在python:
import turtle
def snowflake(n,size=200):
try: turtle.clear()
except: pass
turtle.tracer(0,0)
snowflake_edge(n,size)
turtle.right(120)
snowflake_edge(n,size)
turtle.right(120)
snowflake_edge(n,size)
turtle.update()
turtle.hideturtle()
def snowflake_edge(n,size=200):
if n==0:
turtle.forward(size)
else:
snowflake_edge(n-1,size/3.0)
turtle.left(60)
snowflake_edge(n-1,size/3.0)
turtle.right(120)
snowflake_edge(n-1,size/3.0)
turtle.left(60)
snowflake_edge(n-1,size/3.0)
我把你的代碼和相當多的修改與我的一些補充,我可以發佈CodeReview問題與我的版本? (我會給你歸屬) – Caridorc
當然可以!我不在乎 – lstbl
你可以看到我的這段代碼的版本(起初是基於你的) - > http://codereview.stackexchange.com/questions/115453/koch-snowflake-in-python-with-turtle it結果需要相當多的代碼來製作動畫,就像我想要的那樣。 – Caridorc