我目前正在研究麻省理工学院6.006课程的在线课程材料。我在问题集2上(找到了here),有一个关于koch雪花问题(问题1)的渐近渲染时间的计算的问题。在
结果表明,当CPU负责绘制和坐标计算时,渐进绘制时间比CPU和GPU分开绘制要快。数学对我来说是有道理的,但是有人有直觉知道为什么这是真的吗?在
在我看来,CPU仍然需要计算坐标来渲染雪花(θ(4^n)时间),然后才能渲染图像。在我看来,这些应该是加法,而不是乘法。在
然而,解决方案指出这些是乘法的,因此,由于每个三角形/线段都较短(对于问题1中的最后两个子问题),运行时间被缩减为θ((4/3)^n)或θ(1)!在
我不是计算机科学家--这对我来说只是个有趣的爱好。我真的很感谢你们这些天才的回答:)
另外,我在玩python-turtle模块时也有一些乐趣。下面是一些在python中绘制koch雪花的非常不完美的代码: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)